@studion/infra-code-blocks 2.0.0-alpha.2 → 2.0.0-alpha.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -12,7 +12,6 @@ export declare namespace Ec2SSMConnect {
12
12
  }
13
13
  export declare class Ec2SSMConnect extends pulumi.ComponentResource {
14
14
  name: string;
15
- vpc: pulumi.Output<awsx.ec2.Vpc>;
16
15
  ec2SecurityGroup: aws.ec2.SecurityGroup;
17
16
  role: aws.iam.Role;
18
17
  ssmProfile: aws.iam.InstanceProfile;
@@ -1 +1 @@
1
- {"version":3,"file":"ec2-ssm-connect.d.ts","sourceRoot":"","sources":["../../../src/components/database/ec2-ssm-connect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AACnC,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AACrC,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAOzC,yBAAiB,aAAa,CAAC;IAC7B,KAAY,IAAI,GAAG;QACjB,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChC,YAAY,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC;YAClB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SACrC,CAAC,CAAC;KACJ,CAAC;CACH;AAMD,qBAAa,aAAc,SAAQ,MAAM,CAAC,iBAAiB;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjC,gBAAgB,EAAE,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC;IACxC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;IACnB,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC;IACpC,cAAc,EAAE,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC;IACpC,sBAAsB,EAAE,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC;IAC5C,sBAAsB,EAAE,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC;IAC5C,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAGvC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,aAAa,CAAC,IAAI,EACxB,IAAI,GAAE,MAAM,CAAC,wBAA6B;CAoK7C"}
1
+ {"version":3,"file":"ec2-ssm-connect.d.ts","sourceRoot":"","sources":["../../../src/components/database/ec2-ssm-connect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AACnC,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AACrC,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAOzC,yBAAiB,aAAa,CAAC;IAC7B,KAAY,IAAI,GAAG;QACjB,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChC,YAAY,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC;YAClB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SACrC,CAAC,CAAC;KACJ,CAAC;CACH;AAMD,qBAAa,aAAc,SAAQ,MAAM,CAAC,iBAAiB;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC;IACxC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;IACnB,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC;IACpC,cAAc,EAAE,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC;IACpC,sBAAsB,EAAE,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC;IAC5C,sBAAsB,EAAE,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC;IAC5C,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAGvC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,aAAa,CAAC,IAAI,EACxB,IAAI,GAAE,MAAM,CAAC,wBAA6B;CAoK7C"}
@@ -18,8 +18,8 @@ class Ec2SSMConnect extends pulumi.ComponentResource {
18
18
  ] }));
19
19
  const { vpc, instanceType, tags } = (0, merge_with_defaults_1.mergeWithDefaults)(defaults, args);
20
20
  this.name = name;
21
- this.vpc = pulumi.output(vpc);
22
- const subnetId = this.vpc.privateSubnetIds.apply(ids => ids[0]);
21
+ const vpcOutput = pulumi.output(vpc);
22
+ const subnetId = vpcOutput.privateSubnetIds.apply(ids => ids[0]);
23
23
  this.ami = aws.ec2.getAmiOutput({
24
24
  filters: [
25
25
  { name: 'architecture', values: ['arm64'] },
@@ -37,19 +37,19 @@ class Ec2SSMConnect extends pulumi.ComponentResource {
37
37
  protocol: 'tcp',
38
38
  fromPort: 22,
39
39
  toPort: 22,
40
- cidrBlocks: [this.vpc.vpc.cidrBlock],
40
+ cidrBlocks: [vpcOutput.vpc.cidrBlock],
41
41
  },
42
42
  {
43
43
  protocol: 'tcp',
44
44
  fromPort: 443,
45
45
  toPort: 443,
46
- cidrBlocks: [this.vpc.vpc.cidrBlock],
46
+ cidrBlocks: [vpcOutput.vpc.cidrBlock],
47
47
  },
48
48
  ],
49
49
  egress: [
50
50
  { protocol: '-1', fromPort: 0, toPort: 0, cidrBlocks: ['0.0.0.0/0'] },
51
51
  ],
52
- vpcId: this.vpc.vpcId,
52
+ vpcId: vpcOutput.vpcId,
53
53
  tags: common_tags_1.commonTags,
54
54
  }, { parent: this });
55
55
  this.role = new aws.iam.Role(`${this.name}-ec2-role`, {
@@ -85,7 +85,7 @@ class Ec2SSMConnect extends pulumi.ComponentResource {
85
85
  tags: Object.assign(Object.assign(Object.assign({}, common_tags_1.commonTags), { Name: `${this.name}-ec2` }), tags),
86
86
  }, { parent: this });
87
87
  this.ssmVpcEndpoint = new aws.ec2.VpcEndpoint(`${this.name}-ssm-vpc-endpoint`, {
88
- vpcId: this.vpc.vpcId,
88
+ vpcId: vpcOutput.vpcId,
89
89
  ipAddressType: 'ipv4',
90
90
  serviceName: `com.amazonaws.${awsRegion}.ssm`,
91
91
  vpcEndpointType: 'Interface',
@@ -95,7 +95,7 @@ class Ec2SSMConnect extends pulumi.ComponentResource {
95
95
  tags: common_tags_1.commonTags,
96
96
  }, { parent: this, dependsOn: [this.ec2] });
97
97
  this.ec2MessagesVpcEndpoint = new aws.ec2.VpcEndpoint(`${this.name}-ec2messages-vpc-endpoint`, {
98
- vpcId: this.vpc.vpcId,
98
+ vpcId: vpcOutput.vpcId,
99
99
  ipAddressType: 'ipv4',
100
100
  serviceName: `com.amazonaws.${awsRegion}.ec2messages`,
101
101
  vpcEndpointType: 'Interface',
@@ -105,7 +105,7 @@ class Ec2SSMConnect extends pulumi.ComponentResource {
105
105
  tags: common_tags_1.commonTags,
106
106
  }, { parent: this, dependsOn: [this.ec2] });
107
107
  this.ssmMessagesVpcEndpoint = new aws.ec2.VpcEndpoint(`${this.name}-ssmmessages-vpc-endpoint`, {
108
- vpcId: this.vpc.vpcId,
108
+ vpcId: vpcOutput.vpcId,
109
109
  ipAddressType: 'ipv4',
110
110
  serviceName: `com.amazonaws.${awsRegion}.ssmmessages`,
111
111
  vpcEndpointType: 'Interface',
@@ -68,6 +68,11 @@ export declare namespace EcsService {
68
68
  containers: EcsService.Container[];
69
69
  loadBalancers?: pulumi.Input<LoadBalancerConfig[]>;
70
70
  volumes?: pulumi.Input<pulumi.Input<EcsService.PersistentStorageVolume>[]>;
71
+ /**
72
+ * Name to set for the ECS Service.
73
+ * @default ${this.name}
74
+ */
75
+ name?: pulumi.Input<string>;
71
76
  /**
72
77
  * Type of deployment controller to use.
73
78
  * @default "ECS"
@@ -78,6 +83,11 @@ export declare namespace EcsService {
78
83
  * @default 1
79
84
  */
80
85
  desiredCount?: pulumi.Input<number>;
86
+ /**
87
+ * Family for the task definition. Used for grouping of multiple versions.
88
+ * @default ${this.name}-task-definition-${stackName}
89
+ */
90
+ family?: pulumi.Input<string>;
81
91
  /**
82
92
  * CPU and memory size used for running the container.
83
93
  * Available predefined options are:
@@ -90,6 +100,11 @@ export declare namespace EcsService {
90
100
  * @default "small"
91
101
  */
92
102
  size?: pulumi.Input<TaskSize>;
103
+ /**
104
+ * Name prefix of the AWS CloudWatch log group.
105
+ * @default /ecs/${this.name}-
106
+ */
107
+ logGroupNamePrefix?: pulumi.Input<string>;
93
108
  /**
94
109
  * Custom service security group
95
110
  * In case no security group is provided, default security group will be automatically created.
@@ -150,7 +165,7 @@ export declare class EcsService extends pulumi.ComponentResource {
150
165
  private createContainerDefinition;
151
166
  private createTaskExecutionRole;
152
167
  private createTaskRole;
153
- addSecurityGroup(securityGroup: aws.ec2.SecurityGroup): void;
168
+ private addSecurityGroup;
154
169
  private createDefaultSecurityGroup;
155
170
  private createEcsService;
156
171
  private createServiceDiscovery;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ecs-service/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ecs-service/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AACnC,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AAIrC,OAAO,EAAE,QAAQ,EAAiB,MAAM,aAAa,CAAC;AAKtD,KAAK,iBAAiB,GAAG;IACvB,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC;IAC/B,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC;CAClC,CAAC;AAEF,yBAAiB,UAAU,CAAC;IAC1B;;;;;OAKG;IACH,KAAY,uBAAuB,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC;IAErE;;;;;;;OAOG;IACH,KAAY,2BAA2B,GAAG;QACxC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACnC,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpC,QAAQ,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;KAClC,CAAC;IAEF;;;OAGG;IACH,KAAY,SAAS,GAAG;QACtB,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3B,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5B,YAAY,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACjE,OAAO,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC/C,WAAW,CAAC,EAAE,2BAA2B,EAAE,CAAC;QAC5C,WAAW,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;QACnD,OAAO,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QACzC,SAAS,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC,CAAC;QACxD;;;;;;;WAOG;QACH,SAAS,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAClC,WAAW,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;KACjD,CAAC;IAEF,KAAY,IAAI,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC;IAE3D,KAAY,kBAAkB,GAAG;QAC/B,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpC,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpC,cAAc,EAAE,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;KAC3C,CAAC;IAEF,KAAY,gBAAgB,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAEpE,KAAY,IAAI,GAAG;QACjB,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChC,UAAU,EAAE,UAAU,CAAC,SAAS,EAAE,CAAC;QACnC,aAAa,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC;QACnD,OAAO,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;QAC3E;;;WAGG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5B;;;WAGG;QACH,oBAAoB,CAAC,EAAE,KAAK,GAAG,aAAa,GAAG,UAAU,CAAC;QAC1D;;;WAGG;QACH,YAAY,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpC;;;WAGG;QACH,MAAM,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9B;;;;;;;;;;WAUG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC9B;;;WAGG;QACH,kBAAkB,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1C;;;WAGG;QACH,aAAa,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACpD,cAAc,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvC,+BAA+B,CAAC,EAAE,MAAM,CAAC,KAAK,CAC5C,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,CACjC,CAAC;QACF,sBAAsB,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QACxE;;;;;WAKG;QACH,0BAA0B,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnD,WAAW,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC;YACzB;;;;eAIG;YACH,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC/B;;;;eAIG;YACH,QAAQ,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAChC;;;;eAIG;YACH,QAAQ,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SACjC,CAAC,CAAC;QACH;;WAEG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;KACtC,CAAC;CACH;AAkCD,qBAAa,UAAW,SAAQ,MAAM,CAAC,iBAAiB;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjC,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC;IAClC,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACtD,iBAAiB,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;IAChC,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;IACvB,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;IACvD,uBAAuB,CAAC,EAAE,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC;IACvD,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;gBAGpC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,UAAU,CAAC,IAAI,EACrB,IAAI,GAAE,MAAM,CAAC,wBAA6B;WA8D9B,oBAAoB,CAChC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GACzB,GAAG,CAAC,GAAG,CAAC,WAAW;IAQtB,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,oBAAoB;IAuC5B,OAAO,CAAC,2BAA2B;IAoBnC,OAAO,CAAC,yBAAyB;IA8BjC,OAAO,CAAC,uBAAuB;IAuC/B,OAAO,CAAC,cAAc;IAsCtB,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,0BAA0B;IA4BlC,OAAO,CAAC,gBAAgB;IA4CxB,OAAO,CAAC,sBAAsB;IAuB9B,OAAO,CAAC,yBAAyB;IAYjC,OAAO,CAAC,iBAAiB;IAsDzB,OAAO,CAAC,uBAAuB;CA8EhC"}
@@ -48,7 +48,7 @@ class EcsService extends pulumi.ComponentResource {
48
48
  this.name = name;
49
49
  this.securityGroups = [];
50
50
  this.vpc = pulumi.output(argsWithDefaults.vpc);
51
- this.logGroup = this.createLogGroup();
51
+ this.logGroup = this.createLogGroup(argsWithDefaults.logGroupNamePrefix);
52
52
  this.taskExecutionRole = this.createTaskExecutionRole(taskExecutionRoleInlinePolicies);
53
53
  this.taskRole = this.createTaskRole(taskRoleInlinePolicies);
54
54
  pulumi.output(argsWithDefaults.volumes).apply(volume => {
@@ -56,7 +56,7 @@ class EcsService extends pulumi.ComponentResource {
56
56
  this.persistentStorage = this.createPersistentStorage(this.vpc);
57
57
  }
58
58
  });
59
- this.taskDefinition = this.createTaskDefinition(argsWithDefaults.containers, pulumi.output(argsWithDefaults.volumes), this.taskExecutionRole, this.taskRole, argsWithDefaults.size, Object.assign(Object.assign({}, common_tags_1.commonTags), argsWithDefaults.tags));
59
+ this.taskDefinition = this.createTaskDefinition(argsWithDefaults.containers, pulumi.output(argsWithDefaults.volumes), this.taskExecutionRole, this.taskRole, argsWithDefaults.family, argsWithDefaults.size, Object.assign(Object.assign({}, common_tags_1.commonTags), argsWithDefaults.tags));
60
60
  if (argsWithDefaults.enableServiceAutoDiscovery) {
61
61
  this.serviceDiscoveryService = this.createServiceDiscovery();
62
62
  }
@@ -73,15 +73,15 @@ class EcsService extends pulumi.ComponentResource {
73
73
  protocol: 'tcp',
74
74
  };
75
75
  }
76
- createLogGroup() {
76
+ createLogGroup(namePrefix) {
77
77
  const logGroup = new aws.cloudwatch.LogGroup(`${this.name}-log-group`, {
78
78
  retentionInDays: 14,
79
- namePrefix: `/ecs/${this.name}-`,
79
+ namePrefix: namePrefix !== null && namePrefix !== void 0 ? namePrefix : `/ecs/${this.name}-`,
80
80
  tags: common_tags_1.commonTags,
81
81
  }, { parent: this });
82
82
  return logGroup;
83
83
  }
84
- createTaskDefinition(containers, volumes, taskExecutionRole, taskRole, size, tags) {
84
+ createTaskDefinition(containers, volumes, taskExecutionRole, taskRole, family, size, tags) {
85
85
  const stack = pulumi.getStack();
86
86
  const { cpu, memory } = pulumi.output(size).apply(task_size_1.parseTaskSize);
87
87
  const containerDefinitions = containers.map(container => {
@@ -90,7 +90,7 @@ class EcsService extends pulumi.ComponentResource {
90
90
  const taskDefinitionVolumes = this.createTaskDefinitionVolumes(volumes);
91
91
  return pulumi.all(containerDefinitions).apply(containerDefinitions => {
92
92
  return taskDefinitionVolumes.apply(volumes => {
93
- return new aws.ecs.TaskDefinition(`${this.name}-task-definition`, Object.assign(Object.assign({ family: `${this.name}-task-definition-${stack}`, networkMode: 'awsvpc', executionRoleArn: taskExecutionRole.arn, taskRoleArn: taskRole.arn, cpu,
93
+ return new aws.ecs.TaskDefinition(`${this.name}-task-definition`, Object.assign(Object.assign({ family: family !== null && family !== void 0 ? family : `${this.name}-task-definition-${stack}`, networkMode: 'awsvpc', executionRoleArn: taskExecutionRole.arn, taskRoleArn: taskRole.arn, cpu,
94
94
  memory, requiresCompatibilities: ['FARGATE'], containerDefinitions: JSON.stringify(containerDefinitions) }, ((volumes === null || volumes === void 0 ? void 0 : volumes.length) ? { volumes } : {})), { tags: Object.assign(Object.assign({}, common_tags_1.commonTags), tags) }), { parent: this });
95
95
  });
96
96
  });
@@ -221,8 +221,13 @@ class EcsService extends pulumi.ComponentResource {
221
221
  this.addSecurityGroup(securityGroup);
222
222
  }
223
223
  createEcsService(ecsServiceArgs) {
224
- if (!this.securityGroups.length)
224
+ var _a;
225
+ if (ecsServiceArgs.securityGroup) {
226
+ this.addSecurityGroup(ecsServiceArgs.securityGroup);
227
+ }
228
+ if (!this.securityGroups.length) {
225
229
  this.createDefaultSecurityGroup();
230
+ }
226
231
  const networkConfiguration = {
227
232
  assignPublicIp: ecsServiceArgs.assignPublicIp,
228
233
  subnets: ecsServiceArgs.assignPublicIp
@@ -232,7 +237,7 @@ class EcsService extends pulumi.ComponentResource {
232
237
  .all(this.securityGroups)
233
238
  .apply(groups => groups.map(it => it.id)),
234
239
  };
235
- return new aws.ecs.Service(`${this.name}-service`, Object.assign(Object.assign(Object.assign({ name: this.name, cluster: pulumi.output(ecsServiceArgs.cluster).id, launchType: 'FARGATE', deploymentController: { type: ecsServiceArgs.deploymentController }, desiredCount: ecsServiceArgs.desiredCount, taskDefinition: this.taskDefinition.arn, enableExecuteCommand: true, networkConfiguration }, (ecsServiceArgs.loadBalancers && {
240
+ return new aws.ecs.Service(`${this.name}-service`, Object.assign(Object.assign(Object.assign({ name: (_a = ecsServiceArgs.name) !== null && _a !== void 0 ? _a : this.name, cluster: pulumi.output(ecsServiceArgs.cluster).id, launchType: 'FARGATE', deploymentController: { type: ecsServiceArgs.deploymentController }, desiredCount: ecsServiceArgs.desiredCount, taskDefinition: this.taskDefinition.arn, enableExecuteCommand: true, networkConfiguration }, (ecsServiceArgs.loadBalancers && {
236
241
  loadBalancers: ecsServiceArgs.loadBalancers,
237
242
  })), (this.serviceDiscoveryService && {
238
243
  serviceRegistries: {
@@ -1,7 +1,7 @@
1
1
  import * as pulumi from '@pulumi/pulumi';
2
2
  export type TaskSize = {
3
- cpu: pulumi.Input<string>;
4
- memory: pulumi.Input<string>;
3
+ cpu: pulumi.Input<number>;
4
+ memory: pulumi.Input<number>;
5
5
  } | keyof typeof PredefinedSize;
6
6
  export declare function parseTaskSize(size: pulumi.UnwrappedObject<TaskSize>): {
7
7
  cpu: string;
@@ -1 +1 @@
1
- {"version":3,"file":"task-size.d.ts","sourceRoot":"","sources":["../../../src/components/ecs-service/task-size.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAEzC,MAAM,MAAM,QAAQ,GAChB;IACE,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;CAC9B,GACD,MAAM,OAAO,cAAc,CAAC;AAEhC,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG;IACrE,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB,CAQA;AAKD,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;CAyBV,CAAC"}
1
+ {"version":3,"file":"task-size.d.ts","sourceRoot":"","sources":["../../../src/components/ecs-service/task-size.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAEzC,MAAM,MAAM,QAAQ,GAChB;IACE,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;CAC9B,GACD,MAAM,OAAO,cAAc,CAAC;AAEhC,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG;IACrE,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB,CAWA;AAKD,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;CAyBV,CAAC"}
@@ -6,7 +6,10 @@ function parseTaskSize(size) {
6
6
  const { cpu, memory } = PredefinedSize[size];
7
7
  return { cpu: `${cpu}`, memory: `${memory}` };
8
8
  }
9
- return size;
9
+ return {
10
+ cpu: `${size.cpu}`,
11
+ memory: `${size.memory}`,
12
+ };
10
13
  }
11
14
  const CPU_1_VCPU = 1024;
12
15
  const MEMORY_1GB = 1024;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/vpc/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AAKrC,MAAM,MAAM,OAAO,GAAG;IACpB;;;OAGG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC;QAClB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KACrC,CAAC,CAAC;CACJ,CAAC;AAEF,eAAO,MAAM,QAAQ;;CAEpB,CAAC;AAEF,qBAAa,GAAI,SAAQ,MAAM,CAAC,iBAAiB;IAC/C,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;gBAGhB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,EACb,IAAI,GAAE,MAAM,CAAC,wBAA6B;CAyB7C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/vpc/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AAKrC,MAAM,MAAM,OAAO,GAAG;IACpB;;;OAGG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC;QAClB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KACrC,CAAC,CAAC;CACJ,CAAC;AAEF,eAAO,MAAM,QAAQ;;CAEpB,CAAC;AAEF,qBAAa,GAAI,SAAQ,MAAM,CAAC,iBAAiB;IAC/C,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;gBAGhB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,EACb,IAAI,GAAE,MAAM,CAAC,wBAA6B;CA4B7C"}
@@ -18,9 +18,12 @@ class Vpc extends pulumi.ComponentResource {
18
18
  enableDnsHostnames: true,
19
19
  enableDnsSupport: true,
20
20
  subnetStrategy: types_1.enums.ec2.SubnetAllocationStrategy.Auto,
21
+ // Switching from `Legacy` to `Auto` strategy changed ordering of the specs
22
+ // `Auto` is using the provided ordering, while `Legacy` enforced `Private`, `Public`, `Isolated` ordering
23
+ // Applying ordering to match one from `Legacy` to avoid breaking changes
21
24
  subnetSpecs: [
22
- { type: awsx.ec2.SubnetType.Public, cidrMask: 24 },
23
25
  { type: awsx.ec2.SubnetType.Private, cidrMask: 24 },
26
+ { type: awsx.ec2.SubnetType.Public, cidrMask: 24 },
24
27
  { type: awsx.ec2.SubnetType.Isolated, cidrMask: 24 },
25
28
  ],
26
29
  tags: Object.assign(Object.assign({}, common_tags_1.commonTags), argsWithDefaults.tags),
@@ -22,14 +22,14 @@ export declare class WebServerBuilder {
22
22
  private _sidecarContainers;
23
23
  private _volumes;
24
24
  constructor(name: string);
25
- configureWebServer(image: WebServer.Container['image'], port: WebServer.Container['port'], config?: Omit<WebServer.Container, 'image' | 'port'>): this;
26
- configureEcs(config: WebServerBuilder.EcsConfig): this;
25
+ withContainer(image: WebServer.Container['image'], port: WebServer.Container['port'], config?: Omit<WebServer.Container, 'image' | 'port'>): this;
26
+ withEcsConfig(config: WebServerBuilder.EcsConfig): this;
27
27
  withVpc(vpc: pulumi.Input<awsx.ec2.Vpc>): this;
28
28
  withVolume(volume: EcsService.PersistentStorageVolume): this;
29
29
  withCustomDomain(domain: pulumi.Input<string>, hostedZoneId: pulumi.Input<string>): this;
30
30
  withCertificate(certificate: WebServerBuilder.Args['certificate'], hostedZoneId: pulumi.Input<string>, domain?: pulumi.Input<string>): this;
31
- withInitContainer(container: WebServer.InitContainer): this;
32
- withSidecarContainer(container: WebServer.SidecarContainer): this;
31
+ addInitContainer(container: WebServer.InitContainer): this;
32
+ addSidecarContainer(container: WebServer.SidecarContainer): this;
33
33
  withOtelCollector(collector: OtelCollector): this;
34
34
  withCustomHealthCheckPath(path: WebServer.Args['healthCheckPath']): this;
35
35
  withLoadBalancingAlgorithm(algorithm: pulumi.Input<string>): this;
@@ -1 +1 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../src/components/web-server/builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAEzC,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,yBAAiB,gBAAgB,CAAC;IAChC,KAAY,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,GAAG,SAAS,CAAC,CAAC;IAErE,KAAY,IAAI,GAAG,IAAI,CACrB,SAAS,CAAC,IAAI,EACZ,KAAK,GACL,SAAS,GACT,SAAS,GACT,QAAQ,GACR,cAAc,GACd,qBAAqB,CACxB,CAAC;CACH;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,UAAU,CAAC,CAAsB;IACzC,OAAO,CAAC,IAAI,CAAC,CAA8B;IAC3C,OAAO,CAAC,UAAU,CAAC,CAA6B;IAChD,OAAO,CAAC,OAAO,CAAC,CAAuB;IACvC,OAAO,CAAC,aAAa,CAAC,CAAuB;IAC7C,OAAO,CAAC,YAAY,CAAC,CAAoC;IACzD,OAAO,CAAC,gBAAgB,CAAC,CAAuB;IAChD,OAAO,CAAC,2BAA2B,CAAC,CAAuB;IAC3D,OAAO,CAAC,cAAc,CAAC,CAA8B;IACrD,OAAO,CAAC,eAAe,CAA+C;IACtE,OAAO,CAAC,kBAAkB,CAAkD;IAC5E,OAAO,CAAC,QAAQ,CAA4C;gBAEhD,IAAI,EAAE,MAAM;IAIjB,kBAAkB,CACvB,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,EACnC,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,EACjC,MAAM,GAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,CAAM,GACvD,IAAI;IAUA,YAAY,CAAC,MAAM,EAAE,gBAAgB,CAAC,SAAS,GAAG,IAAI;IAetD,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI;IAM9C,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,uBAAuB,GAAG,IAAI;IAM5D,gBAAgB,CACrB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAC5B,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GACjC,IAAI;IAOA,eAAe,CACpB,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,EACjD,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAClC,MAAM,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAC5B,IAAI;IAQA,iBAAiB,CAAC,SAAS,EAAE,SAAS,CAAC,aAAa,GAAG,IAAI;IAM3D,oBAAoB,CAAC,SAAS,EAAE,SAAS,CAAC,gBAAgB,GAAG,IAAI;IAMjE,iBAAiB,CAAC,SAAS,EAAE,aAAa,GAAG,IAAI;IAMjD,yBAAyB,CAC9B,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,GACtC,IAAI;IAMA,0BAA0B,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;IAM1D,KAAK,CAAC,IAAI,GAAE,MAAM,CAAC,wBAA6B,GAAG,SAAS;CAoCpE"}
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../src/components/web-server/builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAEzC,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,yBAAiB,gBAAgB,CAAC;IAChC,KAAY,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,GAAG,SAAS,CAAC,CAAC;IAErE,KAAY,IAAI,GAAG,IAAI,CACrB,SAAS,CAAC,IAAI,EACZ,KAAK,GACL,SAAS,GACT,SAAS,GACT,QAAQ,GACR,cAAc,GACd,qBAAqB,CACxB,CAAC;CACH;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,UAAU,CAAC,CAAsB;IACzC,OAAO,CAAC,IAAI,CAAC,CAA8B;IAC3C,OAAO,CAAC,UAAU,CAAC,CAA6B;IAChD,OAAO,CAAC,OAAO,CAAC,CAAuB;IACvC,OAAO,CAAC,aAAa,CAAC,CAAuB;IAC7C,OAAO,CAAC,YAAY,CAAC,CAAoC;IACzD,OAAO,CAAC,gBAAgB,CAAC,CAAuB;IAChD,OAAO,CAAC,2BAA2B,CAAC,CAAuB;IAC3D,OAAO,CAAC,cAAc,CAAC,CAA8B;IACrD,OAAO,CAAC,eAAe,CAA+C;IACtE,OAAO,CAAC,kBAAkB,CAAkD;IAC5E,OAAO,CAAC,QAAQ,CAA4C;gBAEhD,IAAI,EAAE,MAAM;IAIjB,aAAa,CAClB,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,EACnC,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,EACjC,MAAM,GAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,CAAM,GACvD,IAAI;IAUA,aAAa,CAAC,MAAM,EAAE,gBAAgB,CAAC,SAAS,GAAG,IAAI;IAkBvD,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI;IAM9C,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,uBAAuB,GAAG,IAAI;IAM5D,gBAAgB,CACrB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAC5B,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GACjC,IAAI;IAOA,eAAe,CACpB,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,EACjD,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAClC,MAAM,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAC5B,IAAI;IAQA,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,aAAa,GAAG,IAAI;IAM1D,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,gBAAgB,GAAG,IAAI;IAMhE,iBAAiB,CAAC,SAAS,EAAE,aAAa,GAAG,IAAI;IAMjD,yBAAyB,CAC9B,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,GACtC,IAAI;IAMA,0BAA0B,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;IAM1D,KAAK,CAAC,IAAI,GAAE,MAAM,CAAC,wBAA6B,GAAG,SAAS;CAoCpE"}
@@ -10,18 +10,21 @@ class WebServerBuilder {
10
10
  this._volumes = [];
11
11
  this._name = name;
12
12
  }
13
- configureWebServer(image, port, config = {}) {
13
+ withContainer(image, port, config = {}) {
14
14
  this._container = Object.assign({ image,
15
15
  port }, config);
16
16
  return this;
17
17
  }
18
- configureEcs(config) {
18
+ withEcsConfig(config) {
19
19
  this._ecsConfig = {
20
20
  cluster: config.cluster,
21
+ name: config.name,
21
22
  deploymentController: config.deploymentController,
22
23
  desiredCount: config.desiredCount,
23
24
  autoscaling: config.autoscaling,
25
+ family: config.family,
24
26
  size: config.size,
27
+ logGroupNamePrefix: config.logGroupNamePrefix,
25
28
  taskExecutionRoleInlinePolicies: config.taskExecutionRoleInlinePolicies,
26
29
  taskRoleInlinePolicies: config.taskRoleInlinePolicies,
27
30
  tags: config.tags,
@@ -47,11 +50,11 @@ class WebServerBuilder {
47
50
  this._domain = domain;
48
51
  return this;
49
52
  }
50
- withInitContainer(container) {
53
+ addInitContainer(container) {
51
54
  this._initContainers.push(container);
52
55
  return this;
53
56
  }
54
- withSidecarContainer(container) {
57
+ addSidecarContainer(container) {
55
58
  this._sidecarContainers.push(container);
56
59
  return this;
57
60
  }
@@ -69,10 +72,10 @@ class WebServerBuilder {
69
72
  }
70
73
  build(opts = {}) {
71
74
  if (!this._container) {
72
- throw new Error('Web server not configured. Make sure to call WebServerBuilder.configureWebServer().');
75
+ throw new Error('Web server not configured. Make sure to call WebServerBuilder.withContainer().');
73
76
  }
74
77
  if (!this._ecsConfig) {
75
- throw new Error('ECS not configured. Make sure to call WebServerBuilder.configureEcs().');
78
+ throw new Error('ECS not configured. Make sure to call WebServerBuilder.withEcsConfig().');
76
79
  }
77
80
  if (!this._vpc) {
78
81
  throw new Error('VPC not provided. Make sure to call WebServerBuilder.withVpc().');
@@ -8,7 +8,7 @@ export declare namespace WebServer {
8
8
  type Container = Pick<EcsService.Container, 'image' | 'environment' | 'secrets' | 'mountPoints'> & {
9
9
  port: pulumi.Input<number>;
10
10
  };
11
- type EcsConfig = Pick<EcsService.Args, 'cluster' | 'vpc' | 'volumes' | 'deploymentController' | 'desiredCount' | 'autoscaling' | 'size' | 'taskExecutionRoleInlinePolicies' | 'taskRoleInlinePolicies' | 'tags'>;
11
+ type EcsConfig = Pick<EcsService.Args, 'cluster' | 'vpc' | 'volumes' | 'name' | 'deploymentController' | 'desiredCount' | 'autoscaling' | 'family' | 'size' | 'logGroupNamePrefix' | 'taskExecutionRoleInlinePolicies' | 'taskRoleInlinePolicies' | 'tags'>;
12
12
  type InitContainer = Omit<EcsService.Container, 'essential'>;
13
13
  type SidecarContainer = Omit<EcsService.Container, 'essential' | 'healthCheck'> & Required<Pick<EcsService.Container, 'healthCheck'>>;
14
14
  type Args = EcsConfig & Container & {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/web-server/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/web-server/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AAGnC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,yBAAiB,SAAS,CAAC;IACzB,KAAY,SAAS,GAAG,IAAI,CAC1B,UAAU,CAAC,SAAS,EACpB,OAAO,GAAG,aAAa,GAAG,SAAS,GAAG,aAAa,CACpD,GAAG;QACF,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KAC5B,CAAC;IAEF,KAAY,SAAS,GAAG,IAAI,CAC1B,UAAU,CAAC,IAAI,EACb,SAAS,GACT,KAAK,GACL,SAAS,GACT,MAAM,GACN,sBAAsB,GACtB,cAAc,GACd,aAAa,GACb,QAAQ,GACR,MAAM,GACN,oBAAoB,GACpB,iCAAiC,GACjC,wBAAwB,GACxB,MAAM,CACT,CAAC;IAEF,KAAY,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACpE,KAAY,gBAAgB,GAAG,IAAI,CACjC,UAAU,CAAC,SAAS,EACpB,WAAW,GAAG,aAAa,CAC5B,GACC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC;IAEtD,KAAY,IAAI,GAAG,SAAS,GAC1B,SAAS,GAAG;QACV;;;;;;;;WAQG;QACH,MAAM,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9B;;;;;;;;;;;WAWG;QACH,WAAW,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAChD;;;WAGG;QACH,YAAY,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpC;;;;;WAKG;QACH,eAAe,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACvC,0BAA0B,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClD,cAAc,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACvE,iBAAiB,CAAC,EAAE,MAAM,CAAC,KAAK,CAC9B,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,CAC3C,CAAC;QACF,aAAa,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;KAC7C,CAAC;CACL;AAED,qBAAa,SAAU,SAAQ,MAAM,CAAC,iBAAiB;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC;IAC/B,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACnC,oBAAoB,EAAE,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC;IAC5C,EAAE,EAAE,qBAAqB,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;IACvD,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,uBAAuB,EAAE,CAAC,CAAC;IAC9D,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBAG/C,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,SAAS,CAAC,IAAI,EACpB,IAAI,GAAE,MAAM,CAAC,wBAA6B;IAqE5C,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,iBAAiB;IAiBzB,OAAO,CAAC,oBAAoB;IAc5B,OAAO,CAAC,yBAAyB;IAoBjC,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,wBAAwB;IAUhC,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,mBAAmB;IA8B3B,OAAO,CAAC,gBAAgB;IAkDxB,OAAO,CAAC,gBAAgB;CA+BzB"}
@@ -97,10 +97,13 @@ class WebServer extends pulumi.ComponentResource {
97
97
  return {
98
98
  vpc: args.vpc,
99
99
  cluster: args.cluster,
100
+ name: args.name,
100
101
  deploymentController: args.deploymentController,
101
102
  desiredCount: args.desiredCount,
102
103
  autoscaling: args.autoscaling,
104
+ family: args.family,
103
105
  size: args.size,
106
+ logGroupNamePrefix: args.logGroupNamePrefix,
104
107
  taskExecutionRoleInlinePolicies: args.taskExecutionRoleInlinePolicies,
105
108
  taskRoleInlinePolicies: this.getTaskRoleInlinePolicies(args),
106
109
  tags: args.tags,
@@ -8,7 +8,7 @@ export declare namespace OtelCollectorBuilder {
8
8
  prometheusNamespace: PrometheusRemoteWriteExporter.Config['namespace'];
9
9
  prometheusWorkspace: aws.amp.Workspace;
10
10
  region: string;
11
- logGroupName: OtelCollector.AwsCloudWatchLogsExporterConfig['log_group_name'];
11
+ logGroup: aws.cloudwatch.LogGroup;
12
12
  logStreamName: OtelCollector.AwsCloudWatchLogsExporterConfig['log_stream_name'];
13
13
  };
14
14
  }
@@ -22,7 +22,7 @@ export declare class OtelCollectorBuilder {
22
22
  withBatchProcessor(name?: string, size?: number, maxSize?: number, timeout?: string): this;
23
23
  withMemoryLimiterProcessor(checkInterval?: string, limitPercentage?: number, spikeLimitPercentage?: number): this;
24
24
  withAWSXRayExporter(region: string): this;
25
- withCloudWatchLogsExporter(region: OtelCollector.AwsCloudWatchLogsExporterConfig['region'], logGroupName: OtelCollector.AwsCloudWatchLogsExporterConfig['log_group_name'], logStreamName: OtelCollector.AwsCloudWatchLogsExporterConfig['log_stream_name'], logRetention?: OtelCollector.AwsCloudWatchLogsExporterConfig['log_retention']): this;
25
+ withCloudWatchLogsExporter(region: OtelCollector.AwsCloudWatchLogsExporterConfig['region'], logGroup: aws.cloudwatch.LogGroup, logStreamName: OtelCollector.AwsCloudWatchLogsExporterConfig['log_stream_name']): this;
26
26
  withHealthCheckExtension(endpoint?: string): this;
27
27
  withPprofExtension(endpoint?: string): this;
28
28
  withAPS(namespace: pulumi.Input<string>, workspace: aws.amp.Workspace, region: string): this;
@@ -31,7 +31,7 @@ export declare class OtelCollectorBuilder {
31
31
  withMetricsPipeline(receivers: OtelCollector.ReceiverType[], processors: OtelCollector.ProcessorType[], exporters: OtelCollector.ExporterType[]): this;
32
32
  withTracesPipeline(receivers: OtelCollector.ReceiverType[], processors: OtelCollector.ProcessorType[], exporters: OtelCollector.ExporterType[]): this;
33
33
  withLogsPipeline(receivers: OtelCollector.ReceiverType[], processors: OtelCollector.ProcessorType[], exporters: OtelCollector.ExporterType[]): this;
34
- withDefault({ prometheusNamespace, prometheusWorkspace, region, logGroupName, logStreamName, }: OtelCollectorBuilder.WithDefaultArgs): this;
34
+ withDefault({ prometheusNamespace, prometheusWorkspace, region, logGroup, logStreamName, }: OtelCollectorBuilder.WithDefaultArgs): this;
35
35
  build(): OtelCollector;
36
36
  private createAPSInlinePolicy;
37
37
  private createAWSXRayPolicy;
@@ -1 +1 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/otel/builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/otel/builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AAGnC,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,CAAC;AAGlC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AAEnF,yBAAiB,oBAAoB,CAAC;IACpC,KAAY,eAAe,GAAG;QAC5B,mBAAmB,EAAE,6BAA6B,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACvE,mBAAmB,EAAE,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC;QACvC,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC;QAClC,aAAa,EAAE,aAAa,CAAC,+BAA+B,CAAC,iBAAiB,CAAC,CAAC;KACjF,CAAC;CACH;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwB;IACrD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAwB;IAC7C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6B;IAC5D,OAAO,CAAC,uBAAuB,CAC1B;gBAEO,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;IAMxE,gBAAgB,CAAC,SAAS,GAAE,YAAY,CAAC,QAAQ,EAAa,GAAG,IAAI;IAMrE,kBAAkB,CAChB,IAAI,SAA+B,EACnC,IAAI,SAA+B,EACnC,OAAO,SAAkC,EACzC,OAAO,SAAkC,GACxC,IAAI;IAMP,0BAA0B,CACxB,aAAa,SAAgD,EAC7D,eAAe,SAAkD,EACjE,oBAAoB,SAAuD,GAC1E,IAAI;IAUP,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAOzC,0BAA0B,CACxB,MAAM,EAAE,aAAa,CAAC,+BAA+B,CAAC,QAAQ,CAAC,EAC/D,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAC,QAAQ,EACjC,aAAa,EAAE,aAAa,CAAC,+BAA+B,CAAC,iBAAiB,CAAC,GAC9E,IAAI;IAYP,wBAAwB,CAAC,QAAQ,SAAkB,GAAG,IAAI;IAM1D,kBAAkB,CAAC,QAAQ,SAAiB,GAAG,IAAI;IAMnD,OAAO,CACL,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAC/B,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,SAAS,EAC5B,MAAM,EAAE,MAAM,GACb,IAAI;IAWP,SAAS,CAAC,SAAS,GAAE,QAAQ,GAAG,OAAO,GAAG,UAAuB,GAAG,IAAI;IAMxE,aAAa,CACX,QAAQ,GAAE,OAAO,GAAG,MAAM,GAAG,OAAiB,EAC9C,gBAAgB,GAAE,OAAO,GAAG,QAAQ,GAAG,UAAoB,GAC1D,IAAI;IAMP,mBAAmB,CACjB,SAAS,EAAE,aAAa,CAAC,YAAY,EAAE,EACvC,UAAU,EAAE,aAAa,CAAC,aAAa,EAAE,EACzC,SAAS,EAAE,aAAa,CAAC,YAAY,EAAE,GACtC,IAAI;IAMP,kBAAkB,CAChB,SAAS,EAAE,aAAa,CAAC,YAAY,EAAE,EACvC,UAAU,EAAE,aAAa,CAAC,aAAa,EAAE,EACzC,SAAS,EAAE,aAAa,CAAC,YAAY,EAAE,GACtC,IAAI;IAMP,gBAAgB,CACd,SAAS,EAAE,aAAa,CAAC,YAAY,EAAE,EACvC,UAAU,EAAE,aAAa,CAAC,aAAa,EAAE,EACzC,SAAS,EAAE,aAAa,CAAC,YAAY,EAAE,GACtC,IAAI;IAMP,WAAW,CAAC,EACV,mBAAmB,EACnB,mBAAmB,EACnB,MAAM,EACN,QAAQ,EACR,aAAa,GACd,EAAE,oBAAoB,CAAC,eAAe,GAAG,IAAI;IAgB9C,KAAK,IAAI,aAAa;IAStB,OAAO,CAAC,qBAAqB;IAoB7B,OAAO,CAAC,mBAAmB;IAyB3B,OAAO,CAAC,0BAA0B;CAyBnC"}
@@ -30,9 +30,9 @@ class OtelCollectorBuilder {
30
30
  this.createAWSXRayPolicy();
31
31
  return this;
32
32
  }
33
- withCloudWatchLogsExporter(region, logGroupName, logStreamName, logRetention) {
34
- this._configBuilder.withCloudWatchLogsExporter(region, logGroupName, logStreamName, logRetention);
35
- this.createCloudWatchLogsPolicy(logGroupName);
33
+ withCloudWatchLogsExporter(region, logGroup, logStreamName) {
34
+ this._configBuilder.withCloudWatchLogsExporter(region, logGroup.name, logStreamName, logGroup.retentionInDays);
35
+ this.createCloudWatchLogsPolicy(logGroup);
36
36
  return this;
37
37
  }
38
38
  withHealthCheckExtension(endpoint = '0.0.0.0:13133') {
@@ -68,17 +68,18 @@ class OtelCollectorBuilder {
68
68
  this._configBuilder.withLogsPipeline(receivers, processors, exporters);
69
69
  return this;
70
70
  }
71
- withDefault({ prometheusNamespace, prometheusWorkspace, region, logGroupName, logStreamName, }) {
71
+ withDefault({ prometheusNamespace, prometheusWorkspace, region, logGroup, logStreamName, }) {
72
72
  this._configBuilder.withDefault({
73
73
  prometheusNamespace,
74
74
  prometheusEndpoint: pulumi.interpolate `${prometheusWorkspace.prometheusEndpoint}api/v1/remote_write`,
75
75
  region,
76
- logGroupName,
76
+ logGroupName: logGroup.name,
77
77
  logStreamName,
78
+ logRetention: logGroup.retentionInDays,
78
79
  });
79
80
  this.createAPSInlinePolicy(prometheusWorkspace);
80
81
  this.createAWSXRayPolicy();
81
- this.createCloudWatchLogsPolicy(logGroupName);
82
+ this.createCloudWatchLogsPolicy(logGroup);
82
83
  return this;
83
84
  }
84
85
  build() {
@@ -124,20 +125,15 @@ class OtelCollectorBuilder {
124
125
  }));
125
126
  this._taskRoleInlinePolicies.push(policy);
126
127
  }
127
- createCloudWatchLogsPolicy(logGroupName) {
128
+ createCloudWatchLogsPolicy(logGroup) {
128
129
  const policy = pulumi
129
- .all([this._serviceName, logGroupName])
130
- .apply(([serviceName, logGroupName]) => {
130
+ .all([this._serviceName, logGroup.arn])
131
+ .apply(([serviceName, logGroupArn]) => {
131
132
  return {
132
133
  name: `${serviceName}-task-role-cloudwatch-logs`,
133
134
  policy: JSON.stringify({
134
135
  Version: '2012-10-17',
135
136
  Statement: [
136
- {
137
- Effect: 'Allow',
138
- Action: ['logs:CreateLogGroup', 'logs:PutRetentionPolicy'],
139
- Resource: '*',
140
- },
141
137
  {
142
138
  Effect: 'Allow',
143
139
  Action: [
@@ -145,7 +141,7 @@ class OtelCollectorBuilder {
145
141
  'logs:DescribeLogStreams',
146
142
  'logs:PutLogEvents',
147
143
  ],
148
- Resource: `arn:aws:logs:*:*:log-group:${logGroupName}:*`,
144
+ Resource: `${logGroupArn}:*`,
149
145
  },
150
146
  ],
151
147
  }),
@@ -9,6 +9,7 @@ export declare namespace OtelCollectorConfigBuilder {
9
9
  region: string;
10
10
  logGroupName: OtelCollector.AwsCloudWatchLogsExporterConfig['log_group_name'];
11
11
  logStreamName: OtelCollector.AwsCloudWatchLogsExporterConfig['log_stream_name'];
12
+ logRetention: OtelCollector.AwsCloudWatchLogsExporterConfig['log_retention'];
12
13
  };
13
14
  }
14
15
  export declare class OtelCollectorConfigBuilder {
@@ -21,7 +22,7 @@ export declare class OtelCollectorConfigBuilder {
21
22
  withBatchProcessor(name?: string, size?: number, maxSize?: number, timeout?: string): this;
22
23
  withMemoryLimiterProcessor(checkInterval?: string, limitPercentage?: number, spikeLimitPercentage?: number): this;
23
24
  withAWSXRayExporter(region: string): this;
24
- withCloudWatchLogsExporter(region: OtelCollector.AwsCloudWatchLogsExporterConfig['region'], logGroupName: OtelCollector.AwsCloudWatchLogsExporterConfig['log_group_name'], logStreamName: OtelCollector.AwsCloudWatchLogsExporterConfig['log_stream_name'], logRetention?: OtelCollector.AwsCloudWatchLogsExporterConfig['log_retention']): this;
25
+ withCloudWatchLogsExporter(region: OtelCollector.AwsCloudWatchLogsExporterConfig['region'], logGroupName: OtelCollector.AwsCloudWatchLogsExporterConfig['log_group_name'], logStreamName: OtelCollector.AwsCloudWatchLogsExporterConfig['log_stream_name'], logRetention: OtelCollector.AwsCloudWatchLogsExporterConfig['log_retention']): this;
25
26
  withHealthCheckExtension(endpoint?: string): this;
26
27
  withPprofExtension(endpoint?: string): this;
27
28
  withAPS(namespace: pulumi.Input<string>, endpoint: pulumi.Input<string>, region: string): this;
@@ -30,7 +31,7 @@ export declare class OtelCollectorConfigBuilder {
30
31
  withMetricsPipeline(receivers: OtelCollector.ReceiverType[], processors: OtelCollector.ProcessorType[], exporters: OtelCollector.ExporterType[]): this;
31
32
  withTracesPipeline(receivers: OtelCollector.ReceiverType[], processors: OtelCollector.ProcessorType[], exporters: OtelCollector.ExporterType[]): this;
32
33
  withLogsPipeline(receivers: OtelCollector.ReceiverType[], processors: OtelCollector.ProcessorType[], exporters: OtelCollector.ExporterType[]): this;
33
- withDefault({ prometheusNamespace, prometheusEndpoint, region, logGroupName, logStreamName, }: OtelCollectorConfigBuilder.WithDefaultArgs): this;
34
+ withDefault({ prometheusNamespace, prometheusEndpoint, region, logGroupName, logStreamName, logRetention, }: OtelCollectorConfigBuilder.WithDefaultArgs): this;
34
35
  build(): OtelCollector.Config;
35
36
  private validatePipelineProcessorOrder;
36
37
  private validatePipelineComponents;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/otel/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/otel/config.ts"],"names":[],"mappings":"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"}
@@ -47,7 +47,12 @@ class OtelCollectorConfigBuilder {
47
47
  return this;
48
48
  }
49
49
  withCloudWatchLogsExporter(region, logGroupName, logStreamName, logRetention) {
50
- this._exporters.awscloudwatchlogs = Object.assign({ region, log_group_name: logGroupName, log_stream_name: logStreamName }, (logRetention && { log_retention: logRetention }));
50
+ this._exporters.awscloudwatchlogs = {
51
+ region,
52
+ log_group_name: logGroupName,
53
+ log_stream_name: logStreamName,
54
+ log_retention: logRetention,
55
+ };
51
56
  return this;
52
57
  }
53
58
  withHealthCheckExtension(endpoint = '0.0.0.0:13133') {
@@ -107,7 +112,7 @@ class OtelCollectorConfigBuilder {
107
112
  };
108
113
  return this;
109
114
  }
110
- withDefault({ prometheusNamespace, prometheusEndpoint, region, logGroupName, logStreamName, }) {
115
+ withDefault({ prometheusNamespace, prometheusEndpoint, region, logGroupName, logStreamName, logRetention, }) {
111
116
  return this.withOTLPReceiver(['http'])
112
117
  .withMemoryLimiterProcessor()
113
118
  .withBatchProcessor('batch/metrics')
@@ -115,7 +120,7 @@ class OtelCollectorConfigBuilder {
115
120
  .withBatchProcessor('batch/logs', 1024, 5000, '2s')
116
121
  .withAPS(prometheusNamespace, prometheusEndpoint, region)
117
122
  .withAWSXRayExporter(region)
118
- .withCloudWatchLogsExporter(region, logGroupName, logStreamName)
123
+ .withCloudWatchLogsExporter(region, logGroupName, logStreamName, logRetention)
119
124
  .withHealthCheckExtension()
120
125
  .withMetricsPipeline(['otlp'], ['memory_limiter', 'batch/metrics'], ['prometheusremotewrite'])
121
126
  .withTracesPipeline(['otlp'], ['memory_limiter', 'batch/traces'], ['awsxray'])
@@ -24,7 +24,7 @@ export declare namespace OtelCollector {
24
24
  region: string;
25
25
  log_group_name: pulumi.Input<string>;
26
26
  log_stream_name: pulumi.Input<string>;
27
- log_retention?: number;
27
+ log_retention: pulumi.Input<number | undefined>;
28
28
  };
29
29
  type DebugExportedConfig = {
30
30
  verbosity: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/otel/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/otel/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAGzC,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AAEnF,yBAAiB,aAAa,CAAC;IAC7B,KAAY,QAAQ,GAAG;QACrB,IAAI,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC;KAC5B,CAAC;IACF,KAAY,YAAY,GAAG,MAAM,QAAQ,CAAC;IAE1C,KAAY,SAAS,GAAG;QACtB,KAAK,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC;QAC9B,cAAc,CAAC,EAAE,sBAAsB,CAAC,MAAM,CAAC;KAChD,GAAG;QACF,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC;KACvC,CAAC;IACF,KAAY,aAAa,GAAG,MAAM,SAAS,CAAC;IAE5C,KAAY,qBAAqB,GAAG;QAClC,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IAEF,KAAY,+BAA+B,GAAG;QAC5C,MAAM,EAAE,MAAM,CAAC;QACf,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACrC,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACtC,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;KACjD,CAAC;IAEF,KAAY,mBAAmB,GAAG;QAChC,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IAEF,KAAY,QAAQ,GAAG;QACrB,qBAAqB,CAAC,EAAE,6BAA6B,CAAC,MAAM,CAAC;QAC7D,OAAO,CAAC,EAAE,qBAAqB,CAAC;QAChC,KAAK,CAAC,EAAE,mBAAmB,CAAC;QAC5B,iBAAiB,CAAC,EAAE,+BAA+B,CAAC;KACrD,CAAC;IACF,KAAY,YAAY,GAAG,MAAM,QAAQ,CAAC;IAE1C,KAAY,wBAAwB,GAAG;QACrC,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IAEF,KAAY,0BAA0B,GAAG;QACvC,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IAEF,KAAY,oBAAoB,GAAG;QACjC,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IAEF,KAAY,SAAS,GAAG;QACtB,SAAS,CAAC,EAAE,wBAAwB,CAAC;QACrC,YAAY,CAAC,EAAE,0BAA0B,CAAC;QAC1C,KAAK,CAAC,EAAE,oBAAoB,CAAC;KAC9B,CAAC;IACF,KAAY,aAAa,GAAG,MAAM,SAAS,CAAC;IAE5C,KAAY,cAAc,GAAG;QAC3B,SAAS,EAAE,YAAY,EAAE,CAAC;QAC1B,UAAU,EAAE,aAAa,EAAE,CAAC;QAC5B,SAAS,EAAE,YAAY,EAAE,CAAC;KAC3B,CAAC;IAEF,KAAY,eAAe,GAAG;QAC5B,IAAI,CAAC,EAAE;YACL,KAAK,EAAE,MAAM,CAAC;SACf,CAAC;QACF,OAAO,CAAC,EAAE;YACR,KAAK,EAAE,MAAM,CAAC;SACf,CAAC;KACH,CAAC;IAEF,KAAY,OAAO,GAAG;QACpB,SAAS,EAAE;YACT,OAAO,CAAC,EAAE,cAAc,CAAC;YACzB,MAAM,CAAC,EAAE,cAAc,CAAC;YACxB,IAAI,CAAC,EAAE,cAAc,CAAC;SACvB,CAAC;QACF,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;QAC7B,SAAS,CAAC,EAAE,eAAe,CAAC;KAC7B,CAAC;IAEF,KAAY,MAAM,GAAG;QACnB,SAAS,EAAE,QAAQ,CAAC;QACpB,UAAU,EAAE,SAAS,CAAC;QACtB,SAAS,EAAE,QAAQ,CAAC;QACpB,UAAU,EAAE,SAAS,CAAC;QACtB,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;IAEF,KAAY,IAAI,GAAG;QACjB,aAAa,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACrC,gBAAgB,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACxC,sBAAsB,CAAC,EAAE,MAAM,CAAC,KAAK,CACnC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAC5C,CAAC;KACH,CAAC;CACH;AAED,qBAAa,aAAa;IACxB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5C,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAC/C,eAAe,EAAE,UAAU,CAAC,SAAS,CAAC;IACtC,sBAAsB,EAAE,aAAa,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;gBAGnE,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EACjC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,EAC1C,IAAI,GAAE,aAAa,CAAC,IAAS;IAuB/B,OAAO,CAAC,eAAe;IA8BvB,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,wBAAwB;IAmBhC,OAAO,CAAC,qBAAqB;CAqB9B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@studion/infra-code-blocks",
3
- "version": "2.0.0-alpha.2",
3
+ "version": "2.0.0-alpha.4",
4
4
  "description": "Studion common infra components",
5
5
  "keywords": [
6
6
  "infrastructure",
@@ -62,6 +62,7 @@
62
62
  "@aws-sdk/client-secrets-manager": "^3.973.5",
63
63
  "@aws-sdk/client-servicediscovery": "^3.973.5",
64
64
  "@aws-sdk/client-ssm": "^3.986.0",
65
+ "@aws-sdk/client-xray": "^3.989.0",
65
66
  "@studion/prettier-config": "^0.1.0",
66
67
  "@types/node": "^22",
67
68
  "exponential-backoff": "^3.1.2",
@@ -82,11 +83,14 @@
82
83
  "overrides": {
83
84
  "@pulumi/pulumi": {
84
85
  "glob": "10.5.0",
85
- "minimatch": "10.2.2",
86
+ "minimatch": "10.2.4",
86
87
  "tar": "7.5.9"
87
88
  },
88
89
  "@aws-sdk/core": {
89
90
  "fast-xml-parser": "5.3.6"
91
+ },
92
+ "get-uri": {
93
+ "basic-ftp": "5.2.0"
90
94
  }
91
95
  },
92
96
  "publishConfig": {