UNPKG

11 kBJavaScriptView Raw
1"use strict";
2var _a;
3Object.defineProperty(exports, "__esModule", { value: true });
4exports.AppMeshProxyConfiguration = void 0;
5const jsiiDeprecationWarnings = require("../../.warnings.jsii.js");
6const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
7const proxy_configuration_1 = require("./proxy-configuration");
8/**
9 * The class for App Mesh proxy configurations.
10 *
11 * For tasks using the EC2 launch type, the container instances require at least version 1.26.0 of the container agent and at least version
12 * 1.26.0-1 of the ecs-init package to enable a proxy configuration. If your container instances are launched from the Amazon ECS-optimized
13 * AMI version 20190301 or later, then they contain the required versions of the container agent and ecs-init.
14 * For more information, see [Amazon ECS-optimized AMIs](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html).
15 *
16 * For tasks using the Fargate launch type, the task or service requires platform version 1.3.0 or later.
17 */
18class AppMeshProxyConfiguration extends proxy_configuration_1.ProxyConfiguration {
19 /**
20 * Constructs a new instance of the AppMeshProxyConfiguration class.
21 */
22 constructor(props) {
23 super();
24 this.props = props;
25 try {
26 jsiiDeprecationWarnings._aws_cdk_aws_ecs_AppMeshProxyConfigurationConfigProps(props);
27 }
28 catch (error) {
29 if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
30 Error.captureStackTrace(error, this.constructor);
31 }
32 throw error;
33 }
34 if (props.properties) {
35 if (!props.properties.ignoredUID && !props.properties.ignoredGID) {
36 throw new Error('At least one of ignoredUID or ignoredGID should be specified.');
37 }
38 }
39 }
40 /**
41 * Called when the proxy configuration is configured on a task definition.
42 */
43 bind(_scope, _taskDefinition) {
44 try {
45 jsiiDeprecationWarnings._aws_cdk_aws_ecs_TaskDefinition(_taskDefinition);
46 }
47 catch (error) {
48 if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
49 Error.captureStackTrace(error, this.bind);
50 }
51 throw error;
52 }
53 const configProps = this.props.properties;
54 const configType = 'APPMESH';
55 return {
56 containerName: this.props.containerName,
57 proxyConfigurationProperties: renderProperties(configProps),
58 type: configType,
59 };
60 }
61}
62exports.AppMeshProxyConfiguration = AppMeshProxyConfiguration;
63_a = JSII_RTTI_SYMBOL_1;
64AppMeshProxyConfiguration[_a] = { fqn: "@aws-cdk/aws-ecs.AppMeshProxyConfiguration", version: "1.156.1" };
65function renderProperties(props) {
66 const ret = new Array();
67 for (const [k, v] of Object.entries(props)) {
68 const key = String(k);
69 const value = String(v);
70 if (value !== 'undefined' && value !== '') {
71 const capitalizedKey = key.charAt(0).toUpperCase() + key.slice(1);
72 ret.push({ ['name']: capitalizedKey, ['value']: value });
73 }
74 }
75 return ret;
76}
77//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLW1lc2gtcHJveHktY29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImFwcC1tZXNoLXByb3h5LWNvbmZpZ3VyYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRUEsK0RBQTJEO0FBZ0UzRDs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFhLHlCQUEwQixTQUFRLHdDQUFrQjtJQUMvRDs7T0FFRztJQUNILFlBQTZCLEtBQTJDO1FBQ3RFLEtBQUssRUFBRSxDQUFDO1FBRG1CLFVBQUssR0FBTCxLQUFLLENBQXNDOzs7Ozs7Ozs7O1FBRXRFLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRTtZQUNwQixJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxVQUFVLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRTtnQkFDaEUsTUFBTSxJQUFJLEtBQUssQ0FBQywrREFBK0QsQ0FBQyxDQUFDO2FBQ2xGO1NBQ0Y7S0FDRjtJQUVEOztPQUVHO0lBQ0ksSUFBSSxDQUFDLE1BQXFCLEVBQUUsZUFBK0I7Ozs7Ozs7Ozs7UUFDaEUsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUM7UUFDMUMsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDO1FBQzdCLE9BQU87WUFDTCxhQUFhLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhO1lBQ3ZDLDRCQUE0QixFQUFFLGdCQUFnQixDQUFDLFdBQVcsQ0FBQztZQUMzRCxJQUFJLEVBQUUsVUFBVTtTQUNqQixDQUFDO0tBQ0g7O0FBeEJILDhEQXlCQzs7O0FBRUQsU0FBUyxnQkFBZ0IsQ0FBQyxLQUFxQztJQUM3RCxNQUFNLEdBQUcsR0FBRyxJQUFJLEtBQUssRUFBMEMsQ0FBQztJQUNoRSxLQUFLLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUMxQyxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEIsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hCLElBQUksS0FBSyxLQUFLLFdBQVcsSUFBSSxLQUFLLEtBQUssRUFBRSxFQUFFO1lBQ3pDLE1BQU0sY0FBYyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNsRSxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxjQUFjLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1NBQzFEO0tBQ0Y7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUYXNrRGVmaW5pdGlvbiB9IGZyb20gJy4uL2Jhc2UvdGFzay1kZWZpbml0aW9uJztcbmltcG9ydCB7IENmblRhc2tEZWZpbml0aW9uIH0gZnJvbSAnLi4vZWNzLmdlbmVyYXRlZCc7XG5pbXBvcnQgeyBQcm94eUNvbmZpZ3VyYXRpb24gfSBmcm9tICcuL3Byb3h5LWNvbmZpZ3VyYXRpb24nO1xuXG4vLyB2MiAtIGtlZXAgdGhpcyBpbXBvcnQgYXMgYSBzZXBhcmF0ZSBzZWN0aW9uIHRvIHJlZHVjZSBtZXJnZSBjb25mbGljdCB3aGVuIGZvcndhcmQgbWVyZ2luZyB3aXRoIHRoZSB2MiBicmFuY2guXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbmltcG9ydCB7IENvbnN0cnVjdCBhcyBDb3JlQ29uc3RydWN0IH0gZnJvbSAnQGF3cy1jZGsvY29yZSc7XG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBzZXR0aW5nIHRoZSBwcm9wZXJ0aWVzIG9mIHByb3h5IGNvbmZpZ3VyYXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXBwTWVzaFByb3h5Q29uZmlndXJhdGlvblByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSB1c2VyIElEIChVSUQpIG9mIHRoZSBwcm94eSBjb250YWluZXIgYXMgZGVmaW5lZCBieSB0aGUgdXNlciBwYXJhbWV0ZXIgaW4gYSBjb250YWluZXIgZGVmaW5pdGlvbi5cbiAgICogVGhpcyBpcyB1c2VkIHRvIGVuc3VyZSB0aGUgcHJveHkgaWdub3JlcyBpdHMgb3duIHRyYWZmaWMuIElmIElnbm9yZWRHSUQgaXMgc3BlY2lmaWVkLCB0aGlzIGZpZWxkIGNhbiBiZSBlbXB0eS5cbiAgICovXG4gIHJlYWRvbmx5IGlnbm9yZWRVSUQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBncm91cCBJRCAoR0lEKSBvZiB0aGUgcHJveHkgY29udGFpbmVyIGFzIGRlZmluZWQgYnkgdGhlIHVzZXIgcGFyYW1ldGVyIGluIGEgY29udGFpbmVyIGRlZmluaXRpb24uXG4gICAqIFRoaXMgaXMgdXNlZCB0byBlbnN1cmUgdGhlIHByb3h5IGlnbm9yZXMgaXRzIG93biB0cmFmZmljLiBJZiBJZ25vcmVkVUlEIGlzIHNwZWNpZmllZCwgdGhpcyBmaWVsZCBjYW4gYmUgZW1wdHkuXG4gICAqL1xuICByZWFkb25seSBpZ25vcmVkR0lEPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgbGlzdCBvZiBwb3J0cyB0aGF0IHRoZSBhcHBsaWNhdGlvbiB1c2VzLlxuICAgKiBOZXR3b3JrIHRyYWZmaWMgdG8gdGhlc2UgcG9ydHMgaXMgZm9yd2FyZGVkIHRvIHRoZSBQcm94eUluZ3Jlc3NQb3J0IGFuZCBQcm94eUVncmVzc1BvcnQuXG4gICAqL1xuICByZWFkb25seSBhcHBQb3J0czogbnVtYmVyW107XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgcG9ydCB0aGF0IGluY29taW5nIHRyYWZmaWMgdG8gdGhlIEFwcFBvcnRzIGlzIGRpcmVjdGVkIHRvLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJveHlJbmdyZXNzUG9ydDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIHBvcnQgdGhhdCBvdXRnb2luZyB0cmFmZmljIGZyb20gdGhlIEFwcFBvcnRzIGlzIGRpcmVjdGVkIHRvLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJveHlFZ3Jlc3NQb3J0OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBlZ3Jlc3MgdHJhZmZpYyBnb2luZyB0byB0aGVzZSBzcGVjaWZpZWQgcG9ydHMgaXMgaWdub3JlZCBhbmQgbm90IHJlZGlyZWN0ZWQgdG8gdGhlIFByb3h5RWdyZXNzUG9ydC4gSXQgY2FuIGJlIGFuIGVtcHR5IGxpc3QuXG4gICAqL1xuICByZWFkb25seSBlZ3Jlc3NJZ25vcmVkUG9ydHM/OiBudW1iZXJbXTtcblxuICAvKipcbiAgICogVGhlIGVncmVzcyB0cmFmZmljIGdvaW5nIHRvIHRoZXNlIHNwZWNpZmllZCBJUCBhZGRyZXNzZXMgaXMgaWdub3JlZCBhbmQgbm90IHJlZGlyZWN0ZWQgdG8gdGhlIFByb3h5RWdyZXNzUG9ydC4gSXQgY2FuIGJlIGFuIGVtcHR5IGxpc3QuXG4gICAqL1xuICByZWFkb25seSBlZ3Jlc3NJZ25vcmVkSVBzPzogc3RyaW5nW107XG59XG5cbi8qKlxuICogVGhlIGNvbmZpZ3VyYXRpb24gdG8gdXNlIHdoZW4gc2V0dGluZyBhbiBBcHAgTWVzaCBwcm94eSBjb25maWd1cmF0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFwcE1lc2hQcm94eUNvbmZpZ3VyYXRpb25Db25maWdQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgY29udGFpbmVyIHRoYXQgd2lsbCBzZXJ2ZSBhcyB0aGUgQXBwIE1lc2ggcHJveHkuXG4gICAqL1xuICByZWFkb25seSBjb250YWluZXJOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzZXQgb2YgbmV0d29yayBjb25maWd1cmF0aW9uIHBhcmFtZXRlcnMgdG8gcHJvdmlkZSB0aGUgQ29udGFpbmVyIE5ldHdvcmsgSW50ZXJmYWNlIChDTkkpIHBsdWdpbi5cbiAgICovXG4gIHJlYWRvbmx5IHByb3BlcnRpZXM6IEFwcE1lc2hQcm94eUNvbmZpZ3VyYXRpb25Qcm9wcztcbn1cblxuLyoqXG4gKiBUaGUgY2xhc3MgZm9yIEFwcCBNZXNoIHByb3h5IGNvbmZpZ3VyYXRpb25zLlxuICpcbiAqIEZvciB0YXNrcyB1c2luZyB0aGUgRUMyIGxhdW5jaCB0eXBlLCB0aGUgY29udGFpbmVyIGluc3RhbmNlcyByZXF1aXJlIGF0IGxlYXN0IHZlcnNpb24gMS4yNi4wIG9mIHRoZSBjb250YWluZXIgYWdlbnQgYW5kIGF0IGxlYXN0IHZlcnNpb25cbiAqIDEuMjYuMC0xIG9mIHRoZSBlY3MtaW5pdCBwYWNrYWdlIHRvIGVuYWJsZSBhIHByb3h5IGNvbmZpZ3VyYXRpb24uIElmIHlvdXIgY29udGFpbmVyIGluc3RhbmNlcyBhcmUgbGF1bmNoZWQgZnJvbSB0aGUgQW1hem9uIEVDUy1vcHRpbWl6ZWRcbiAqIEFNSSB2ZXJzaW9uIDIwMTkwMzAxIG9yIGxhdGVyLCB0aGVuIHRoZXkgY29udGFpbiB0aGUgcmVxdWlyZWQgdmVyc2lvbnMgb2YgdGhlIGNvbnRhaW5lciBhZ2VudCBhbmQgZWNzLWluaXQuXG4gKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIFtBbWF6b24gRUNTLW9wdGltaXplZCBBTUlzXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uRUNTL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9lY3Mtb3B0aW1pemVkX0FNSS5odG1sKS5cbiAqXG4gKiBGb3IgdGFza3MgdXNpbmcgdGhlIEZhcmdhdGUgbGF1bmNoIHR5cGUsIHRoZSB0YXNrIG9yIHNlcnZpY2UgcmVxdWlyZXMgcGxhdGZvcm0gdmVyc2lvbiAxLjMuMCBvciBsYXRlci5cbiAqL1xuZXhwb3J0IGNsYXNzIEFwcE1lc2hQcm94eUNvbmZpZ3VyYXRpb24gZXh0ZW5kcyBQcm94eUNvbmZpZ3VyYXRpb24ge1xuICAvKipcbiAgICogQ29uc3RydWN0cyBhIG5ldyBpbnN0YW5jZSBvZiB0aGUgQXBwTWVzaFByb3h5Q29uZmlndXJhdGlvbiBjbGFzcy5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcHJvcHM6IEFwcE1lc2hQcm94eUNvbmZpZ3VyYXRpb25Db25maWdQcm9wcykge1xuICAgIHN1cGVyKCk7XG4gICAgaWYgKHByb3BzLnByb3BlcnRpZXMpIHtcbiAgICAgIGlmICghcHJvcHMucHJvcGVydGllcy5pZ25vcmVkVUlEICYmICFwcm9wcy5wcm9wZXJ0aWVzLmlnbm9yZWRHSUQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdBdCBsZWFzdCBvbmUgb2YgaWdub3JlZFVJRCBvciBpZ25vcmVkR0lEIHNob3VsZCBiZSBzcGVjaWZpZWQuJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBwcm94eSBjb25maWd1cmF0aW9uIGlzIGNvbmZpZ3VyZWQgb24gYSB0YXNrIGRlZmluaXRpb24uXG4gICAqL1xuICBwdWJsaWMgYmluZChfc2NvcGU6IENvcmVDb25zdHJ1Y3QsIF90YXNrRGVmaW5pdGlvbjogVGFza0RlZmluaXRpb24pOiBDZm5UYXNrRGVmaW5pdGlvbi5Qcm94eUNvbmZpZ3VyYXRpb25Qcm9wZXJ0eSB7XG4gICAgY29uc3QgY29uZmlnUHJvcHMgPSB0aGlzLnByb3BzLnByb3BlcnRpZXM7XG4gICAgY29uc3QgY29uZmlnVHlwZSA9ICdBUFBNRVNIJztcbiAgICByZXR1cm4ge1xuICAgICAgY29udGFpbmVyTmFtZTogdGhpcy5wcm9wcy5jb250YWluZXJOYW1lLFxuICAgICAgcHJveHlDb25maWd1cmF0aW9uUHJvcGVydGllczogcmVuZGVyUHJvcGVydGllcyhjb25maWdQcm9wcyksXG4gICAgICB0eXBlOiBjb25maWdUeXBlLFxuICAgIH07XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVuZGVyUHJvcGVydGllcyhwcm9wczogQXBwTWVzaFByb3h5Q29uZmlndXJhdGlvblByb3BzKTogQ2ZuVGFza0RlZmluaXRpb24uS2V5VmFsdWVQYWlyUHJvcGVydHlbXSB7XG4gIGNvbnN0IHJldCA9IG5ldyBBcnJheTxDZm5UYXNrRGVmaW5pdGlvbi5LZXlWYWx1ZVBhaXJQcm9wZXJ0eT4oKTtcbiAgZm9yIChjb25zdCBbaywgdl0gb2YgT2JqZWN0LmVudHJpZXMocHJvcHMpKSB7XG4gICAgY29uc3Qga2V5ID0gU3RyaW5nKGspO1xuICAgIGNvbnN0IHZhbHVlID0gU3RyaW5nKHYpO1xuICAgIGlmICh2YWx1ZSAhPT0gJ3VuZGVmaW5lZCcgJiYgdmFsdWUgIT09ICcnKSB7XG4gICAgICBjb25zdCBjYXBpdGFsaXplZEtleSA9IGtleS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIGtleS5zbGljZSgxKTtcbiAgICAgIHJldC5wdXNoKHsgWyduYW1lJ106IGNhcGl0YWxpemVkS2V5LCBbJ3ZhbHVlJ106IHZhbHVlIH0pO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmV0O1xufSJdfQ==
\No newline at end of file