@gradientedge/cdk-utils 9.10.1 → 9.11.0

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.
Files changed (63) hide show
  1. package/dist/src/lib/aws/common/construct.d.ts +3 -8
  2. package/dist/src/lib/aws/common/construct.js +3 -14
  3. package/dist/src/lib/aws/common/resource-name-formatter.d.ts +13 -0
  4. package/dist/src/lib/aws/common/resource-name-formatter.js +26 -0
  5. package/dist/src/lib/aws/construct/api-to-any-target/main.js +1 -1
  6. package/dist/src/lib/aws/construct/api-to-eventbridge-target/main.js +4 -4
  7. package/dist/src/lib/aws/construct/api-to-eventbridge-target-with-sns/main.js +2 -2
  8. package/dist/src/lib/aws/construct/api-to-lambda-target/main.js +2 -2
  9. package/dist/src/lib/aws/construct/application-configuration/main.js +1 -1
  10. package/dist/src/lib/aws/construct/lambda-with-iam-access/main.js +3 -3
  11. package/dist/src/lib/aws/construct/site-with-ecs-backend/main.js +7 -7
  12. package/dist/src/lib/aws/construct/site-with-lambda-backend/main.js +3 -3
  13. package/dist/src/lib/aws/services/api-gateway/main.js +1 -1
  14. package/dist/src/lib/aws/services/appconfig/main.js +2 -2
  15. package/dist/src/lib/aws/services/cloudfront/main.js +2 -2
  16. package/dist/src/lib/aws/services/cloudtrail/main.js +1 -1
  17. package/dist/src/lib/aws/services/dynamodb/main.js +1 -1
  18. package/dist/src/lib/aws/services/elastic-container-service/main.js +2 -2
  19. package/dist/src/lib/aws/services/elastic-file-system/main.js +1 -1
  20. package/dist/src/lib/aws/services/elastic-kubernetes-service/main.js +1 -1
  21. package/dist/src/lib/aws/services/elasticache/main.js +1 -1
  22. package/dist/src/lib/aws/services/eventbridge/main.js +9 -9
  23. package/dist/src/lib/aws/services/evidently/main.js +4 -4
  24. package/dist/src/lib/aws/services/identity-access-management/main.js +10 -10
  25. package/dist/src/lib/aws/services/lambda/main.js +2 -2
  26. package/dist/src/lib/aws/services/secrets-manager/main.js +1 -1
  27. package/dist/src/lib/aws/services/simple-notification-service/main.js +4 -4
  28. package/dist/src/lib/aws/services/simple-queue-service/main.js +1 -1
  29. package/dist/src/lib/aws/services/simple-storage-service/main.js +1 -1
  30. package/dist/src/lib/aws/services/step-function/main.js +1 -1
  31. package/dist/src/lib/aws/services/virtual-private-cloud/main.js +3 -3
  32. package/dist/src/lib/aws/services/web-application-firewall/main.js +2 -2
  33. package/package.json +1 -1
  34. package/src/lib/aws/common/construct.ts +4 -16
  35. package/src/lib/aws/common/resource-name-formatter.ts +26 -0
  36. package/src/lib/aws/construct/api-to-any-target/main.ts +1 -1
  37. package/src/lib/aws/construct/api-to-eventbridge-target/main.ts +4 -4
  38. package/src/lib/aws/construct/api-to-eventbridge-target-with-sns/main.ts +2 -2
  39. package/src/lib/aws/construct/api-to-lambda-target/main.ts +2 -2
  40. package/src/lib/aws/construct/application-configuration/main.ts +1 -1
  41. package/src/lib/aws/construct/lambda-with-iam-access/main.ts +3 -3
  42. package/src/lib/aws/construct/site-with-ecs-backend/main.ts +9 -7
  43. package/src/lib/aws/construct/site-with-lambda-backend/main.ts +5 -3
  44. package/src/lib/aws/services/api-gateway/main.ts +1 -1
  45. package/src/lib/aws/services/appconfig/main.ts +2 -2
  46. package/src/lib/aws/services/cloudfront/main.ts +2 -2
  47. package/src/lib/aws/services/cloudtrail/main.ts +1 -1
  48. package/src/lib/aws/services/dynamodb/main.ts +1 -1
  49. package/src/lib/aws/services/elastic-container-service/main.ts +2 -2
  50. package/src/lib/aws/services/elastic-file-system/main.ts +1 -1
  51. package/src/lib/aws/services/elastic-kubernetes-service/main.ts +1 -1
  52. package/src/lib/aws/services/elasticache/main.ts +1 -1
  53. package/src/lib/aws/services/eventbridge/main.ts +9 -9
  54. package/src/lib/aws/services/evidently/main.ts +4 -4
  55. package/src/lib/aws/services/identity-access-management/main.ts +10 -10
  56. package/src/lib/aws/services/lambda/main.ts +2 -2
  57. package/src/lib/aws/services/secrets-manager/main.ts +1 -1
  58. package/src/lib/aws/services/simple-notification-service/main.ts +4 -4
  59. package/src/lib/aws/services/simple-queue-service/main.ts +1 -1
  60. package/src/lib/aws/services/simple-storage-service/main.ts +1 -1
  61. package/src/lib/aws/services/step-function/main.ts +1 -1
  62. package/src/lib/aws/services/virtual-private-cloud/main.ts +3 -3
  63. package/src/lib/aws/services/web-application-firewall/main.ts +2 -2
@@ -461,10 +461,10 @@ export class IamManager {
461
461
  policies: [
462
462
  {
463
463
  policyDocument: policy,
464
- policyName: scope.resourceNameFormatter(`${id}-policy`),
464
+ policyName: scope.resourceNameFormatter.format(`${id}-policy`),
465
465
  },
466
466
  ],
467
- roleName: scope.resourceNameFormatter(id),
467
+ roleName: scope.resourceNameFormatter.format(id),
468
468
  })
469
469
 
470
470
  createCfnOutput(`${id}Arn`, scope, role.attrArn)
@@ -489,7 +489,7 @@ export class IamManager {
489
489
  assumedBy: new ServicePrincipal('events.amazonaws.com'),
490
490
  description: `Role for ${id} ECS Task execution from EventBridge`,
491
491
  inlinePolicies: { policy },
492
- roleName: scope.resourceNameFormatter(id),
492
+ roleName: scope.resourceNameFormatter.format(id),
493
493
  })
494
494
 
495
495
  createCfnOutput(`${id}Arn`, scope, role.roleArn)
@@ -516,7 +516,7 @@ export class IamManager {
516
516
  'arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy'
517
517
  ),
518
518
  ],
519
- roleName: scope.resourceNameFormatter(id),
519
+ roleName: scope.resourceNameFormatter.format(id),
520
520
  })
521
521
 
522
522
  createCfnOutput(`${id}Arn`, scope, role.roleArn)
@@ -549,7 +549,7 @@ export class IamManager {
549
549
  'arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole'
550
550
  ),
551
551
  ],
552
- roleName: scope.resourceNameFormatter(id),
552
+ roleName: scope.resourceNameFormatter.format(id),
553
553
  })
554
554
 
555
555
  createCfnOutput(`${id}Arn`, scope, role.roleArn)
@@ -575,7 +575,7 @@ export class IamManager {
575
575
  assumedBy: servicePrincipal ?? new ServicePrincipal('appconfig.amazonaws.com'),
576
576
  description: `Role for ${id} AppConfig Secrets`,
577
577
  inlinePolicies: { policy },
578
- roleName: scope.resourceNameFormatter(id),
578
+ roleName: scope.resourceNameFormatter.format(id),
579
579
  })
580
580
 
581
581
  createCfnOutput(`${id}Arn`, scope, role.roleArn)
@@ -608,7 +608,7 @@ export class IamManager {
608
608
  'arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole'
609
609
  ),
610
610
  ],
611
- roleName: scope.resourceNameFormatter(id),
611
+ roleName: scope.resourceNameFormatter.format(id),
612
612
  })
613
613
 
614
614
  createCfnOutput(`${id}Arn`, scope, role.roleArn)
@@ -628,7 +628,7 @@ export class IamManager {
628
628
  const role = new Role(scope, `${id}`, {
629
629
  assumedBy: new ServicePrincipal('pipes.amazonaws.com'),
630
630
  description: `Role for ${id} Pipe`,
631
- roleName: scope.resourceNameFormatter(id),
631
+ roleName: scope.resourceNameFormatter.format(id),
632
632
  })
633
633
 
634
634
  role.addToPolicy(this.statementForPollQueue([queueArn]))
@@ -651,7 +651,7 @@ export class IamManager {
651
651
  const role = new Role(scope, `${id}`, {
652
652
  assumedBy: new ServicePrincipal('pipes.amazonaws.com'),
653
653
  description: `Role for ${id} Pipe`,
654
- roleName: scope.resourceNameFormatter(id),
654
+ roleName: scope.resourceNameFormatter.format(id),
655
655
  })
656
656
 
657
657
  role.addToPolicy(this.statementForPollQueue([queueArn]))
@@ -711,7 +711,7 @@ export class IamManager {
711
711
  const role = new Role(scope, `${id}`, {
712
712
  assumedBy: new ServicePrincipal('pipes.amazonaws.com'),
713
713
  description: `Role for ${id} Pipe`,
714
- roleName: scope.resourceNameFormatter(id),
714
+ roleName: scope.resourceNameFormatter.format(id),
715
715
  })
716
716
 
717
717
  role.addToPolicy(this.statementFordynamoDbStream([dynamoDbStreamArn]))
@@ -110,7 +110,7 @@ export class LambdaManager {
110
110
  if (!props) throw `Lambda props undefined for ${id}`
111
111
  if (!props.functionName) throw `Lambda functionName undefined for ${id}`
112
112
 
113
- const functionName = scope.resourceNameFormatter(props.functionName, props.resourceNameOptions)
113
+ const functionName = scope.resourceNameFormatter.format(props.functionName, props.resourceNameOptions)
114
114
 
115
115
  let deadLetterQueue
116
116
  if (props.deadLetterQueueEnabled) {
@@ -268,7 +268,7 @@ export class LambdaManager {
268
268
  if (!props) throw `Lambda props undefined for ${id}`
269
269
  if (!props.functionName) throw `Lambda functionName undefined for ${id}`
270
270
 
271
- const functionName = scope.resourceNameFormatter(props.functionName, props.resourceNameOptions)
271
+ const functionName = scope.resourceNameFormatter.format(props.functionName, props.resourceNameOptions)
272
272
 
273
273
  let deadLetterQueue
274
274
  if (props.deadLetterQueueEnabled) {
@@ -34,7 +34,7 @@ export class SecretsManager {
34
34
 
35
35
  const secret = new Secret(scope, `${id}`, {
36
36
  ...props,
37
- secretName: scope.resourceNameFormatter(props.secretName, props.resourceNameOptions),
37
+ secretName: scope.resourceNameFormatter.format(props.secretName, props.resourceNameOptions),
38
38
  })
39
39
 
40
40
  createCfnOutput(`${id}-secretName`, scope, secret.secretName)
@@ -41,8 +41,8 @@ export class SnsManager {
41
41
 
42
42
  const topic = new Topic(scope, id, {
43
43
  ...props,
44
- displayName: scope.resourceNameFormatter(props.topicName, props.resourceNameOptions),
45
- topicName: scope.resourceNameFormatter(props.topicName, props.resourceNameOptions),
44
+ displayName: scope.resourceNameFormatter.format(props.topicName, props.resourceNameOptions),
45
+ topicName: scope.resourceNameFormatter.format(props.topicName, props.resourceNameOptions),
46
46
  })
47
47
 
48
48
  if (emails && !_.isEmpty(emails)) {
@@ -73,8 +73,8 @@ export class SnsManager {
73
73
 
74
74
  const topic = new Topic(scope, id, {
75
75
  ...props,
76
- displayName: scope.resourceNameFormatter(props.topicName, props.resourceNameOptions),
77
- topicName: scope.resourceNameFormatter(props.topicName, props.resourceNameOptions),
76
+ displayName: scope.resourceNameFormatter.format(props.topicName, props.resourceNameOptions),
77
+ topicName: scope.resourceNameFormatter.format(props.topicName, props.resourceNameOptions),
78
78
  })
79
79
 
80
80
  topic.addSubscription(new LambdaSubscription(lambdaFunction))
@@ -34,7 +34,7 @@ export class SqsManager {
34
34
  if (!props) throw `Queue props undefined for ${id}`
35
35
  if (!props.queueName) throw `Queue queueName undefined for ${id}`
36
36
 
37
- let queueName = scope.resourceNameFormatter(props.queueName, props.resourceNameOptions)
37
+ let queueName = scope.resourceNameFormatter.format(props.queueName, props.resourceNameOptions)
38
38
  if (props.fifo) queueName += '.fifo'
39
39
 
40
40
  const queue = new Queue(scope, id, {
@@ -78,7 +78,7 @@ export class S3Manager {
78
78
  if (!scope.props.excludeAccountNumberForBuckets) {
79
79
  return S3Manager.determineBucketNameByAccountAndRegion(scope, bucketName)
80
80
  }
81
- return scope.resourceNameFormatter(bucketName, props.resourceNameOptions)
81
+ return scope.resourceNameFormatter.format(bucketName, props.resourceNameOptions)
82
82
  }
83
83
 
84
84
  /**
@@ -485,7 +485,7 @@ export class SfnManager {
485
485
  level: props.logs?.level ?? LogLevel.ALL,
486
486
  },
487
487
  role,
488
- stateMachineName: scope.resourceNameFormatter(props.stateMachineName, props.resourceNameOptions),
488
+ stateMachineName: scope.resourceNameFormatter.format(props.stateMachineName, props.resourceNameOptions),
489
489
  })
490
490
 
491
491
  createCfnOutput(`${id}-stateMachineName`, scope, stateMachine.stateMachineName)
@@ -37,7 +37,7 @@ export class VpcManager {
37
37
  if (!props) throw `Vpc props undefined for ${id}`
38
38
  if (!props.vpcName) throw `Vpc vpcName undefined for ${id}`
39
39
 
40
- const vpcName = scope.resourceNameFormatter(props.vpcName, props.resourceNameOptions)
40
+ const vpcName = scope.resourceNameFormatter.format(props.vpcName, props.resourceNameOptions)
41
41
  let vpc
42
42
  if (props.isIPV6) {
43
43
  vpc = new Ipv6Vpc(scope, `${id}`, {
@@ -91,9 +91,9 @@ export class VpcManager {
91
91
  * @param vpcIdentifier optional identifier for VPC
92
92
  */
93
93
  public retrieveCommonVpc(id: string, scope: CommonConstruct, vpcIdentifier?: string) {
94
- const vpcName = scope.resourceNameFormatter(vpcIdentifier ?? CommonVpcIdentifier)
94
+ const vpcName = scope.resourceNameFormatter.format(vpcIdentifier ?? CommonVpcIdentifier)
95
95
  return Vpc.fromLookup(scope, `${id}`, {
96
- vpcName: scope.resourceNameFormatter(vpcIdentifier ?? CommonVpcIdentifier),
96
+ vpcName: scope.resourceNameFormatter.format(vpcIdentifier ?? CommonVpcIdentifier),
97
97
  })
98
98
  }
99
99
  }
@@ -33,7 +33,7 @@ export class WafManager {
33
33
  const ipSet = new CfnIPSet(scope, `${id}`, {
34
34
  ...props,
35
35
  description: `IP Set for ${id} - ${scope.props.stage} stage`,
36
- name: scope.resourceNameFormatter(props.name, props.resourceNameOptions),
36
+ name: scope.resourceNameFormatter.format(props.name, props.resourceNameOptions),
37
37
  })
38
38
 
39
39
  createCfnOutput(`${id}-ipSetId`, scope, ipSet.attrId)
@@ -55,7 +55,7 @@ export class WafManager {
55
55
  const webAcl = new CfnWebACL(scope, `${id}`, {
56
56
  ...props,
57
57
  description: `Web Acl for ${id} - ${scope.props.stage} stage`,
58
- name: scope.resourceNameFormatter(props.name, props.resourceNameOptions),
58
+ name: scope.resourceNameFormatter.format(props.name, props.resourceNameOptions),
59
59
  tags: [{ key: 'service', value: scope.props.name }],
60
60
  })
61
61