@gradientedge/cdk-utils 8.53.0 → 8.55.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.
@@ -126,11 +126,15 @@ class LambdaManager {
126
126
  insightsVersion: props.insightsVersion,
127
127
  },
128
128
  });
129
- if (props.provisionedConcurrency && props.lambdaAlias) {
130
- const functionAlias = this.createLambdaFunctionAlias(`${id}-alias`, scope, props.lambdaAlias, lambdaFunction.currentVersion);
131
- const functionAutoScaling = functionAlias.addAutoScaling(props.provisionedConcurrency);
132
- functionAutoScaling.scaleOnUtilization({
133
- utilizationTarget: props.provisionedConcurrency.utilizationTarget,
129
+ if (props.lambdaAliases && props.lambdaAliases.length > 0) {
130
+ props.lambdaAliases.forEach(alias => {
131
+ const functionAlias = this.createLambdaFunctionAlias(`${id}-alias`, scope, alias, lambdaFunction.currentVersion);
132
+ if (alias.provisionedConcurrency) {
133
+ const functionAutoScaling = functionAlias.addAutoScaling(alias.provisionedConcurrency);
134
+ functionAutoScaling.scaleOnUtilization({
135
+ utilizationTarget: alias.provisionedConcurrency.utilizationTarget,
136
+ });
137
+ }
134
138
  });
135
139
  }
136
140
  if (props.tags && props.tags.length > 0) {
@@ -103,9 +103,9 @@ class SqsManager {
103
103
  createRedriveQueueForLambda(id, scope, props) {
104
104
  return this.createQueue(`${id}`, scope, {
105
105
  ...props.redriveq,
106
- ...{
107
- queueName: `${props.functionName}-redriveq-${scope.props.stage}`,
108
- },
106
+ queueName: props.redriveq?.fifo
107
+ ? `${props.functionName}-redriveq-${scope.props.stage}.fifo`
108
+ : `${props.functionName}-redriveq-${scope.props.stage}`,
109
109
  });
110
110
  }
111
111
  /**
@@ -120,9 +120,9 @@ class SqsManager {
120
120
  if (props.dlq) {
121
121
  queueProps = {
122
122
  ...props.dlq,
123
- ...{
124
- queueName: `${props.functionName}-dlq-${scope.props.stage}`,
125
- },
123
+ queueName: props.dlq.fifo
124
+ ? `${props.functionName}-dlq-${scope.props.stage}.fifo`
125
+ : `${props.functionName}-dlq-${scope.props.stage}`,
126
126
  };
127
127
  }
128
128
  else {
@@ -700,14 +700,14 @@ export interface LambdaProps extends lambda.FunctionProps {
700
700
  timeoutInSecs?: number;
701
701
  excludeLastModifiedTimestamp?: boolean;
702
702
  tags?: TagProps[];
703
- provisionedConcurrency?: ProvisionedConcurrencyProps;
704
- lambdaAlias?: LambdaAliasProps;
703
+ lambdaAliases?: LambdaAliasProps[];
705
704
  }
706
705
  /**
707
706
  * @category cdk-utils.lambda-manager
708
707
  * @subcategory Properties
709
708
  */
710
709
  export interface LambdaAliasProps extends lambda.AliasProps {
710
+ provisionedConcurrency?: ProvisionedConcurrencyProps;
711
711
  }
712
712
  /**
713
713
  * @category cdk-utils.lambda-manager
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gradientedge/cdk-utils",
3
- "version": "8.53.0",
3
+ "version": "8.55.0",
4
4
  "description": "Utilities for AWS CDK provisioning",
5
5
  "main": "dist/index.js",
6
6
  "engines": {
@@ -130,17 +130,16 @@ export class LambdaManager {
130
130
  },
131
131
  })
132
132
 
133
- if (props.provisionedConcurrency && props.lambdaAlias) {
134
- const functionAlias = this.createLambdaFunctionAlias(
135
- `${id}-alias`,
136
- scope,
137
- props.lambdaAlias,
138
- lambdaFunction.currentVersion
139
- )
133
+ if (props.lambdaAliases && props.lambdaAliases.length > 0) {
134
+ props.lambdaAliases.forEach(alias => {
135
+ const functionAlias = this.createLambdaFunctionAlias(`${id}-alias`, scope, alias, lambdaFunction.currentVersion)
140
136
 
141
- const functionAutoScaling = functionAlias.addAutoScaling(props.provisionedConcurrency)
142
- functionAutoScaling.scaleOnUtilization({
143
- utilizationTarget: props.provisionedConcurrency.utilizationTarget,
137
+ if (alias.provisionedConcurrency) {
138
+ const functionAutoScaling = functionAlias.addAutoScaling(alias.provisionedConcurrency)
139
+ functionAutoScaling.scaleOnUtilization({
140
+ utilizationTarget: alias.provisionedConcurrency.utilizationTarget,
141
+ })
142
+ }
144
143
  })
145
144
  }
146
145
 
@@ -84,9 +84,9 @@ export class SqsManager {
84
84
  public createRedriveQueueForLambda(id: string, scope: common.CommonConstruct, props: types.LambdaProps) {
85
85
  return this.createQueue(`${id}`, scope, {
86
86
  ...props.redriveq,
87
- ...{
88
- queueName: `${props.functionName}-redriveq-${scope.props.stage}`,
89
- },
87
+ queueName: props.redriveq?.fifo
88
+ ? `${props.functionName}-redriveq-${scope.props.stage}.fifo`
89
+ : `${props.functionName}-redriveq-${scope.props.stage}`,
90
90
  })
91
91
  }
92
92
 
@@ -107,9 +107,9 @@ export class SqsManager {
107
107
  if (props.dlq) {
108
108
  queueProps = {
109
109
  ...props.dlq,
110
- ...{
111
- queueName: `${props.functionName}-dlq-${scope.props.stage}`,
112
- },
110
+ queueName: props.dlq.fifo
111
+ ? `${props.functionName}-dlq-${scope.props.stage}.fifo`
112
+ : `${props.functionName}-dlq-${scope.props.stage}`,
113
113
  }
114
114
  } else {
115
115
  queueProps = {
@@ -749,15 +749,16 @@ export interface LambdaProps extends lambda.FunctionProps {
749
749
  timeoutInSecs?: number
750
750
  excludeLastModifiedTimestamp?: boolean
751
751
  tags?: TagProps[]
752
- provisionedConcurrency?: ProvisionedConcurrencyProps
753
- lambdaAlias?: LambdaAliasProps
752
+ lambdaAliases?: LambdaAliasProps[]
754
753
  }
755
754
 
756
755
  /**
757
756
  * @category cdk-utils.lambda-manager
758
757
  * @subcategory Properties
759
758
  */
760
- export interface LambdaAliasProps extends lambda.AliasProps {}
759
+ export interface LambdaAliasProps extends lambda.AliasProps {
760
+ provisionedConcurrency?: ProvisionedConcurrencyProps
761
+ }
761
762
 
762
763
  /**
763
764
  * @category cdk-utils.lambda-manager