@aws-solutions-constructs/aws-apigateway-dynamodb 2.60.0 → 2.62.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.
package/.jsii CHANGED
@@ -8,9 +8,9 @@
8
8
  "url": "https://aws.amazon.com"
9
9
  },
10
10
  "dependencies": {
11
- "@aws-cdk/integ-tests-alpha": "2.145.0-alpha.0",
12
- "@aws-solutions-constructs/core": "2.60.0",
13
- "aws-cdk-lib": "^2.145.0",
11
+ "@aws-cdk/integ-tests-alpha": "2.147.3-alpha.0",
12
+ "@aws-solutions-constructs/core": "2.62.0",
13
+ "aws-cdk-lib": "^2.147.3",
14
14
  "constructs": "^10.0.0"
15
15
  },
16
16
  "dependencyClosure": {
@@ -370,6 +370,19 @@
370
370
  }
371
371
  }
372
372
  },
373
+ "aws-cdk-lib.aws_applicationsignals": {
374
+ "targets": {
375
+ "dotnet": {
376
+ "package": "Amazon.CDK.AWS.ApplicationSignals"
377
+ },
378
+ "java": {
379
+ "package": "software.amazon.awscdk.services.applicationsignals"
380
+ },
381
+ "python": {
382
+ "module": "aws_cdk.aws_applicationsignals"
383
+ }
384
+ }
385
+ },
373
386
  "aws-cdk-lib.aws_appmesh": {
374
387
  "targets": {
375
388
  "dotnet": {
@@ -3832,7 +3845,7 @@
3832
3845
  },
3833
3846
  "description": "CDK Constructs for AWS API Gateway and Amazon DynamoDB integration.",
3834
3847
  "homepage": "https://github.com/awslabs/aws-solutions-constructs.git",
3835
- "jsiiVersion": "1.99.0 (build 8f757e4)",
3848
+ "jsiiVersion": "1.101.0 (build b95fe5d)",
3836
3849
  "keywords": [
3837
3850
  "aws",
3838
3851
  "cdk",
@@ -3851,7 +3864,7 @@
3851
3864
  },
3852
3865
  "name": "@aws-solutions-constructs/aws-apigateway-dynamodb",
3853
3866
  "readme": {
3854
- "markdown": "# aws-apigateway-dynamodb module\n<!--BEGIN STABILITY BANNER-->\n\n---\n\n![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge)\n\n> All classes are under active development and subject to non-backward compatible changes or removal in any\n> future version. These are not subject to the [Semantic Versioning](https://semver.org/) model.\n> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package.\n\n---\n<!--END STABILITY BANNER-->\n\n| **Reference Documentation**:| <span style=\"font-weight: normal\">https://docs.aws.amazon.com/solutions/latest/constructs/</span>|\n|:-------------|:-------------|\n<div style=\"height:8px\"></div>\n\n\n| **Language** | **Package** |\n|:-------------|-----------------|\n|![Python Logo](https://docs.aws.amazon.com/cdk/api/latest/img/python32.png) Python|`aws_solutions_constructs.aws_apigateway_dynamodb`|\n|![Typescript Logo](https://docs.aws.amazon.com/cdk/api/latest/img/typescript32.png) Typescript|`@aws-solutions-constructs/aws-apigateway-dynamodb`|\n|![Java Logo](https://docs.aws.amazon.com/cdk/api/latest/img/java32.png) Java|`software.amazon.awsconstructs.services.apigatewaydynamodb`|\n\n## Overview\nThis AWS Solutions Construct implements an Amazon API Gateway REST API connected to Amazon DynamoDB table.\n\nHere is a minimal deployable pattern definition in:\n\nTypescript\n``` typescript\nimport { Construct } from 'constructs';\nimport { Stack, StackProps } from 'aws-cdk-lib';\nimport { ApiGatewayToDynamoDBProps, ApiGatewayToDynamoDB } from \"@aws-solutions-constructs/aws-apigateway-dynamodb\";\n\nnew ApiGatewayToDynamoDB(this, 'test-api-gateway-dynamodb-default', {});\n```\n\nPython\n``` python\nfrom aws_solutions_constructs.aws_apigateway_dynamodb import ApiGatewayToDynamoDB\nfrom aws_cdk import Stack\nfrom constructs import Construct\n\nApiGatewayToDynamoDB(self, 'test-api-gateway-dynamodb-default')\n```\n\nJava\n``` java\nimport software.constructs.Construct;\n\nimport software.amazon.awscdk.Stack;\nimport software.amazon.awscdk.StackProps;\nimport software.amazon.awsconstructs.services.apigatewaydynamodb.*;\n\nnew ApiGatewayToDynamoDB(this, \"test-api-gateway-dynamodb-default\", new ApiGatewayToDynamoDBProps.Builder()\n .build());\n```\n\n## Pattern Construct Props\n\n| **Name** | **Type** | **Description** |\n|:-------------|:----------------|-----------------|\n|dynamoTableProps?|[`dynamodb.TableProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_dynamodb.TableProps.html)|Optional user provided props to override the default props for DynamoDB Table.|\n|existingTableObj?|[`dynamodb.Table`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_dynamodb.Table.html)|Existing instance of DynamoDB table object, providing both this and `dynamoTableProps` will cause an error.|\n|apiGatewayProps?|[`api.RestApiProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_apigateway.RestApiProps.html)|Optional user-provided props to override the default props for the API Gateway.|\n|resourceName?|`string`|Optional name of the resource on the API Gateway. Defaults to the table's partitionKeyName|\n|allowCreateOperation?|`boolean`|Whether to deploy an API Gateway Method for POST HTTP operations on the DynamoDB table (i.e. dynamodb:PutItem).|\n|createRequestTemplate?|`string`|API Gateway Request Template for the create method for the default `application/json` content-type. This property is required if the `allowCreateOperation` property is set to true.|\n|additionalCreateRequestTemplates?|`{ [contentType: string]: string; }`|Optional Create Request Templates for content-types other than `application/json`. Use the `createRequestTemplate` property to set the request template for the `application/json` content-type. This property can only be specified if the `allowCreateOperation` property is set to true.|\n|createIntegrationResponses?|[`api.IntegrationResponses[]`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_apigateway.IntegrationResponse.html)|Optional, custom API Gateway Integration Response for the create method. This property can only be specified if the `allowCreateOperation` property is set to true.|\n|allowReadOperation?|`boolean`|Whether to deploy an API Gateway Method for GET HTTP operations on DynamoDB table (i.e. dynamodb:Query).|\n|readRequestTemplate?|`string`|API Gateway Request Template for the read method for the default `application/json` content-type. The default template only supports a partition key and not partition + sort keys.|\n|additionalReadRequestTemplates?|`{ [contentType: string]: string; }`|Optional Read Request Templates for content-types other than `application/json`. Use the `readRequestTemplate` property to set the request template for the `application/json` content-type.|\n|readIntegrationResponses?|[`api.IntegrationResponses[]`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_apigateway.IntegrationResponse.html)|Optional, custom API Gateway Integration Response for the read method.|\n|allowUpdateOperation?|`boolean`|Whether to deploy API Gateway Method for PUT HTTP operations on DynamoDB table (i.e. dynamodb:UpdateItem).|\n|updateRequestTemplate?|`string`|API Gateway Request Template for the update method. This property is required if the `allowUpdateOperation` property is set to true.|\n|additionalUpdateRequestTemplates?|`{ [contentType: string]: string; }`|Optional Update Request Templates for content-types other than `application/json`. Use the `updateRequestTemplate` property to set the request template for the `application/json` content-type. This property can only be specified if the `allowUpdateOperation` property is set to true.|\n|updateIntegrationResponses?|[`api.IntegrationResponses[]`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_apigateway.IntegrationResponse.html)|Optional, custom API Gateway Integration Response for the update method. This property can only be specified if the `allowUpdateOperation` property is set to true.|\n|allowDeleteOperation?|`boolean`|Whether to deploy API Gateway Method for DELETE HTTP operations on DynamoDB table (i.e. dynamodb:DeleteItem).|\n|deleteRequestTemplate?|`string`|API Gateway Request Template for the delete method for the default `application/json` content-type. |\n|additionalDeleteRequestTemplates?|`{ [contentType: string]: string; }`|Optional Delete request templates for content-types other than `application/json`. Use the `deleteRequestTemplate` property to set the request template for the `application/json` content-type. This property can only be specified if the `allowDeleteOperation` property is set to true.|\n|deleteIntegrationResponses?|[`api.IntegrationResponses[]`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_apigateway.IntegrationResponse.html)|Optional, custom API Gateway Integration Response for the delete method. This property can only be specified if the `allowDeleteOperation` property is set to true.|\n|logGroupProps?|[`logs.LogGroupProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_logs.LogGroupProps.html)|User provided props to override the default props for for the CloudWatchLogs LogGroup.|\n\n## Pattern Properties\n\n| **Name** | **Type** | **Description** |\n|:-------------|:----------------|-----------------|\n|apiGateway|[`api.RestApi`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_apigateway.RestApi.html)|Returns an instance of the api.RestApi created by the construct.|\n|apiGatewayRole|[`iam.Role`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_iam.Role.html)|Returns an instance of the iam.Role created by the construct for API Gateway.|\n|dynamoTable|[`dynamodb.Table`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_dynamodb.Table.html)|Returns an instance of dynamodb.Table created by the construct.|\n|apiGatewayCloudWatchRole?|[`iam.Role`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_iam.Role.html)|Returns an instance of the iam.Role created by the construct for API Gateway for CloudWatch access.|\n|apiGatewayLogGroup|[`logs.LogGroup`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_logs.LogGroup.html)|Returns an instance of the LogGroup created by the construct for API Gateway access logging to CloudWatch.|\n\n## API Gateway Request/Response Template Properties Overview\nThis construct allows you to implement four DynamoDB API operations, CREATE/READ/UPDATE/DELETE (corresponding the HTTP POST/GET/PUT/DELETE requests respectively). They are completely independent and each follows the same pattern:\n* Setting `allowCreateOperation` to true will implement the `application/json` content-type with default request and response templates\n* The request template for `application/json` requests can be customized using the `createRequestTemplate` prop value\n* *Additional* request templates can be specified using the `additionalCreateRequestTemplates` prop value. Note - these DO NOT replace the `application/json` content-type\n* Customized integration responses can be specified for any content type in the `createIntegrationResponses` prop value.\n\nSupplying any of these values without setting allowCreateOperation to true will result in an error. This pattern is the same for all four API operations.\n\n## Default settings\n\nOut of the box implementation of the Construct without any override will set the following defaults:\n\n### Amazon API Gateway\n* Deploy an edge-optimized API endpoint\n* Enable CloudWatch logging for API Gateway\n* Configure least privilege access IAM role for API Gateway\n* Set the default authorizationType for all API methods to IAM\n* Enable X-Ray Tracing\n\n### Amazon DynamoDB Table\n* Set the billing mode for DynamoDB Table to On-Demand (Pay per request)\n* Enable server-side encryption for DynamoDB Table using AWS managed KMS Key\n* Creates a partition key called 'id' for DynamoDB Table\n* Retain the Table when deleting the CloudFormation stack\n* Enable continuous backups and point-in-time recovery\n\n## Architecture\n![Architecture Diagram](architecture.png)\n\n***\n&copy; Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n"
3867
+ "markdown": "# aws-apigateway-dynamodb module\n<!--BEGIN STABILITY BANNER-->\n\n---\n\n![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge)\n\n> All classes are under active development and subject to non-backward compatible changes or removal in any\n> future version. These are not subject to the [Semantic Versioning](https://semver.org/) model.\n> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package.\n\n---\n<!--END STABILITY BANNER-->\n\n| **Reference Documentation**:| <span style=\"font-weight: normal\">https://docs.aws.amazon.com/solutions/latest/constructs/</span>|\n|:-------------|:-------------|\n<div style=\"height:8px\"></div>\n\n\n| **Language** | **Package** |\n|:-------------|-----------------|\n|![Python Logo](https://docs.aws.amazon.com/cdk/api/latest/img/python32.png) Python|`aws_solutions_constructs.aws_apigateway_dynamodb`|\n|![Typescript Logo](https://docs.aws.amazon.com/cdk/api/latest/img/typescript32.png) Typescript|`@aws-solutions-constructs/aws-apigateway-dynamodb`|\n|![Java Logo](https://docs.aws.amazon.com/cdk/api/latest/img/java32.png) Java|`software.amazon.awsconstructs.services.apigatewaydynamodb`|\n\n## Overview\nThis AWS Solutions Construct implements an Amazon API Gateway REST API connected to Amazon DynamoDB table.\n\nHere is a minimal deployable pattern definition in:\n\nTypescript\n``` typescript\nimport { Construct } from 'constructs';\nimport { Stack, StackProps } from 'aws-cdk-lib';\nimport { ApiGatewayToDynamoDBProps, ApiGatewayToDynamoDB } from \"@aws-solutions-constructs/aws-apigateway-dynamodb\";\n\nnew ApiGatewayToDynamoDB(this, 'test-api-gateway-dynamodb-default', {});\n```\n\nPython\n``` python\nfrom aws_solutions_constructs.aws_apigateway_dynamodb import ApiGatewayToDynamoDB\nfrom aws_cdk import Stack\nfrom constructs import Construct\n\nApiGatewayToDynamoDB(self, 'test-api-gateway-dynamodb-default')\n```\n\nJava\n``` java\nimport software.constructs.Construct;\n\nimport software.amazon.awscdk.Stack;\nimport software.amazon.awscdk.StackProps;\nimport software.amazon.awsconstructs.services.apigatewaydynamodb.*;\n\nnew ApiGatewayToDynamoDB(this, \"test-api-gateway-dynamodb-default\", new ApiGatewayToDynamoDBProps.Builder()\n .build());\n```\n\n## Pattern Construct Props\n\n| **Name** | **Type** | **Description** |\n|:-------------|:----------------|-----------------|\n|dynamoTableProps?|[`dynamodb.TableProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_dynamodb.TableProps.html)|Optional user provided props to override the default props for DynamoDB Table.|\n|existingTableObj?|[`dynamodb.Table`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_dynamodb.Table.html)|Existing instance of DynamoDB table object, providing both this and `dynamoTableProps` will cause an error.|\n|apiGatewayProps?|[`api.RestApiProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_apigateway.RestApiProps.html)|Optional user-provided props to override the default props for the API Gateway.|\n|resourceName?|`string`|Optional name of the resource on the API Gateway. Defaults to the table's partitionKeyName|\n|allowCreateOperation?|`boolean`|Whether to deploy an API Gateway Method for POST HTTP operations on the DynamoDB table (i.e. dynamodb:PutItem).|\n|createRequestTemplate?|`string`|API Gateway Request Template for the create method for the default `application/json` content-type. This property is required if the `allowCreateOperation` property is set to true.|\n|additionalCreateRequestTemplates?|`{ [contentType: string]: string; }`|Optional Create Request Templates for content-types other than `application/json`. Use the `createRequestTemplate` property to set the request template for the `application/json` content-type. This property can only be specified if the `allowCreateOperation` property is set to true.|\n|createIntegrationResponses?|[`api.IntegrationResponses[]`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_apigateway.IntegrationResponse.html)|Optional, custom API Gateway Integration Response for the create method. This property can only be specified if the `allowCreateOperation` property is set to true.|\n|createMethodResponses?|[`api.MethodResponses[]`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_apigateway.MethodResponse.html)| Optional, custom API Gateway Method Responses for the create action. default: [{ statusCode: \"200\", responseParameters: { \"method.response.header.Content-Type\": true }},{ statusCode: \"500\", responseParameters: { \"method.response.header.Content-Type\": true } } ]|\n|allowReadOperation?|`boolean`|Whether to deploy an API Gateway Method for GET HTTP operations on DynamoDB table (i.e. dynamodb:Query).|\n|readRequestTemplate?|`string`|API Gateway Request Template for the read method for the default `application/json` content-type. The default template only supports a partition key and not partition + sort keys.|\n|additionalReadRequestTemplates?|`{ [contentType: string]: string; }`|Optional Read Request Templates for content-types other than `application/json`. Use the `readRequestTemplate` property to set the request template for the `application/json` content-type.|\n|readIntegrationResponses?|[`api.IntegrationResponses[]`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_apigateway.IntegrationResponse.html)|Optional, custom API Gateway Integration Response for the read method.|\n|allowUpdateOperation?|`boolean`|Whether to deploy API Gateway Method for PUT HTTP operations on DynamoDB table (i.e. dynamodb:UpdateItem).|\n|readMethodResponses?|[`api.MethodResponses[]`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_apigateway.MethodResponse.html)| Optional, custom API Gateway Method Responses for the read action. default: [{ statusCode: \"200\", responseParameters: { \"method.response.header.Content-Type\": true }},{ statusCode: \"500\", responseParameters: { \"method.response.header.Content-Type\": true } } ]|\n|updateRequestTemplate?|`string`|API Gateway Request Template for the update method. This property is required if the `allowUpdateOperation` property is set to true.|\n|additionalUpdateRequestTemplates?|`{ [contentType: string]: string; }`|Optional Update Request Templates for content-types other than `application/json`. Use the `updateRequestTemplate` property to set the request template for the `application/json` content-type. This property can only be specified if the `allowUpdateOperation` property is set to true.|\n|updateIntegrationResponses?|[`api.IntegrationResponses[]`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_apigateway.IntegrationResponse.html)|Optional, custom API Gateway Integration Response for the update method. This property can only be specified if the `allowUpdateOperation` property is set to true.|\n|updateMethodResponses?|[`api.MethodResponses[]`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_apigateway.MethodResponse.html)| Optional, custom API Gateway Method Responses for the update action. default: [{ statusCode: \"200\", responseParameters: { \"method.response.header.Content-Type\": true }},{ statusCode: \"500\", responseParameters: { \"method.response.header.Content-Type\": true } } ]|\n|allowDeleteOperation?|`boolean`|Whether to deploy API Gateway Method for DELETE HTTP operations on DynamoDB table (i.e. dynamodb:DeleteItem).|\n|deleteRequestTemplate?|`string`|API Gateway Request Template for the delete method for the default `application/json` content-type. |\n|additionalDeleteRequestTemplates?|`{ [contentType: string]: string; }`|Optional Delete request templates for content-types other than `application/json`. Use the `deleteRequestTemplate` property to set the request template for the `application/json` content-type. This property can only be specified if the `allowDeleteOperation` property is set to true.|\n|deleteIntegrationResponses?|[`api.IntegrationResponses[]`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_apigateway.IntegrationResponse.html)|Optional, custom API Gateway Integration Response for the delete method. This property can only be specified if the `allowDeleteOperation` property is set to true.|\n|deleteMethodResponses?|[`api.MethodResponses[]`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_apigateway.MethodResponse.html)| Optional, custom API Gateway Method Responses for the delete action. default: [{ statusCode: \"200\", responseParameters: { \"method.response.header.Content-Type\": true }},{ statusCode: \"500\", responseParameters: { \"method.response.header.Content-Type\": true } } ]|\n|logGroupProps?|[`logs.LogGroupProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_logs.LogGroupProps.html)|User provided props to override the default props for for the CloudWatchLogs LogGroup.|\n\n## Pattern Properties\n\n| **Name** | **Type** | **Description** |\n|:-------------|:----------------|-----------------|\n|apiGateway|[`api.RestApi`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_apigateway.RestApi.html)|Returns an instance of the api.RestApi created by the construct.|\n|apiGatewayRole|[`iam.Role`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_iam.Role.html)|Returns an instance of the iam.Role created by the construct for API Gateway.|\n|dynamoTable|[`dynamodb.Table`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_dynamodb.Table.html)|Returns an instance of dynamodb.Table created by the construct.|\n|apiGatewayCloudWatchRole?|[`iam.Role`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_iam.Role.html)|Returns an instance of the iam.Role created by the construct for API Gateway for CloudWatch access.|\n|apiGatewayLogGroup|[`logs.LogGroup`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_logs.LogGroup.html)|Returns an instance of the LogGroup created by the construct for API Gateway access logging to CloudWatch.|\n\n## API Gateway Request/Response Template Properties Overview\nThis construct allows you to implement four DynamoDB API operations, CREATE/READ/UPDATE/DELETE (corresponding the HTTP POST/GET/PUT/DELETE requests respectively). They are completely independent and each follows the same pattern:\n* Setting `allowCreateOperation` to true will implement the `application/json` content-type with default request and response templates\n* The request template for `application/json` requests can be customized using the `createRequestTemplate` prop value\n* *Additional* request templates can be specified using the `additionalCreateRequestTemplates` prop value. Note - these DO NOT replace the `application/json` content-type\n* Customized integration responses can be specified for any content type in the `createIntegrationResponses` prop value.\n\nSupplying any of these values without setting allowCreateOperation to true will result in an error. This pattern is the same for all four API operations.\n\n## Default settings\n\nOut of the box implementation of the Construct without any override will set the following defaults:\n\n### Amazon API Gateway\n* Deploy an edge-optimized API endpoint\n* Enable CloudWatch logging for API Gateway\n* Configure least privilege access IAM role for API Gateway\n* Set the default authorizationType for all API methods to IAM\n* Enable X-Ray Tracing\n\n### Amazon DynamoDB Table\n* Set the billing mode for DynamoDB Table to On-Demand (Pay per request)\n* Enable server-side encryption for DynamoDB Table using AWS managed KMS Key\n* Creates a partition key called 'id' for DynamoDB Table\n* Retain the Table when deleting the CloudFormation stack\n* Enable continuous backups and point-in-time recovery\n\n## Architecture\n![Architecture Diagram](architecture.png)\n\n***\n&copy; Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n"
3855
3868
  },
3856
3869
  "repository": {
3857
3870
  "directory": "source/patterns/@aws-solutions-constructs/aws-apigateway-dynamodb",
@@ -3901,7 +3914,7 @@
3901
3914
  },
3902
3915
  "locationInModule": {
3903
3916
  "filename": "lib/index.ts",
3904
- "line": 204
3917
+ "line": 280
3905
3918
  },
3906
3919
  "parameters": [
3907
3920
  {
@@ -3936,7 +3949,7 @@
3936
3949
  "kind": "class",
3937
3950
  "locationInModule": {
3938
3951
  "filename": "lib/index.ts",
3939
- "line": 190
3952
+ "line": 266
3940
3953
  },
3941
3954
  "name": "ApiGatewayToDynamoDB",
3942
3955
  "properties": [
@@ -3944,7 +3957,7 @@
3944
3957
  "immutable": true,
3945
3958
  "locationInModule": {
3946
3959
  "filename": "lib/index.ts",
3947
- "line": 193
3960
+ "line": 269
3948
3961
  },
3949
3962
  "name": "apiGateway",
3950
3963
  "type": {
@@ -3955,7 +3968,7 @@
3955
3968
  "immutable": true,
3956
3969
  "locationInModule": {
3957
3970
  "filename": "lib/index.ts",
3958
- "line": 195
3971
+ "line": 271
3959
3972
  },
3960
3973
  "name": "apiGatewayLogGroup",
3961
3974
  "type": {
@@ -3966,7 +3979,7 @@
3966
3979
  "immutable": true,
3967
3980
  "locationInModule": {
3968
3981
  "filename": "lib/index.ts",
3969
- "line": 192
3982
+ "line": 268
3970
3983
  },
3971
3984
  "name": "apiGatewayRole",
3972
3985
  "type": {
@@ -3977,7 +3990,7 @@
3977
3990
  "immutable": true,
3978
3991
  "locationInModule": {
3979
3992
  "filename": "lib/index.ts",
3980
- "line": 191
3993
+ "line": 267
3981
3994
  },
3982
3995
  "name": "dynamoTable",
3983
3996
  "type": {
@@ -3988,7 +4001,7 @@
3988
4001
  "immutable": true,
3989
4002
  "locationInModule": {
3990
4003
  "filename": "lib/index.ts",
3991
- "line": 194
4004
+ "line": 270
3992
4005
  },
3993
4006
  "name": "apiGatewayCloudWatchRole",
3994
4007
  "optional": true,
@@ -4048,7 +4061,7 @@
4048
4061
  "immutable": true,
4049
4062
  "locationInModule": {
4050
4063
  "filename": "lib/index.ts",
4051
- "line": 171
4064
+ "line": 228
4052
4065
  },
4053
4066
  "name": "additionalDeleteRequestTemplates",
4054
4067
  "optional": true,
@@ -4071,7 +4084,7 @@
4071
4084
  "immutable": true,
4072
4085
  "locationInModule": {
4073
4086
  "filename": "lib/index.ts",
4074
- "line": 108
4087
+ "line": 127
4075
4088
  },
4076
4089
  "name": "additionalReadRequestTemplates",
4077
4090
  "optional": true,
@@ -4094,7 +4107,7 @@
4094
4107
  "immutable": true,
4095
4108
  "locationInModule": {
4096
4109
  "filename": "lib/index.ts",
4097
- "line": 135
4110
+ "line": 173
4098
4111
  },
4099
4112
  "name": "additionalUpdateRequestTemplates",
4100
4113
  "optional": true,
@@ -4133,7 +4146,7 @@
4133
4146
  "immutable": true,
4134
4147
  "locationInModule": {
4135
4148
  "filename": "lib/index.ts",
4136
- "line": 148
4149
+ "line": 205
4137
4150
  },
4138
4151
  "name": "allowDeleteOperation",
4139
4152
  "optional": true,
@@ -4150,7 +4163,7 @@
4150
4163
  "immutable": true,
4151
4164
  "locationInModule": {
4152
4165
  "filename": "lib/index.ts",
4153
- "line": 85
4166
+ "line": 104
4154
4167
  },
4155
4168
  "name": "allowReadOperation",
4156
4169
  "optional": true,
@@ -4167,7 +4180,7 @@
4167
4180
  "immutable": true,
4168
4181
  "locationInModule": {
4169
4182
  "filename": "lib/index.ts",
4170
- "line": 120
4183
+ "line": 158
4171
4184
  },
4172
4185
  "name": "allowUpdateOperation",
4173
4186
  "optional": true,
@@ -4215,6 +4228,28 @@
4215
4228
  }
4216
4229
  }
4217
4230
  },
4231
+ {
4232
+ "abstract": true,
4233
+ "docs": {
4234
+ "default": "- [\n{\nstatusCode: \"200\",\nresponseParameters: {\n\"method.response.header.Content-Type\": true\n}\n},\n{\nstatusCode: \"500\",\nresponseParameters: {\n\"method.response.header.Content-Type\": true\n},\n}\n]",
4235
+ "summary": "Optional, custom API Gateway Method Responses for the create action."
4236
+ },
4237
+ "immutable": true,
4238
+ "locationInModule": {
4239
+ "filename": "lib/index.ts",
4240
+ "line": 98
4241
+ },
4242
+ "name": "createMethodResponses",
4243
+ "optional": true,
4244
+ "type": {
4245
+ "collection": {
4246
+ "elementtype": {
4247
+ "fqn": "aws-cdk-lib.aws_apigateway.MethodResponse"
4248
+ },
4249
+ "kind": "array"
4250
+ }
4251
+ }
4252
+ },
4218
4253
  {
4219
4254
  "abstract": true,
4220
4255
  "docs": {
@@ -4243,7 +4278,7 @@
4243
4278
  "immutable": true,
4244
4279
  "locationInModule": {
4245
4280
  "filename": "lib/index.ts",
4246
- "line": 178
4281
+ "line": 235
4247
4282
  },
4248
4283
  "name": "deleteIntegrationResponses",
4249
4284
  "optional": true,
@@ -4256,6 +4291,28 @@
4256
4291
  }
4257
4292
  }
4258
4293
  },
4294
+ {
4295
+ "abstract": true,
4296
+ "docs": {
4297
+ "default": "- [\n{\nstatusCode: \"200\",\nresponseParameters: {\n\"method.response.header.Content-Type\": true\n}\n},\n{\nstatusCode: \"500\",\nresponseParameters: {\n\"method.response.header.Content-Type\": true\n},\n}\n]",
4298
+ "summary": "Optional, custom API Gateway Method Responses for the delete action."
4299
+ },
4300
+ "immutable": true,
4301
+ "locationInModule": {
4302
+ "filename": "lib/index.ts",
4303
+ "line": 254
4304
+ },
4305
+ "name": "deleteMethodResponses",
4306
+ "optional": true,
4307
+ "type": {
4308
+ "collection": {
4309
+ "elementtype": {
4310
+ "fqn": "aws-cdk-lib.aws_apigateway.MethodResponse"
4311
+ },
4312
+ "kind": "array"
4313
+ }
4314
+ }
4315
+ },
4259
4316
  {
4260
4317
  "abstract": true,
4261
4318
  "docs": {
@@ -4266,7 +4323,7 @@
4266
4323
  "immutable": true,
4267
4324
  "locationInModule": {
4268
4325
  "filename": "lib/index.ts",
4269
- "line": 163
4326
+ "line": 220
4270
4327
  },
4271
4328
  "name": "deleteRequestTemplate",
4272
4329
  "optional": true,
@@ -4317,7 +4374,7 @@
4317
4374
  "immutable": true,
4318
4375
  "locationInModule": {
4319
4376
  "filename": "lib/index.ts",
4320
- "line": 184
4377
+ "line": 260
4321
4378
  },
4322
4379
  "name": "logGroupProps",
4323
4380
  "optional": true,
@@ -4334,7 +4391,7 @@
4334
4391
  "immutable": true,
4335
4392
  "locationInModule": {
4336
4393
  "filename": "lib/index.ts",
4337
- "line": 114
4394
+ "line": 133
4338
4395
  },
4339
4396
  "name": "readIntegrationResponses",
4340
4397
  "optional": true,
@@ -4347,6 +4404,28 @@
4347
4404
  }
4348
4405
  }
4349
4406
  },
4407
+ {
4408
+ "abstract": true,
4409
+ "docs": {
4410
+ "default": "- [\n{\nstatusCode: \"200\",\nresponseParameters: {\n\"method.response.header.Content-Type\": true\n}\n},\n{\nstatusCode: \"500\",\nresponseParameters: {\n\"method.response.header.Content-Type\": true\n},\n}\n]",
4411
+ "summary": "Optional, custom API Gateway Method Responses for the read action."
4412
+ },
4413
+ "immutable": true,
4414
+ "locationInModule": {
4415
+ "filename": "lib/index.ts",
4416
+ "line": 152
4417
+ },
4418
+ "name": "readMethodResponses",
4419
+ "optional": true,
4420
+ "type": {
4421
+ "collection": {
4422
+ "elementtype": {
4423
+ "fqn": "aws-cdk-lib.aws_apigateway.MethodResponse"
4424
+ },
4425
+ "kind": "array"
4426
+ }
4427
+ }
4428
+ },
4350
4429
  {
4351
4430
  "abstract": true,
4352
4431
  "docs": {
@@ -4357,7 +4436,7 @@
4357
4436
  "immutable": true,
4358
4437
  "locationInModule": {
4359
4438
  "filename": "lib/index.ts",
4360
- "line": 101
4439
+ "line": 120
4361
4440
  },
4362
4441
  "name": "readRequestTemplate",
4363
4442
  "optional": true,
@@ -4392,7 +4471,7 @@
4392
4471
  "immutable": true,
4393
4472
  "locationInModule": {
4394
4473
  "filename": "lib/index.ts",
4395
- "line": 142
4474
+ "line": 180
4396
4475
  },
4397
4476
  "name": "updateIntegrationResponses",
4398
4477
  "optional": true,
@@ -4405,6 +4484,28 @@
4405
4484
  }
4406
4485
  }
4407
4486
  },
4487
+ {
4488
+ "abstract": true,
4489
+ "docs": {
4490
+ "default": "- [\n{\nstatusCode: \"200\",\nresponseParameters: {\n\"method.response.header.Content-Type\": true\n}\n},\n{\nstatusCode: \"500\",\nresponseParameters: {\n\"method.response.header.Content-Type\": true\n},\n}\n]",
4491
+ "summary": "Optional, custom API Gateway Method Responses for the update action."
4492
+ },
4493
+ "immutable": true,
4494
+ "locationInModule": {
4495
+ "filename": "lib/index.ts",
4496
+ "line": 199
4497
+ },
4498
+ "name": "updateMethodResponses",
4499
+ "optional": true,
4500
+ "type": {
4501
+ "collection": {
4502
+ "elementtype": {
4503
+ "fqn": "aws-cdk-lib.aws_apigateway.MethodResponse"
4504
+ },
4505
+ "kind": "array"
4506
+ }
4507
+ }
4508
+ },
4408
4509
  {
4409
4510
  "abstract": true,
4410
4511
  "docs": {
@@ -4415,7 +4516,7 @@
4415
4516
  "immutable": true,
4416
4517
  "locationInModule": {
4417
4518
  "filename": "lib/index.ts",
4418
- "line": 127
4519
+ "line": 165
4419
4520
  },
4420
4521
  "name": "updateRequestTemplate",
4421
4522
  "optional": true,
@@ -4427,6 +4528,6 @@
4427
4528
  "symbolId": "lib/index:ApiGatewayToDynamoDBProps"
4428
4529
  }
4429
4530
  },
4430
- "version": "2.60.0",
4431
- "fingerprint": "HciIwVJTlOhFNPLADNoy5YHLUyFIIyrIv7dDaPqsIZU="
4531
+ "version": "2.62.0",
4532
+ "fingerprint": "LKVz1b9xo18ZeuR6GGLsqSitv5aN0Ml52Z/OBNtDncc="
4432
4533
  }
package/README.md CHANGED
@@ -70,18 +70,22 @@ new ApiGatewayToDynamoDB(this, "test-api-gateway-dynamodb-default", new ApiGatew
70
70
  |createRequestTemplate?|`string`|API Gateway Request Template for the create method for the default `application/json` content-type. This property is required if the `allowCreateOperation` property is set to true.|
71
71
  |additionalCreateRequestTemplates?|`{ [contentType: string]: string; }`|Optional Create Request Templates for content-types other than `application/json`. Use the `createRequestTemplate` property to set the request template for the `application/json` content-type. This property can only be specified if the `allowCreateOperation` property is set to true.|
72
72
  |createIntegrationResponses?|[`api.IntegrationResponses[]`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_apigateway.IntegrationResponse.html)|Optional, custom API Gateway Integration Response for the create method. This property can only be specified if the `allowCreateOperation` property is set to true.|
73
+ |createMethodResponses?|[`api.MethodResponses[]`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_apigateway.MethodResponse.html)| Optional, custom API Gateway Method Responses for the create action. default: [{ statusCode: "200", responseParameters: { "method.response.header.Content-Type": true }},{ statusCode: "500", responseParameters: { "method.response.header.Content-Type": true } } ]|
73
74
  |allowReadOperation?|`boolean`|Whether to deploy an API Gateway Method for GET HTTP operations on DynamoDB table (i.e. dynamodb:Query).|
74
75
  |readRequestTemplate?|`string`|API Gateway Request Template for the read method for the default `application/json` content-type. The default template only supports a partition key and not partition + sort keys.|
75
76
  |additionalReadRequestTemplates?|`{ [contentType: string]: string; }`|Optional Read Request Templates for content-types other than `application/json`. Use the `readRequestTemplate` property to set the request template for the `application/json` content-type.|
76
77
  |readIntegrationResponses?|[`api.IntegrationResponses[]`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_apigateway.IntegrationResponse.html)|Optional, custom API Gateway Integration Response for the read method.|
77
78
  |allowUpdateOperation?|`boolean`|Whether to deploy API Gateway Method for PUT HTTP operations on DynamoDB table (i.e. dynamodb:UpdateItem).|
79
+ |readMethodResponses?|[`api.MethodResponses[]`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_apigateway.MethodResponse.html)| Optional, custom API Gateway Method Responses for the read action. default: [{ statusCode: "200", responseParameters: { "method.response.header.Content-Type": true }},{ statusCode: "500", responseParameters: { "method.response.header.Content-Type": true } } ]|
78
80
  |updateRequestTemplate?|`string`|API Gateway Request Template for the update method. This property is required if the `allowUpdateOperation` property is set to true.|
79
81
  |additionalUpdateRequestTemplates?|`{ [contentType: string]: string; }`|Optional Update Request Templates for content-types other than `application/json`. Use the `updateRequestTemplate` property to set the request template for the `application/json` content-type. This property can only be specified if the `allowUpdateOperation` property is set to true.|
80
82
  |updateIntegrationResponses?|[`api.IntegrationResponses[]`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_apigateway.IntegrationResponse.html)|Optional, custom API Gateway Integration Response for the update method. This property can only be specified if the `allowUpdateOperation` property is set to true.|
83
+ |updateMethodResponses?|[`api.MethodResponses[]`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_apigateway.MethodResponse.html)| Optional, custom API Gateway Method Responses for the update action. default: [{ statusCode: "200", responseParameters: { "method.response.header.Content-Type": true }},{ statusCode: "500", responseParameters: { "method.response.header.Content-Type": true } } ]|
81
84
  |allowDeleteOperation?|`boolean`|Whether to deploy API Gateway Method for DELETE HTTP operations on DynamoDB table (i.e. dynamodb:DeleteItem).|
82
85
  |deleteRequestTemplate?|`string`|API Gateway Request Template for the delete method for the default `application/json` content-type. |
83
86
  |additionalDeleteRequestTemplates?|`{ [contentType: string]: string; }`|Optional Delete request templates for content-types other than `application/json`. Use the `deleteRequestTemplate` property to set the request template for the `application/json` content-type. This property can only be specified if the `allowDeleteOperation` property is set to true.|
84
87
  |deleteIntegrationResponses?|[`api.IntegrationResponses[]`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_apigateway.IntegrationResponse.html)|Optional, custom API Gateway Integration Response for the delete method. This property can only be specified if the `allowDeleteOperation` property is set to true.|
88
+ |deleteMethodResponses?|[`api.MethodResponses[]`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_apigateway.MethodResponse.html)| Optional, custom API Gateway Method Responses for the delete action. default: [{ statusCode: "200", responseParameters: { "method.response.header.Content-Type": true }},{ statusCode: "500", responseParameters: { "method.response.header.Content-Type": true } } ]|
85
89
  |logGroupProps?|[`logs.LogGroupProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_logs.LogGroupProps.html)|User provided props to override the default props for for the CloudWatchLogs LogGroup.|
86
90
 
87
91
  ## Pattern Properties
package/lib/index.d.ts CHANGED
@@ -74,6 +74,25 @@ export interface ApiGatewayToDynamoDBProps {
74
74
  * @default - [{statusCode:"200"},{statusCode:"500",responseTemplates:{"text/html":"Error"},selectionPattern:"500"}]
75
75
  */
76
76
  readonly createIntegrationResponses?: api.IntegrationResponse[];
77
+ /**
78
+ * Optional, custom API Gateway Method Responses for the create action.
79
+ *
80
+ * @default - [
81
+ * {
82
+ * statusCode: "200",
83
+ * responseParameters: {
84
+ * "method.response.header.Content-Type": true
85
+ * }
86
+ * },
87
+ * {
88
+ * statusCode: "500",
89
+ * responseParameters: {
90
+ * "method.response.header.Content-Type": true
91
+ * },
92
+ * }
93
+ * ]
94
+ */
95
+ readonly createMethodResponses?: api.MethodResponse[];
77
96
  /**
78
97
  * Whether to deploy an API Gateway Method for GET HTTP operations on DynamoDB table (i.e. dynamodb:Query).
79
98
  *
@@ -111,6 +130,25 @@ export interface ApiGatewayToDynamoDBProps {
111
130
  * @default - [{statusCode:"200"},{statusCode:"500",responseTemplates:{"text/html":"Error"},selectionPattern:"500"}]
112
131
  */
113
132
  readonly readIntegrationResponses?: api.IntegrationResponse[];
133
+ /**
134
+ * Optional, custom API Gateway Method Responses for the read action.
135
+ *
136
+ * @default - [
137
+ * {
138
+ * statusCode: "200",
139
+ * responseParameters: {
140
+ * "method.response.header.Content-Type": true
141
+ * }
142
+ * },
143
+ * {
144
+ * statusCode: "500",
145
+ * responseParameters: {
146
+ * "method.response.header.Content-Type": true
147
+ * },
148
+ * }
149
+ * ]
150
+ */
151
+ readonly readMethodResponses?: api.MethodResponse[];
114
152
  /**
115
153
  * Whether to deploy API Gateway Method for PUT HTTP operations on DynamoDB table (i.e. dynamodb:UpdateItem).
116
154
  *
@@ -141,6 +179,25 @@ export interface ApiGatewayToDynamoDBProps {
141
179
  * @default - [{statusCode:"200"},{statusCode:"500",responseTemplates:{"text/html":"Error"},selectionPattern:"500"}]
142
180
  */
143
181
  readonly updateIntegrationResponses?: api.IntegrationResponse[];
182
+ /**
183
+ * Optional, custom API Gateway Method Responses for the update action.
184
+ *
185
+ * @default - [
186
+ * {
187
+ * statusCode: "200",
188
+ * responseParameters: {
189
+ * "method.response.header.Content-Type": true
190
+ * }
191
+ * },
192
+ * {
193
+ * statusCode: "500",
194
+ * responseParameters: {
195
+ * "method.response.header.Content-Type": true
196
+ * },
197
+ * }
198
+ * ]
199
+ */
200
+ readonly updateMethodResponses?: api.MethodResponse[];
144
201
  /**
145
202
  * Whether to deploy API Gateway Method for DELETE HTTP operations on DynamoDB table (i.e. dynamodb:DeleteItem).
146
203
  *
@@ -179,6 +236,25 @@ export interface ApiGatewayToDynamoDBProps {
179
236
  * @default - [{statusCode:"200"},{statusCode:"500",responseTemplates:{"text/html":"Error"},selectionPattern:"500"}]
180
237
  */
181
238
  readonly deleteIntegrationResponses?: api.IntegrationResponse[];
239
+ /**
240
+ * Optional, custom API Gateway Method Responses for the delete action.
241
+ *
242
+ * @default - [
243
+ * {
244
+ * statusCode: "200",
245
+ * responseParameters: {
246
+ * "method.response.header.Content-Type": true
247
+ * }
248
+ * },
249
+ * {
250
+ * statusCode: "500",
251
+ * responseParameters: {
252
+ * "method.response.header.Content-Type": true
253
+ * },
254
+ * }
255
+ * ]
256
+ */
257
+ readonly deleteMethodResponses?: api.MethodResponse[];
182
258
  /**
183
259
  * User provided props to override the default props for the CloudWatchLogs LogGroup.
184
260
  *