@gradientedge/cdk-utils 8.161.0 → 8.163.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.
@@ -129,7 +129,7 @@ class ApiToAnyTarget extends common_1.CommonConstruct {
129
129
  else {
130
130
  rootResource = this.apiToAnyTargetRestApi.api.root;
131
131
  }
132
- return this.apiManager.createApiResource(`${this.id}-resource-${apiResourceProps.path}}`, this, apiResourceProps.parent ?? rootResource, apiResourceProps.path, apiResourceProps.integration, apiResourceProps.addProxy, apiResourceProps.authorizer, apiResourceProps.allowedOrigins, apiResourceProps.allowedMethods, apiResourceProps.allowedHeaders, apiResourceProps.methodRequestParameters, apiResourceProps.proxyIntegration);
132
+ return this.apiManager.createApiResource(`${this.id}-resource-${apiResourceProps.path}}`, this, apiResourceProps.parent ?? rootResource, apiResourceProps.path, apiResourceProps.integration, apiResourceProps.addProxy, apiResourceProps.authorizer, apiResourceProps.allowedOrigins, apiResourceProps.allowedMethods, apiResourceProps.allowedHeaders, apiResourceProps.methodRequestParameters, apiResourceProps.proxyIntegration, apiResourceProps.enableDefaultCors);
133
133
  }
134
134
  createApiDomain() {
135
135
  if (this.props.api.useExisting)
@@ -35,6 +35,7 @@ export interface ApiToAnyTargetRestApiResource {
35
35
  path: string;
36
36
  parent?: IResource;
37
37
  proxyIntegration?: Integration;
38
+ enableDefaultCors: boolean;
38
39
  }
39
40
  export interface ApiToAnyTargetRestApiProps {
40
41
  certificate: AcmProps;
@@ -54,7 +54,7 @@ export declare class ApiManager {
54
54
  */
55
55
  createApiResource(id: string, scope: CommonConstruct, parent: IResource, path: string, integration: Integration, addProxy: boolean, authorizer?: IAuthorizer, allowedOrigins?: string[], allowedMethods?: string[], allowedHeaders?: string[], methodRequestParameters?: {
56
56
  [param: string]: boolean;
57
- }, proxyIntegration?: Integration): import("aws-cdk-lib/aws-apigateway").Resource;
57
+ }, proxyIntegration?: Integration, enableDefaultCors?: boolean): import("aws-cdk-lib/aws-apigateway").Resource;
58
58
  /**
59
59
  * @summary Method to create an api deployment
60
60
  * @param id
@@ -96,15 +96,22 @@ class ApiManager {
96
96
  * @param methodRequestParameters
97
97
  * @param proxyIntegration
98
98
  */
99
- createApiResource(id, scope, parent, path, integration, addProxy, authorizer, allowedOrigins, allowedMethods, allowedHeaders, methodRequestParameters, proxyIntegration) {
99
+ createApiResource(id, scope, parent, path, integration, addProxy, authorizer, allowedOrigins, allowedMethods, allowedHeaders, methodRequestParameters, proxyIntegration, enableDefaultCors) {
100
100
  const methods = allowedMethods ?? aws_apigateway_1.Cors.ALL_METHODS;
101
- const resource = parent.addResource(path, {
102
- defaultCorsPreflightOptions: {
101
+ let defaultCorsPreflightOptions;
102
+ if (!enableDefaultCors) {
103
+ defaultCorsPreflightOptions = undefined;
104
+ }
105
+ else {
106
+ defaultCorsPreflightOptions = {
103
107
  allowCredentials: true,
104
108
  allowHeaders: allowedHeaders ?? aws_apigateway_1.Cors.DEFAULT_HEADERS,
105
109
  allowMethods: [...methods, 'OPTIONS'],
106
110
  allowOrigins: allowedOrigins ?? aws_apigateway_1.Cors.ALL_ORIGINS,
107
- },
111
+ };
112
+ }
113
+ const resource = parent.addResource(path, {
114
+ defaultCorsPreflightOptions: defaultCorsPreflightOptions,
108
115
  });
109
116
  lodash_1.default.forEach(methods, method => {
110
117
  resource.addMethod(method, integration, {
@@ -115,12 +122,7 @@ class ApiManager {
115
122
  (0, utils_1.createCfnOutput)(`${id}-${path}ResourceId`, scope, resource.resourceId);
116
123
  if (addProxy) {
117
124
  const resourceProxy = resource.addResource(`{${path}+}`, {
118
- defaultCorsPreflightOptions: {
119
- allowCredentials: true,
120
- allowHeaders: allowedHeaders ?? aws_apigateway_1.Cors.DEFAULT_HEADERS,
121
- allowMethods: [...methods, 'OPTIONS'],
122
- allowOrigins: allowedOrigins ?? aws_apigateway_1.Cors.ALL_ORIGINS,
123
- },
125
+ defaultCorsPreflightOptions: defaultCorsPreflightOptions,
124
126
  });
125
127
  lodash_1.default.forEach(methods, method => {
126
128
  resourceProxy.addMethod(method, proxyIntegration ?? integration, {
@@ -41,14 +41,14 @@ exports.ArnsByRegionForX86_64 = {
41
41
  * @returns { Map<string, string> } AppConfig extension ARN by region for arm64
42
42
  */
43
43
  exports.ArnsByRegionForArm64 = {
44
- 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:980059726660:layer:AWS-AppConfig-Extension-Arm64:35',
45
- 'ap-south-1': 'arn:aws:lambda:ap-south-1:554480029851:layer:AWS-AppConfig-Extension-Arm64:34',
46
- 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:421114256042:layer:AWS-AppConfig-Extension-Arm64:41',
47
- 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:080788657173:layer:AWS-AppConfig-Extension-Arm64:34',
48
- 'eu-central-1': 'arn:aws:lambda:eu-central-1:066940009817:layer:AWS-AppConfig-Extension-Arm64:34',
49
- 'eu-west-1': 'arn:aws:lambda:eu-west-1:434848589818:layer:AWS-AppConfig-Extension-Arm64:46',
50
- 'eu-west-2': 'arn:aws:lambda:eu-west-2:282860088358:layer:AWS-AppConfig-Extension-Arm64:31',
51
- 'us-east-1': 'arn:aws:lambda:us-east-1:027255383542:layer:AWS-AppConfig-Extension-Arm64:43',
52
- 'us-east-2': 'arn:aws:lambda:us-east-2:728743619870:layer:AWS-AppConfig-Extension-Arm64:31',
53
- 'us-west-2': 'arn:aws:lambda:us-west-2:359756378197:layer:AWS-AppConfig-Extension-Arm64:45',
44
+ 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:980059726660:layer:AWS-AppConfig-Extension-Arm64:51',
45
+ 'ap-south-1': 'arn:aws:lambda:ap-south-1:554480029851:layer:AWS-AppConfig-Extension-Arm64:49',
46
+ 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:421114256042:layer:AWS-AppConfig-Extension-Arm64:58',
47
+ 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:080788657173:layer:AWS-AppConfig-Extension-Arm64:49',
48
+ 'eu-central-1': 'arn:aws:lambda:eu-central-1:066940009817:layer:AWS-AppConfig-Extension-Arm64:49',
49
+ 'eu-west-1': 'arn:aws:lambda:eu-west-1:434848589818:layer:AWS-AppConfig-Extension-Arm64:63',
50
+ 'eu-west-2': 'arn:aws:lambda:eu-west-2:282860088358:layer:AWS-AppConfig-Extension-Arm64:50',
51
+ 'us-east-1': 'arn:aws:lambda:us-east-1:027255383542:layer:AWS-AppConfig-Extension-Arm64:61',
52
+ 'us-east-2': 'arn:aws:lambda:us-east-2:728743619870:layer:AWS-AppConfig-Extension-Arm64:45',
53
+ 'us-west-2': 'arn:aws:lambda:us-west-2:359756378197:layer:AWS-AppConfig-Extension-Arm64:63',
54
54
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gradientedge/cdk-utils",
3
- "version": "8.161.0",
3
+ "version": "8.163.0",
4
4
  "description": "Utilities for AWS CDK provisioning",
5
5
  "main": "dist/index.js",
6
6
  "engines": {
@@ -183,7 +183,8 @@ export class ApiToAnyTarget extends CommonConstruct {
183
183
  apiResourceProps.allowedMethods,
184
184
  apiResourceProps.allowedHeaders,
185
185
  apiResourceProps.methodRequestParameters,
186
- apiResourceProps.proxyIntegration
186
+ apiResourceProps.proxyIntegration,
187
+ apiResourceProps.enableDefaultCors
187
188
  )
188
189
  }
189
190
 
@@ -42,6 +42,7 @@ export interface ApiToAnyTargetRestApiResource {
42
42
  path: string
43
43
  parent?: IResource
44
44
  proxyIntegration?: Integration
45
+ enableDefaultCors: boolean
45
46
  }
46
47
 
47
48
  export interface ApiToAnyTargetRestApiProps {
@@ -124,16 +124,25 @@ export class ApiManager {
124
124
  allowedMethods?: string[],
125
125
  allowedHeaders?: string[],
126
126
  methodRequestParameters?: { [param: string]: boolean },
127
- proxyIntegration?: Integration
127
+ proxyIntegration?: Integration,
128
+ enableDefaultCors?: boolean
128
129
  ) {
129
130
  const methods = allowedMethods ?? Cors.ALL_METHODS
130
- const resource = parent.addResource(path, {
131
- defaultCorsPreflightOptions: {
131
+
132
+ let defaultCorsPreflightOptions
133
+ if (!enableDefaultCors) {
134
+ defaultCorsPreflightOptions = undefined
135
+ } else {
136
+ defaultCorsPreflightOptions = {
132
137
  allowCredentials: true,
133
138
  allowHeaders: allowedHeaders ?? Cors.DEFAULT_HEADERS,
134
139
  allowMethods: [...methods, 'OPTIONS'],
135
140
  allowOrigins: allowedOrigins ?? Cors.ALL_ORIGINS,
136
- },
141
+ }
142
+ }
143
+
144
+ const resource = parent.addResource(path, {
145
+ defaultCorsPreflightOptions: defaultCorsPreflightOptions,
137
146
  })
138
147
 
139
148
  _.forEach(methods, method => {
@@ -146,12 +155,7 @@ export class ApiManager {
146
155
 
147
156
  if (addProxy) {
148
157
  const resourceProxy = resource.addResource(`{${path}+}`, {
149
- defaultCorsPreflightOptions: {
150
- allowCredentials: true,
151
- allowHeaders: allowedHeaders ?? Cors.DEFAULT_HEADERS,
152
- allowMethods: [...methods, 'OPTIONS'],
153
- allowOrigins: allowedOrigins ?? Cors.ALL_ORIGINS,
154
- },
158
+ defaultCorsPreflightOptions: defaultCorsPreflightOptions,
155
159
  })
156
160
 
157
161
  _.forEach(methods, method => {
@@ -39,14 +39,14 @@ export const ArnsByRegionForX86_64: { [region: string]: string } = {
39
39
  * @returns { Map<string, string> } AppConfig extension ARN by region for arm64
40
40
  */
41
41
  export const ArnsByRegionForArm64: { [region: string]: string } = {
42
- 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:980059726660:layer:AWS-AppConfig-Extension-Arm64:35',
43
- 'ap-south-1': 'arn:aws:lambda:ap-south-1:554480029851:layer:AWS-AppConfig-Extension-Arm64:34',
44
- 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:421114256042:layer:AWS-AppConfig-Extension-Arm64:41',
45
- 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:080788657173:layer:AWS-AppConfig-Extension-Arm64:34',
46
- 'eu-central-1': 'arn:aws:lambda:eu-central-1:066940009817:layer:AWS-AppConfig-Extension-Arm64:34',
47
- 'eu-west-1': 'arn:aws:lambda:eu-west-1:434848589818:layer:AWS-AppConfig-Extension-Arm64:46',
48
- 'eu-west-2': 'arn:aws:lambda:eu-west-2:282860088358:layer:AWS-AppConfig-Extension-Arm64:31',
49
- 'us-east-1': 'arn:aws:lambda:us-east-1:027255383542:layer:AWS-AppConfig-Extension-Arm64:43',
50
- 'us-east-2': 'arn:aws:lambda:us-east-2:728743619870:layer:AWS-AppConfig-Extension-Arm64:31',
51
- 'us-west-2': 'arn:aws:lambda:us-west-2:359756378197:layer:AWS-AppConfig-Extension-Arm64:45',
42
+ 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:980059726660:layer:AWS-AppConfig-Extension-Arm64:51',
43
+ 'ap-south-1': 'arn:aws:lambda:ap-south-1:554480029851:layer:AWS-AppConfig-Extension-Arm64:49',
44
+ 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:421114256042:layer:AWS-AppConfig-Extension-Arm64:58',
45
+ 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:080788657173:layer:AWS-AppConfig-Extension-Arm64:49',
46
+ 'eu-central-1': 'arn:aws:lambda:eu-central-1:066940009817:layer:AWS-AppConfig-Extension-Arm64:49',
47
+ 'eu-west-1': 'arn:aws:lambda:eu-west-1:434848589818:layer:AWS-AppConfig-Extension-Arm64:63',
48
+ 'eu-west-2': 'arn:aws:lambda:eu-west-2:282860088358:layer:AWS-AppConfig-Extension-Arm64:50',
49
+ 'us-east-1': 'arn:aws:lambda:us-east-1:027255383542:layer:AWS-AppConfig-Extension-Arm64:61',
50
+ 'us-east-2': 'arn:aws:lambda:us-east-2:728743619870:layer:AWS-AppConfig-Extension-Arm64:45',
51
+ 'us-west-2': 'arn:aws:lambda:us-west-2:359756378197:layer:AWS-AppConfig-Extension-Arm64:63',
52
52
  }