// Jest Snapshot v1, https://goo.gl/fbAQLP exports[`Snapshot test for ServerlessApi Stack 1`] = ` Object { "Outputs": Object { "ApiRestApiEndpoint4DEFB5CC": Object { "Value": Object { "Fn::Join": Array [ "", Array [ "https://", Object { "Ref": "ApiRestApiE35FEAFE", }, ".execute-api.ap-northeast-1.", Object { "Ref": "AWS::URLSuffix", }, "/", Object { "Ref": "ApiRestApiDeploymentStageprodE828476C", }, "/", ], ], }, }, }, "Parameters": Object { "BootstrapVersion": Object { "Default": "/cdk-bootstrap/hnb659fds/version", "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]", "Type": "AWS::SSM::Parameter::Value", }, }, "Resources": Object { "ApiAPIGatewayInvocationCountB691929A": Object { "Properties": Object { "ActionsEnabled": true, "AlarmActions": Array [ Object { "Ref": "MonitoringAlarmTopicAF62D4F1", }, ], "ComparisonOperator": "GreaterThanOrEqualToThreshold", "DatapointsToAlarm": 3, "Dimensions": Array [ Object { "Name": "ApiName", "Value": "RestApi", }, ], "EvaluationPeriods": 3, "MetricName": "Count", "Namespace": "AWS/ApiGateway", "Period": 60, "Statistic": "Average", "Threshold": 70, }, "Type": "AWS::CloudWatch::Alarm", }, "ApiApiGatewayLogGroup7BC2F58D": Object { "DeletionPolicy": "Retain", "Properties": Object { "RetentionInDays": 30, }, "Type": "AWS::Logs::LogGroup", "UpdateReplacePolicy": "Retain", }, "ApiLambdaNodejsGetItemFunction690D1743": Object { "DependsOn": Array [ "ApiLambdaNodejsGetItemFunctionServiceRoleDefaultPolicy47E2D438", "ApiLambdaNodejsGetItemFunctionServiceRoleE5916FAE", ], "Properties": Object { "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-ap-northeast-1", }, "S3Key": "db8a9d4a4b9db26c307994708f98d71481621d4baab0ebb56ab4b6720dec6408.zip", }, "Environment": Object { "Variables": Object { "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1", "DDB_TABLE": Object { "Ref": "DatastoreTable6900098D", }, }, }, "Handler": "index.getItem", "KmsKeyArn": Object { "Fn::GetAtt": Array [ "CMK56817A4C", "Arn", ], }, "Layers": Array [ "arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:14", ], "MemorySize": 256, "Role": Object { "Fn::GetAtt": Array [ "ApiLambdaNodejsGetItemFunctionServiceRoleE5916FAE", "Arn", ], }, "Runtime": "nodejs14.x", "Timeout": 25, "TracingConfig": Object { "Mode": "Active", }, }, "Type": "AWS::Lambda::Function", }, "ApiLambdaNodejsGetItemFunctionLogRetentionAEF27AB1": Object { "Properties": Object { "LogGroupName": Object { "Fn::Join": Array [ "", Array [ "/aws/lambda/", Object { "Ref": "ApiLambdaNodejsGetItemFunction690D1743", }, ], ], }, "RetentionInDays": 90, "ServiceToken": Object { "Fn::GetAtt": Array [ "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aFD4BFC8A", "Arn", ], }, }, "Type": "Custom::LogRetention", }, "ApiLambdaNodejsGetItemFunctionServiceRoleDefaultPolicy47E2D438": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "xray:PutTraceSegments", "xray:PutTelemetryRecords", ], "Effect": "Allow", "Resource": "*", }, Object { "Action": Array [ "kms:Encrypt*", "kms:Decrypt*", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:Describe*", ], "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "CMK56817A4C", "Arn", ], }, }, Object { "Action": Array [ "dynamodb:Query", "dynamodb:GetItem", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "DatastoreTable6900098D", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "DatastoreTable6900098D", "Arn", ], }, "/index/*", ], ], }, ], }, ], "Version": "2012-10-17", }, "PolicyName": "ApiLambdaNodejsGetItemFunctionServiceRoleDefaultPolicy47E2D438", "Roles": Array [ Object { "Ref": "ApiLambdaNodejsGetItemFunctionServiceRoleE5916FAE", }, ], }, "Type": "AWS::IAM::Policy", }, "ApiLambdaNodejsGetItemFunctionServiceRoleE5916FAE": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", ], ], }, Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/CloudWatchLambdaInsightsExecutionRolePolicy", ], ], }, ], }, "Type": "AWS::IAM::Role", }, "ApiLambdaNodejsListItemsFunction7383885E": Object { "DependsOn": Array [ "ApiLambdaNodejsListItemsFunctionServiceRoleDefaultPolicy79E6AC10", "ApiLambdaNodejsListItemsFunctionServiceRole568FA032", ], "Properties": Object { "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-ap-northeast-1", }, "S3Key": "cdd8cca2f9565c41b125199f48de3a96e5a3b6b79c4bcadbb49e1d0602e3b78e.zip", }, "Environment": Object { "Variables": Object { "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1", "DDB_TABLE": Object { "Ref": "DatastoreTable6900098D", }, }, }, "Handler": "index.listItems", "KmsKeyArn": Object { "Fn::GetAtt": Array [ "CMK56817A4C", "Arn", ], }, "Layers": Array [ "arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:14", ], "MemorySize": 256, "Role": Object { "Fn::GetAtt": Array [ "ApiLambdaNodejsListItemsFunctionServiceRole568FA032", "Arn", ], }, "Runtime": "nodejs14.x", "Timeout": 25, "TracingConfig": Object { "Mode": "Active", }, }, "Type": "AWS::Lambda::Function", }, "ApiLambdaNodejsListItemsFunctionLogRetention28222FF3": Object { "Properties": Object { "LogGroupName": Object { "Fn::Join": Array [ "", Array [ "/aws/lambda/", Object { "Ref": "ApiLambdaNodejsListItemsFunction7383885E", }, ], ], }, "RetentionInDays": 90, "ServiceToken": Object { "Fn::GetAtt": Array [ "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aFD4BFC8A", "Arn", ], }, }, "Type": "Custom::LogRetention", }, "ApiLambdaNodejsListItemsFunctionServiceRole568FA032": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", ], ], }, Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/CloudWatchLambdaInsightsExecutionRolePolicy", ], ], }, ], }, "Type": "AWS::IAM::Role", }, "ApiLambdaNodejsListItemsFunctionServiceRoleDefaultPolicy79E6AC10": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "xray:PutTraceSegments", "xray:PutTelemetryRecords", ], "Effect": "Allow", "Resource": "*", }, Object { "Action": Array [ "kms:Encrypt*", "kms:Decrypt*", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:Describe*", ], "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "CMK56817A4C", "Arn", ], }, }, Object { "Action": Array [ "dynamodb:Query", "dynamodb:Scan", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "DatastoreTable6900098D", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "DatastoreTable6900098D", "Arn", ], }, "/index/*", ], ], }, ], }, ], "Version": "2012-10-17", }, "PolicyName": "ApiLambdaNodejsListItemsFunctionServiceRoleDefaultPolicy79E6AC10", "Roles": Array [ Object { "Ref": "ApiLambdaNodejsListItemsFunctionServiceRole568FA032", }, ], }, "Type": "AWS::IAM::Policy", }, "ApiLambdaNodejsPutItemFunctionFC2FA584": Object { "DependsOn": Array [ "ApiLambdaNodejsPutItemFunctionServiceRoleDefaultPolicy04245F1A", "ApiLambdaNodejsPutItemFunctionServiceRoleB67323AE", ], "Properties": Object { "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-ap-northeast-1", }, "S3Key": "f7cd46ef001105f39a682f065b7d1332948e2c9c0b80cf91a43f08529be538a1.zip", }, "Environment": Object { "Variables": Object { "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1", "DDB_TABLE": Object { "Ref": "DatastoreTable6900098D", }, }, }, "Handler": "index.putItem", "KmsKeyArn": Object { "Fn::GetAtt": Array [ "CMK56817A4C", "Arn", ], }, "Layers": Array [ "arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:14", ], "MemorySize": 256, "Role": Object { "Fn::GetAtt": Array [ "ApiLambdaNodejsPutItemFunctionServiceRoleB67323AE", "Arn", ], }, "Runtime": "nodejs14.x", "Timeout": 25, "TracingConfig": Object { "Mode": "Active", }, }, "Type": "AWS::Lambda::Function", }, "ApiLambdaNodejsPutItemFunctionLogRetentionF06A63D6": Object { "Properties": Object { "LogGroupName": Object { "Fn::Join": Array [ "", Array [ "/aws/lambda/", Object { "Ref": "ApiLambdaNodejsPutItemFunctionFC2FA584", }, ], ], }, "RetentionInDays": 90, "ServiceToken": Object { "Fn::GetAtt": Array [ "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aFD4BFC8A", "Arn", ], }, }, "Type": "Custom::LogRetention", }, "ApiLambdaNodejsPutItemFunctionServiceRoleB67323AE": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", ], ], }, Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/CloudWatchLambdaInsightsExecutionRolePolicy", ], ], }, ], }, "Type": "AWS::IAM::Role", }, "ApiLambdaNodejsPutItemFunctionServiceRoleDefaultPolicy04245F1A": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "xray:PutTraceSegments", "xray:PutTelemetryRecords", ], "Effect": "Allow", "Resource": "*", }, Object { "Action": Array [ "kms:Encrypt*", "kms:Decrypt*", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:Describe*", ], "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "CMK56817A4C", "Arn", ], }, }, Object { "Action": "dynamodb:PutItem", "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "DatastoreTable6900098D", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "DatastoreTable6900098D", "Arn", ], }, "/index/*", ], ], }, ], }, ], "Version": "2012-10-17", }, "PolicyName": "ApiLambdaNodejsPutItemFunctionServiceRoleDefaultPolicy04245F1A", "Roles": Array [ Object { "Ref": "ApiLambdaNodejsPutItemFunctionServiceRoleB67323AE", }, ], }, "Type": "AWS::IAM::Policy", }, "ApiLambdaNodejsgetItemConcurrentExecutionsAlarmFFA1BD91": Object { "Properties": Object { "ActionsEnabled": true, "AlarmActions": Array [ Object { "Ref": "MonitoringAlarmTopicAF62D4F1", }, ], "ComparisonOperator": "GreaterThanOrEqualToThreshold", "DatapointsToAlarm": 3, "Dimensions": Array [ Object { "Name": "FunctionName", "Value": Object { "Ref": "ApiLambdaNodejsGetItemFunction690D1743", }, }, ], "EvaluationPeriods": 3, "MetricName": "ConcurrentExecutions", "Namespace": "AWS/Lambda", "Period": 300, "Statistic": "Maximum", "Threshold": 80, }, "Type": "AWS::CloudWatch::Alarm", }, "ApiLambdaNodejsgetItemDurationAlarm5EA5942E": Object { "Properties": Object { "ActionsEnabled": true, "AlarmActions": Array [ Object { "Ref": "MonitoringAlarmTopicAF62D4F1", }, ], "ComparisonOperator": "GreaterThanOrEqualToThreshold", "DatapointsToAlarm": 3, "Dimensions": Array [ Object { "Name": "FunctionName", "Value": Object { "Ref": "ApiLambdaNodejsGetItemFunction690D1743", }, }, ], "EvaluationPeriods": 3, "MetricName": "Duration", "Namespace": "AWS/Lambda", "Period": 60, "Statistic": "Average", "Threshold": 80, }, "Type": "AWS::CloudWatch::Alarm", }, "ApiLambdaNodejsgetItemErrorsAlarm5A5A18BF": Object { "Properties": Object { "ActionsEnabled": true, "AlarmActions": Array [ Object { "Ref": "MonitoringAlarmTopicAF62D4F1", }, ], "ComparisonOperator": "GreaterThanOrEqualToThreshold", "DatapointsToAlarm": 3, "Dimensions": Array [ Object { "Name": "FunctionName", "Value": Object { "Ref": "ApiLambdaNodejsGetItemFunction690D1743", }, }, ], "EvaluationPeriods": 3, "MetricName": "Errors", "Namespace": "AWS/Lambda", "Period": 60, "Statistic": "Average", "Threshold": 80, }, "Type": "AWS::CloudWatch::Alarm", }, "ApiLambdaNodejsgetItemThrottlesAlarmB352F6E5": Object { "Properties": Object { "ActionsEnabled": true, "AlarmActions": Array [ Object { "Ref": "MonitoringAlarmTopicAF62D4F1", }, ], "ComparisonOperator": "GreaterThanOrEqualToThreshold", "DatapointsToAlarm": 3, "Dimensions": Array [ Object { "Name": "FunctionName", "Value": Object { "Ref": "ApiLambdaNodejsGetItemFunction690D1743", }, }, ], "EvaluationPeriods": 3, "MetricName": "Throttles", "Namespace": "AWS/Lambda", "Period": 60, "Statistic": "Average", "Threshold": 80, }, "Type": "AWS::CloudWatch::Alarm", }, "ApiLambdaNodejslistItemsConcurrentExecutionsAlarmD2695C91": Object { "Properties": Object { "ActionsEnabled": true, "AlarmActions": Array [ Object { "Ref": "MonitoringAlarmTopicAF62D4F1", }, ], "ComparisonOperator": "GreaterThanOrEqualToThreshold", "DatapointsToAlarm": 3, "Dimensions": Array [ Object { "Name": "FunctionName", "Value": Object { "Ref": "ApiLambdaNodejsListItemsFunction7383885E", }, }, ], "EvaluationPeriods": 3, "MetricName": "ConcurrentExecutions", "Namespace": "AWS/Lambda", "Period": 300, "Statistic": "Maximum", "Threshold": 80, }, "Type": "AWS::CloudWatch::Alarm", }, "ApiLambdaNodejslistItemsDurationAlarmEE962444": Object { "Properties": Object { "ActionsEnabled": true, "AlarmActions": Array [ Object { "Ref": "MonitoringAlarmTopicAF62D4F1", }, ], "ComparisonOperator": "GreaterThanOrEqualToThreshold", "DatapointsToAlarm": 3, "Dimensions": Array [ Object { "Name": "FunctionName", "Value": Object { "Ref": "ApiLambdaNodejsListItemsFunction7383885E", }, }, ], "EvaluationPeriods": 3, "MetricName": "Duration", "Namespace": "AWS/Lambda", "Period": 60, "Statistic": "Average", "Threshold": 80, }, "Type": "AWS::CloudWatch::Alarm", }, "ApiLambdaNodejslistItemsErrorsExecutionsAlarm509E4CEC": Object { "Properties": Object { "ActionsEnabled": true, "AlarmActions": Array [ Object { "Ref": "MonitoringAlarmTopicAF62D4F1", }, ], "ComparisonOperator": "GreaterThanOrEqualToThreshold", "DatapointsToAlarm": 3, "Dimensions": Array [ Object { "Name": "FunctionName", "Value": Object { "Ref": "ApiLambdaNodejsListItemsFunction7383885E", }, }, ], "EvaluationPeriods": 3, "MetricName": "Errors", "Namespace": "AWS/Lambda", "Period": 60, "Statistic": "Average", "Threshold": 80, }, "Type": "AWS::CloudWatch::Alarm", }, "ApiLambdaNodejslistItemsThrottlesAlarm9C26D78C": Object { "Properties": Object { "ActionsEnabled": true, "AlarmActions": Array [ Object { "Ref": "MonitoringAlarmTopicAF62D4F1", }, ], "ComparisonOperator": "GreaterThanOrEqualToThreshold", "DatapointsToAlarm": 3, "Dimensions": Array [ Object { "Name": "FunctionName", "Value": Object { "Ref": "ApiLambdaNodejsListItemsFunction7383885E", }, }, ], "EvaluationPeriods": 3, "MetricName": "Throttles", "Namespace": "AWS/Lambda", "Period": 60, "Statistic": "Average", "Threshold": 80, }, "Type": "AWS::CloudWatch::Alarm", }, "ApiLambdaNodejsputItemConcurrentExecutionsAlarm96A1F417": Object { "Properties": Object { "ActionsEnabled": true, "AlarmActions": Array [ Object { "Ref": "MonitoringAlarmTopicAF62D4F1", }, ], "ComparisonOperator": "GreaterThanOrEqualToThreshold", "DatapointsToAlarm": 3, "Dimensions": Array [ Object { "Name": "FunctionName", "Value": Object { "Ref": "ApiLambdaNodejsPutItemFunctionFC2FA584", }, }, ], "EvaluationPeriods": 3, "MetricName": "ConcurrentExecutions", "Namespace": "AWS/Lambda", "Period": 300, "Statistic": "Maximum", "Threshold": 80, }, "Type": "AWS::CloudWatch::Alarm", }, "ApiLambdaNodejsputItemDurationAlarm4DEC7925": Object { "Properties": Object { "ActionsEnabled": true, "AlarmActions": Array [ Object { "Ref": "MonitoringAlarmTopicAF62D4F1", }, ], "ComparisonOperator": "GreaterThanOrEqualToThreshold", "DatapointsToAlarm": 3, "Dimensions": Array [ Object { "Name": "FunctionName", "Value": Object { "Ref": "ApiLambdaNodejsPutItemFunctionFC2FA584", }, }, ], "EvaluationPeriods": 3, "MetricName": "Duration", "Namespace": "AWS/Lambda", "Period": 60, "Statistic": "Average", "Threshold": 80, }, "Type": "AWS::CloudWatch::Alarm", }, "ApiLambdaNodejsputItemErrorsAlarmB59BB9FA": Object { "Properties": Object { "ActionsEnabled": true, "AlarmActions": Array [ Object { "Ref": "MonitoringAlarmTopicAF62D4F1", }, ], "ComparisonOperator": "GreaterThanOrEqualToThreshold", "DatapointsToAlarm": 3, "Dimensions": Array [ Object { "Name": "FunctionName", "Value": Object { "Ref": "ApiLambdaNodejsPutItemFunctionFC2FA584", }, }, ], "EvaluationPeriods": 3, "MetricName": "Errors", "Namespace": "AWS/Lambda", "Period": 60, "Statistic": "Average", "Threshold": 80, }, "Type": "AWS::CloudWatch::Alarm", }, "ApiLambdaNodejsputItemThrottlesAlarmDA173E04": Object { "Properties": Object { "ActionsEnabled": true, "AlarmActions": Array [ Object { "Ref": "MonitoringAlarmTopicAF62D4F1", }, ], "ComparisonOperator": "GreaterThanOrEqualToThreshold", "DatapointsToAlarm": 3, "Dimensions": Array [ Object { "Name": "FunctionName", "Value": Object { "Ref": "ApiLambdaNodejsPutItemFunctionFC2FA584", }, }, ], "EvaluationPeriods": 3, "MetricName": "Throttles", "Namespace": "AWS/Lambda", "Period": 60, "Statistic": "Average", "Threshold": 80, }, "Type": "AWS::CloudWatch::Alarm", }, "ApiLambdaPythonGetItemFunction7F81F93B": Object { "DependsOn": Array [ "ApiLambdaPythonGetItemFunctionServiceRoleDefaultPolicy550CE002", "ApiLambdaPythonGetItemFunctionServiceRole87970B01", ], "Properties": Object { "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-ap-northeast-1", }, "S3Key": "6c6248559cf324952895870a3b546cf7cbfbafe0cce9e4a60bc61e6ec8eef051.zip", }, "Environment": Object { "Variables": Object { "DDB_TABLE": Object { "Ref": "DatastoreTable6900098D", }, }, }, "Handler": "getItem.lambda_handler", "KmsKeyArn": Object { "Fn::GetAtt": Array [ "CMK56817A4C", "Arn", ], }, "Layers": Array [ "arn:aws:lambda:ap-northeast-1:017000801446:layer:AWSLambdaPowertoolsPython:3", "arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:14", ], "MemorySize": 256, "Role": Object { "Fn::GetAtt": Array [ "ApiLambdaPythonGetItemFunctionServiceRole87970B01", "Arn", ], }, "Runtime": "python3.7", "Timeout": 25, "TracingConfig": Object { "Mode": "Active", }, }, "Type": "AWS::Lambda::Function", }, "ApiLambdaPythonGetItemFunctionLogRetentionBA7F7CC2": Object { "Properties": Object { "LogGroupName": Object { "Fn::Join": Array [ "", Array [ "/aws/lambda/", Object { "Ref": "ApiLambdaPythonGetItemFunction7F81F93B", }, ], ], }, "RetentionInDays": 90, "ServiceToken": Object { "Fn::GetAtt": Array [ "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aFD4BFC8A", "Arn", ], }, }, "Type": "Custom::LogRetention", }, "ApiLambdaPythonGetItemFunctionServiceRole87970B01": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", ], ], }, Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/CloudWatchLambdaInsightsExecutionRolePolicy", ], ], }, ], }, "Type": "AWS::IAM::Role", }, "ApiLambdaPythonGetItemFunctionServiceRoleDefaultPolicy550CE002": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "xray:PutTraceSegments", "xray:PutTelemetryRecords", ], "Effect": "Allow", "Resource": "*", }, Object { "Action": Array [ "kms:Encrypt*", "kms:Decrypt*", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:Describe*", ], "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "CMK56817A4C", "Arn", ], }, }, Object { "Action": Array [ "dynamodb:Query", "dynamodb:GetItem", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "DatastoreTable6900098D", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "DatastoreTable6900098D", "Arn", ], }, "/index/*", ], ], }, ], }, ], "Version": "2012-10-17", }, "PolicyName": "ApiLambdaPythonGetItemFunctionServiceRoleDefaultPolicy550CE002", "Roles": Array [ Object { "Ref": "ApiLambdaPythonGetItemFunctionServiceRole87970B01", }, ], }, "Type": "AWS::IAM::Policy", }, "ApiLambdaPythonListItemsFunction6E2E7058": Object { "DependsOn": Array [ "ApiLambdaPythonListItemsFunctionServiceRoleDefaultPolicy365FE2DB", "ApiLambdaPythonListItemsFunctionServiceRoleD3B9A3A3", ], "Properties": Object { "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-ap-northeast-1", }, "S3Key": "9935294482ff6ee39a0af20cfbf740c113a6d493e51300bfd6e98e85e6e9f360.zip", }, "Environment": Object { "Variables": Object { "DDB_TABLE": Object { "Ref": "DatastoreTable6900098D", }, }, }, "Handler": "listItems.lambda_handler", "KmsKeyArn": Object { "Fn::GetAtt": Array [ "CMK56817A4C", "Arn", ], }, "Layers": Array [ "arn:aws:lambda:ap-northeast-1:017000801446:layer:AWSLambdaPowertoolsPython:3", "arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:14", ], "MemorySize": 2048, "Role": Object { "Fn::GetAtt": Array [ "ApiLambdaPythonListItemsFunctionServiceRoleD3B9A3A3", "Arn", ], }, "Runtime": "python3.7", "Timeout": 25, "TracingConfig": Object { "Mode": "Active", }, }, "Type": "AWS::Lambda::Function", }, "ApiLambdaPythonListItemsFunctionLogRetention4AAEE7BC": Object { "Properties": Object { "LogGroupName": Object { "Fn::Join": Array [ "", Array [ "/aws/lambda/", Object { "Ref": "ApiLambdaPythonListItemsFunction6E2E7058", }, ], ], }, "RetentionInDays": 90, "ServiceToken": Object { "Fn::GetAtt": Array [ "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aFD4BFC8A", "Arn", ], }, }, "Type": "Custom::LogRetention", }, "ApiLambdaPythonListItemsFunctionServiceRoleD3B9A3A3": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", ], ], }, Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/CloudWatchLambdaInsightsExecutionRolePolicy", ], ], }, ], }, "Type": "AWS::IAM::Role", }, "ApiLambdaPythonListItemsFunctionServiceRoleDefaultPolicy365FE2DB": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "xray:PutTraceSegments", "xray:PutTelemetryRecords", ], "Effect": "Allow", "Resource": "*", }, Object { "Action": Array [ "kms:Encrypt*", "kms:Decrypt*", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:Describe*", ], "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "CMK56817A4C", "Arn", ], }, }, Object { "Action": Array [ "dynamodb:Query", "dynamodb:Scan", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "DatastoreTable6900098D", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "DatastoreTable6900098D", "Arn", ], }, "/index/*", ], ], }, ], }, ], "Version": "2012-10-17", }, "PolicyName": "ApiLambdaPythonListItemsFunctionServiceRoleDefaultPolicy365FE2DB", "Roles": Array [ Object { "Ref": "ApiLambdaPythonListItemsFunctionServiceRoleD3B9A3A3", }, ], }, "Type": "AWS::IAM::Policy", }, "ApiLambdaPythonPutItemFunction0EA5A227": Object { "DependsOn": Array [ "ApiLambdaPythonPutItemFunctionServiceRoleDefaultPolicyBA2B5B41", "ApiLambdaPythonPutItemFunctionServiceRole2AD40DC0", ], "Properties": Object { "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-ap-northeast-1", }, "S3Key": "dc0a332c2c8fb4d4e7977a51466ff04fda2926977fd3f496acfa00722ded9563.zip", }, "Environment": Object { "Variables": Object { "DDB_TABLE": Object { "Ref": "DatastoreTable6900098D", }, }, }, "Handler": "putItem.lambda_handler", "KmsKeyArn": Object { "Fn::GetAtt": Array [ "CMK56817A4C", "Arn", ], }, "Layers": Array [ "arn:aws:lambda:ap-northeast-1:017000801446:layer:AWSLambdaPowertoolsPython:3", "arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:14", ], "MemorySize": 256, "Role": Object { "Fn::GetAtt": Array [ "ApiLambdaPythonPutItemFunctionServiceRole2AD40DC0", "Arn", ], }, "Runtime": "python3.7", "Timeout": 25, "TracingConfig": Object { "Mode": "Active", }, }, "Type": "AWS::Lambda::Function", }, "ApiLambdaPythonPutItemFunctionLogRetention1C3D6644": Object { "Properties": Object { "LogGroupName": Object { "Fn::Join": Array [ "", Array [ "/aws/lambda/", Object { "Ref": "ApiLambdaPythonPutItemFunction0EA5A227", }, ], ], }, "RetentionInDays": 90, "ServiceToken": Object { "Fn::GetAtt": Array [ "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aFD4BFC8A", "Arn", ], }, }, "Type": "Custom::LogRetention", }, "ApiLambdaPythonPutItemFunctionServiceRole2AD40DC0": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", ], ], }, Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/CloudWatchLambdaInsightsExecutionRolePolicy", ], ], }, ], }, "Type": "AWS::IAM::Role", }, "ApiLambdaPythonPutItemFunctionServiceRoleDefaultPolicyBA2B5B41": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "xray:PutTraceSegments", "xray:PutTelemetryRecords", ], "Effect": "Allow", "Resource": "*", }, Object { "Action": Array [ "kms:Encrypt*", "kms:Decrypt*", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:Describe*", ], "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "CMK56817A4C", "Arn", ], }, }, Object { "Action": "dynamodb:PutItem", "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "DatastoreTable6900098D", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "DatastoreTable6900098D", "Arn", ], }, "/index/*", ], ], }, ], }, ], "Version": "2012-10-17", }, "PolicyName": "ApiLambdaPythonPutItemFunctionServiceRoleDefaultPolicyBA2B5B41", "Roles": Array [ Object { "Ref": "ApiLambdaPythonPutItemFunctionServiceRole2AD40DC0", }, ], }, "Type": "AWS::IAM::Policy", }, "ApiLambdaPythongetItemConcurrentExecutionsAlarm09E169A6": Object { "Properties": Object { "ActionsEnabled": true, "AlarmActions": Array [ Object { "Ref": "MonitoringAlarmTopicAF62D4F1", }, ], "ComparisonOperator": "GreaterThanOrEqualToThreshold", "DatapointsToAlarm": 3, "Dimensions": Array [ Object { "Name": "FunctionName", "Value": Object { "Ref": "ApiLambdaPythonGetItemFunction7F81F93B", }, }, ], "EvaluationPeriods": 3, "MetricName": "ConcurrentExecutions", "Namespace": "AWS/Lambda", "Period": 300, "Statistic": "Maximum", "Threshold": 80, }, "Type": "AWS::CloudWatch::Alarm", }, "ApiLambdaPythongetItemDurationAlarmD9B0D891": Object { "Properties": Object { "ActionsEnabled": true, "AlarmActions": Array [ Object { "Ref": "MonitoringAlarmTopicAF62D4F1", }, ], "ComparisonOperator": "GreaterThanOrEqualToThreshold", "DatapointsToAlarm": 3, "Dimensions": Array [ Object { "Name": "FunctionName", "Value": Object { "Ref": "ApiLambdaPythonGetItemFunction7F81F93B", }, }, ], "EvaluationPeriods": 3, "MetricName": "Duration", "Namespace": "AWS/Lambda", "Period": 60, "Statistic": "Average", "Threshold": 80, }, "Type": "AWS::CloudWatch::Alarm", }, "ApiLambdaPythongetItemErrorsAlarm1636EC90": Object { "Properties": Object { "ActionsEnabled": true, "AlarmActions": Array [ Object { "Ref": "MonitoringAlarmTopicAF62D4F1", }, ], "ComparisonOperator": "GreaterThanOrEqualToThreshold", "DatapointsToAlarm": 3, "Dimensions": Array [ Object { "Name": "FunctionName", "Value": Object { "Ref": "ApiLambdaPythonGetItemFunction7F81F93B", }, }, ], "EvaluationPeriods": 3, "MetricName": "Errors", "Namespace": "AWS/Lambda", "Period": 60, "Statistic": "Average", "Threshold": 80, }, "Type": "AWS::CloudWatch::Alarm", }, "ApiLambdaPythongetItemThrottlesAlarm34456187": Object { "Properties": Object { "ActionsEnabled": true, "AlarmActions": Array [ Object { "Ref": "MonitoringAlarmTopicAF62D4F1", }, ], "ComparisonOperator": "GreaterThanOrEqualToThreshold", "DatapointsToAlarm": 3, "Dimensions": Array [ Object { "Name": "FunctionName", "Value": Object { "Ref": "ApiLambdaPythonGetItemFunction7F81F93B", }, }, ], "EvaluationPeriods": 3, "MetricName": "Throttles", "Namespace": "AWS/Lambda", "Period": 60, "Statistic": "Average", "Threshold": 80, }, "Type": "AWS::CloudWatch::Alarm", }, "ApiLambdaPythonlistItemsConcurrentExecutionsAlarm307F2F04": Object { "Properties": Object { "ActionsEnabled": true, "AlarmActions": Array [ Object { "Ref": "MonitoringAlarmTopicAF62D4F1", }, ], "ComparisonOperator": "GreaterThanOrEqualToThreshold", "DatapointsToAlarm": 3, "Dimensions": Array [ Object { "Name": "FunctionName", "Value": Object { "Ref": "ApiLambdaPythonListItemsFunction6E2E7058", }, }, ], "EvaluationPeriods": 3, "MetricName": "ConcurrentExecutions", "Namespace": "AWS/Lambda", "Period": 300, "Statistic": "Maximum", "Threshold": 80, }, "Type": "AWS::CloudWatch::Alarm", }, "ApiLambdaPythonlistItemsDurationAlarm8D3DC059": Object { "Properties": Object { "ActionsEnabled": true, "AlarmActions": Array [ Object { "Ref": "MonitoringAlarmTopicAF62D4F1", }, ], "ComparisonOperator": "GreaterThanOrEqualToThreshold", "DatapointsToAlarm": 3, "Dimensions": Array [ Object { "Name": "FunctionName", "Value": Object { "Ref": "ApiLambdaPythonListItemsFunction6E2E7058", }, }, ], "EvaluationPeriods": 3, "MetricName": "Duration", "Namespace": "AWS/Lambda", "Period": 60, "Statistic": "Average", "Threshold": 80, }, "Type": "AWS::CloudWatch::Alarm", }, "ApiLambdaPythonlistItemsErrorsExecutionsAlarm50F77830": Object { "Properties": Object { "ActionsEnabled": true, "AlarmActions": Array [ Object { "Ref": "MonitoringAlarmTopicAF62D4F1", }, ], "ComparisonOperator": "GreaterThanOrEqualToThreshold", "DatapointsToAlarm": 3, "Dimensions": Array [ Object { "Name": "FunctionName", "Value": Object { "Ref": "ApiLambdaPythonListItemsFunction6E2E7058", }, }, ], "EvaluationPeriods": 3, "MetricName": "Errors", "Namespace": "AWS/Lambda", "Period": 60, "Statistic": "Average", "Threshold": 80, }, "Type": "AWS::CloudWatch::Alarm", }, "ApiLambdaPythonlistItemsThrottlesAlarm6969E734": Object { "Properties": Object { "ActionsEnabled": true, "AlarmActions": Array [ Object { "Ref": "MonitoringAlarmTopicAF62D4F1", }, ], "ComparisonOperator": "GreaterThanOrEqualToThreshold", "DatapointsToAlarm": 3, "Dimensions": Array [ Object { "Name": "FunctionName", "Value": Object { "Ref": "ApiLambdaPythonListItemsFunction6E2E7058", }, }, ], "EvaluationPeriods": 3, "MetricName": "Throttles", "Namespace": "AWS/Lambda", "Period": 60, "Statistic": "Average", "Threshold": 80, }, "Type": "AWS::CloudWatch::Alarm", }, "ApiLambdaPythonputItemConcurrentExecutionsAlarmA11DBC15": Object { "Properties": Object { "ActionsEnabled": true, "AlarmActions": Array [ Object { "Ref": "MonitoringAlarmTopicAF62D4F1", }, ], "ComparisonOperator": "GreaterThanOrEqualToThreshold", "DatapointsToAlarm": 3, "Dimensions": Array [ Object { "Name": "FunctionName", "Value": Object { "Ref": "ApiLambdaPythonPutItemFunction0EA5A227", }, }, ], "EvaluationPeriods": 3, "MetricName": "ConcurrentExecutions", "Namespace": "AWS/Lambda", "Period": 300, "Statistic": "Maximum", "Threshold": 80, }, "Type": "AWS::CloudWatch::Alarm", }, "ApiLambdaPythonputItemDurationAlarm3B22CCB7": Object { "Properties": Object { "ActionsEnabled": true, "AlarmActions": Array [ Object { "Ref": "MonitoringAlarmTopicAF62D4F1", }, ], "ComparisonOperator": "GreaterThanOrEqualToThreshold", "DatapointsToAlarm": 3, "Dimensions": Array [ Object { "Name": "FunctionName", "Value": Object { "Ref": "ApiLambdaPythonPutItemFunction0EA5A227", }, }, ], "EvaluationPeriods": 3, "MetricName": "Duration", "Namespace": "AWS/Lambda", "Period": 60, "Statistic": "Average", "Threshold": 80, }, "Type": "AWS::CloudWatch::Alarm", }, "ApiLambdaPythonputItemErrorsAlarm6023E1EC": Object { "Properties": Object { "ActionsEnabled": true, "AlarmActions": Array [ Object { "Ref": "MonitoringAlarmTopicAF62D4F1", }, ], "ComparisonOperator": "GreaterThanOrEqualToThreshold", "DatapointsToAlarm": 3, "Dimensions": Array [ Object { "Name": "FunctionName", "Value": Object { "Ref": "ApiLambdaPythonPutItemFunction0EA5A227", }, }, ], "EvaluationPeriods": 3, "MetricName": "Errors", "Namespace": "AWS/Lambda", "Period": 60, "Statistic": "Average", "Threshold": 80, }, "Type": "AWS::CloudWatch::Alarm", }, "ApiLambdaPythonputItemThrottlesAlarm7981B2AC": Object { "Properties": Object { "ActionsEnabled": true, "AlarmActions": Array [ Object { "Ref": "MonitoringAlarmTopicAF62D4F1", }, ], "ComparisonOperator": "GreaterThanOrEqualToThreshold", "DatapointsToAlarm": 3, "Dimensions": Array [ Object { "Name": "FunctionName", "Value": Object { "Ref": "ApiLambdaPythonPutItemFunction0EA5A227", }, }, ], "EvaluationPeriods": 3, "MetricName": "Throttles", "Namespace": "AWS/Lambda", "Period": 60, "Statistic": "Average", "Threshold": 80, }, "Type": "AWS::CloudWatch::Alarm", }, "ApiRestApiAccount598A1DA6": Object { "DeletionPolicy": "Retain", "DependsOn": Array [ "ApiRestApiE35FEAFE", ], "Properties": Object { "CloudWatchRoleArn": Object { "Fn::GetAtt": Array [ "ApiRestApiCloudWatchRoleB7879BFC", "Arn", ], }, }, "Type": "AWS::ApiGateway::Account", "UpdateReplacePolicy": "Retain", }, "ApiRestApiCloudWatchRoleB7879BFC": Object { "DeletionPolicy": "Retain", "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "apigateway.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AmazonAPIGatewayPushToCloudWatchLogs", ], ], }, ], }, "Type": "AWS::IAM::Role", "UpdateReplacePolicy": "Retain", }, "ApiRestApiDeploymentDC05A82D897c301a1bec5a379eebd5094efed118": Object { "DependsOn": Array [ "ApiRestApinodejsitemtitleGETC0EE8F85", "ApiRestApinodejsitemtitle29B62070", "ApiRestApinodejsitemPOST296B5713", "ApiRestApinodejsitemB718EB4B", "ApiRestApinodejslistGET729AFFC7", "ApiRestApinodejslistEE136EF7", "ApiRestApinodejsD890E984", "ApiRestApipythonitemtitleGET4BA7981E", "ApiRestApipythonitemtitle896EFCA5", "ApiRestApipythonitemPOST15FD049D", "ApiRestApipythonitemF1EBD3B9", "ApiRestApipythonlistGETA946A0F8", "ApiRestApipythonlist4EC12D2C", "ApiRestApipython2F6D6644", ], "Properties": Object { "Description": "Automatically created by the RestApi construct", "RestApiId": Object { "Ref": "ApiRestApiE35FEAFE", }, }, "Type": "AWS::ApiGateway::Deployment", }, "ApiRestApiDeploymentStageprodE828476C": Object { "DependsOn": Array [ "ApiRestApiAccount598A1DA6", ], "Properties": Object { "AccessLogSetting": Object { "DestinationArn": Object { "Fn::GetAtt": Array [ "ApiApiGatewayLogGroup7BC2F58D", "Arn", ], }, "Format": "{\\"requestId\\":\\"$context.requestId\\",\\"ip\\":\\"$context.identity.sourceIp\\",\\"user\\":\\"$context.identity.user\\",\\"caller\\":\\"$context.identity.caller\\",\\"requestTime\\":\\"$context.requestTime\\",\\"httpMethod\\":\\"$context.httpMethod\\",\\"resourcePath\\":\\"$context.resourcePath\\",\\"status\\":\\"$context.status\\",\\"protocol\\":\\"$context.protocol\\",\\"responseLength\\":\\"$context.responseLength\\"}", }, "DeploymentId": Object { "Ref": "ApiRestApiDeploymentDC05A82D897c301a1bec5a379eebd5094efed118", }, "MethodSettings": Array [ Object { "DataTraceEnabled": false, "HttpMethod": "*", "LoggingLevel": "INFO", "MetricsEnabled": true, "ResourcePath": "/*", }, ], "RestApiId": Object { "Ref": "ApiRestApiE35FEAFE", }, "StageName": "prod", "TracingEnabled": true, }, "Type": "AWS::ApiGateway::Stage", }, "ApiRestApiE35FEAFE": Object { "Properties": Object { "Name": "RestApi", }, "Type": "AWS::ApiGateway::RestApi", }, "ApiRestApinodejsD890E984": Object { "Properties": Object { "ParentId": Object { "Fn::GetAtt": Array [ "ApiRestApiE35FEAFE", "RootResourceId", ], }, "PathPart": "nodejs", "RestApiId": Object { "Ref": "ApiRestApiE35FEAFE", }, }, "Type": "AWS::ApiGateway::Resource", }, "ApiRestApinodejsitemB718EB4B": Object { "Properties": Object { "ParentId": Object { "Ref": "ApiRestApinodejsD890E984", }, "PathPart": "item", "RestApiId": Object { "Ref": "ApiRestApiE35FEAFE", }, }, "Type": "AWS::ApiGateway::Resource", }, "ApiRestApinodejsitemPOST296B5713": Object { "Properties": Object { "AuthorizationType": "NONE", "HttpMethod": "POST", "Integration": Object { "IntegrationHttpMethod": "POST", "Type": "AWS_PROXY", "Uri": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":apigateway:ap-northeast-1:lambda:path/2015-03-31/functions/", Object { "Fn::GetAtt": Array [ "ApiLambdaNodejsPutItemFunctionFC2FA584", "Arn", ], }, "/invocations", ], ], }, }, "ResourceId": Object { "Ref": "ApiRestApinodejsitemB718EB4B", }, "RestApiId": Object { "Ref": "ApiRestApiE35FEAFE", }, }, "Type": "AWS::ApiGateway::Method", }, "ApiRestApinodejsitemPOSTApiPermissionDevBLEAServerlessApiRestApiEBE3BF9APOSTnodejsitem1DBCEB01": Object { "Properties": Object { "Action": "lambda:InvokeFunction", "FunctionName": Object { "Fn::GetAtt": Array [ "ApiLambdaNodejsPutItemFunctionFC2FA584", "Arn", ], }, "Principal": "apigateway.amazonaws.com", "SourceArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":execute-api:ap-northeast-1:", Object { "Ref": "AWS::AccountId", }, ":", Object { "Ref": "ApiRestApiE35FEAFE", }, "/", Object { "Ref": "ApiRestApiDeploymentStageprodE828476C", }, "/POST/nodejs/item", ], ], }, }, "Type": "AWS::Lambda::Permission", }, "ApiRestApinodejsitemPOSTApiPermissionTestDevBLEAServerlessApiRestApiEBE3BF9APOSTnodejsitem1523F9C5": Object { "Properties": Object { "Action": "lambda:InvokeFunction", "FunctionName": Object { "Fn::GetAtt": Array [ "ApiLambdaNodejsPutItemFunctionFC2FA584", "Arn", ], }, "Principal": "apigateway.amazonaws.com", "SourceArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":execute-api:ap-northeast-1:", Object { "Ref": "AWS::AccountId", }, ":", Object { "Ref": "ApiRestApiE35FEAFE", }, "/test-invoke-stage/POST/nodejs/item", ], ], }, }, "Type": "AWS::Lambda::Permission", }, "ApiRestApinodejsitemtitle29B62070": Object { "Properties": Object { "ParentId": Object { "Ref": "ApiRestApinodejsitemB718EB4B", }, "PathPart": "{title}", "RestApiId": Object { "Ref": "ApiRestApiE35FEAFE", }, }, "Type": "AWS::ApiGateway::Resource", }, "ApiRestApinodejsitemtitleGETApiPermissionDevBLEAServerlessApiRestApiEBE3BF9AGETnodejsitemtitle81B2BFF3": Object { "Properties": Object { "Action": "lambda:InvokeFunction", "FunctionName": Object { "Fn::GetAtt": Array [ "ApiLambdaNodejsGetItemFunction690D1743", "Arn", ], }, "Principal": "apigateway.amazonaws.com", "SourceArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":execute-api:ap-northeast-1:", Object { "Ref": "AWS::AccountId", }, ":", Object { "Ref": "ApiRestApiE35FEAFE", }, "/", Object { "Ref": "ApiRestApiDeploymentStageprodE828476C", }, "/GET/nodejs/item/*", ], ], }, }, "Type": "AWS::Lambda::Permission", }, "ApiRestApinodejsitemtitleGETApiPermissionTestDevBLEAServerlessApiRestApiEBE3BF9AGETnodejsitemtitleB659ABEB": Object { "Properties": Object { "Action": "lambda:InvokeFunction", "FunctionName": Object { "Fn::GetAtt": Array [ "ApiLambdaNodejsGetItemFunction690D1743", "Arn", ], }, "Principal": "apigateway.amazonaws.com", "SourceArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":execute-api:ap-northeast-1:", Object { "Ref": "AWS::AccountId", }, ":", Object { "Ref": "ApiRestApiE35FEAFE", }, "/test-invoke-stage/GET/nodejs/item/*", ], ], }, }, "Type": "AWS::Lambda::Permission", }, "ApiRestApinodejsitemtitleGETC0EE8F85": Object { "Properties": Object { "AuthorizationType": "NONE", "HttpMethod": "GET", "Integration": Object { "IntegrationHttpMethod": "POST", "Type": "AWS_PROXY", "Uri": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":apigateway:ap-northeast-1:lambda:path/2015-03-31/functions/", Object { "Fn::GetAtt": Array [ "ApiLambdaNodejsGetItemFunction690D1743", "Arn", ], }, "/invocations", ], ], }, }, "ResourceId": Object { "Ref": "ApiRestApinodejsitemtitle29B62070", }, "RestApiId": Object { "Ref": "ApiRestApiE35FEAFE", }, }, "Type": "AWS::ApiGateway::Method", }, "ApiRestApinodejslistEE136EF7": Object { "Properties": Object { "ParentId": Object { "Ref": "ApiRestApinodejsD890E984", }, "PathPart": "list", "RestApiId": Object { "Ref": "ApiRestApiE35FEAFE", }, }, "Type": "AWS::ApiGateway::Resource", }, "ApiRestApinodejslistGET729AFFC7": Object { "Properties": Object { "AuthorizationType": "NONE", "HttpMethod": "GET", "Integration": Object { "IntegrationHttpMethod": "POST", "Type": "AWS_PROXY", "Uri": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":apigateway:ap-northeast-1:lambda:path/2015-03-31/functions/", Object { "Fn::GetAtt": Array [ "ApiLambdaNodejsListItemsFunction7383885E", "Arn", ], }, "/invocations", ], ], }, }, "ResourceId": Object { "Ref": "ApiRestApinodejslistEE136EF7", }, "RestApiId": Object { "Ref": "ApiRestApiE35FEAFE", }, }, "Type": "AWS::ApiGateway::Method", }, "ApiRestApinodejslistGETApiPermissionDevBLEAServerlessApiRestApiEBE3BF9AGETnodejslist5B482CF3": Object { "Properties": Object { "Action": "lambda:InvokeFunction", "FunctionName": Object { "Fn::GetAtt": Array [ "ApiLambdaNodejsListItemsFunction7383885E", "Arn", ], }, "Principal": "apigateway.amazonaws.com", "SourceArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":execute-api:ap-northeast-1:", Object { "Ref": "AWS::AccountId", }, ":", Object { "Ref": "ApiRestApiE35FEAFE", }, "/", Object { "Ref": "ApiRestApiDeploymentStageprodE828476C", }, "/GET/nodejs/list", ], ], }, }, "Type": "AWS::Lambda::Permission", }, "ApiRestApinodejslistGETApiPermissionTestDevBLEAServerlessApiRestApiEBE3BF9AGETnodejslist5E7FE9FC": Object { "Properties": Object { "Action": "lambda:InvokeFunction", "FunctionName": Object { "Fn::GetAtt": Array [ "ApiLambdaNodejsListItemsFunction7383885E", "Arn", ], }, "Principal": "apigateway.amazonaws.com", "SourceArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":execute-api:ap-northeast-1:", Object { "Ref": "AWS::AccountId", }, ":", Object { "Ref": "ApiRestApiE35FEAFE", }, "/test-invoke-stage/GET/nodejs/list", ], ], }, }, "Type": "AWS::Lambda::Permission", }, "ApiRestApipython2F6D6644": Object { "Properties": Object { "ParentId": Object { "Fn::GetAtt": Array [ "ApiRestApiE35FEAFE", "RootResourceId", ], }, "PathPart": "python", "RestApiId": Object { "Ref": "ApiRestApiE35FEAFE", }, }, "Type": "AWS::ApiGateway::Resource", }, "ApiRestApipythonitemF1EBD3B9": Object { "Properties": Object { "ParentId": Object { "Ref": "ApiRestApipython2F6D6644", }, "PathPart": "item", "RestApiId": Object { "Ref": "ApiRestApiE35FEAFE", }, }, "Type": "AWS::ApiGateway::Resource", }, "ApiRestApipythonitemPOST15FD049D": Object { "Properties": Object { "AuthorizationType": "NONE", "HttpMethod": "POST", "Integration": Object { "IntegrationHttpMethod": "POST", "Type": "AWS_PROXY", "Uri": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":apigateway:ap-northeast-1:lambda:path/2015-03-31/functions/", Object { "Fn::GetAtt": Array [ "ApiLambdaPythonPutItemFunction0EA5A227", "Arn", ], }, "/invocations", ], ], }, }, "ResourceId": Object { "Ref": "ApiRestApipythonitemF1EBD3B9", }, "RestApiId": Object { "Ref": "ApiRestApiE35FEAFE", }, }, "Type": "AWS::ApiGateway::Method", }, "ApiRestApipythonitemPOSTApiPermissionDevBLEAServerlessApiRestApiEBE3BF9APOSTpythonitem5761D1B8": Object { "Properties": Object { "Action": "lambda:InvokeFunction", "FunctionName": Object { "Fn::GetAtt": Array [ "ApiLambdaPythonPutItemFunction0EA5A227", "Arn", ], }, "Principal": "apigateway.amazonaws.com", "SourceArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":execute-api:ap-northeast-1:", Object { "Ref": "AWS::AccountId", }, ":", Object { "Ref": "ApiRestApiE35FEAFE", }, "/", Object { "Ref": "ApiRestApiDeploymentStageprodE828476C", }, "/POST/python/item", ], ], }, }, "Type": "AWS::Lambda::Permission", }, "ApiRestApipythonitemPOSTApiPermissionTestDevBLEAServerlessApiRestApiEBE3BF9APOSTpythonitem715A3E20": Object { "Properties": Object { "Action": "lambda:InvokeFunction", "FunctionName": Object { "Fn::GetAtt": Array [ "ApiLambdaPythonPutItemFunction0EA5A227", "Arn", ], }, "Principal": "apigateway.amazonaws.com", "SourceArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":execute-api:ap-northeast-1:", Object { "Ref": "AWS::AccountId", }, ":", Object { "Ref": "ApiRestApiE35FEAFE", }, "/test-invoke-stage/POST/python/item", ], ], }, }, "Type": "AWS::Lambda::Permission", }, "ApiRestApipythonitemtitle896EFCA5": Object { "Properties": Object { "ParentId": Object { "Ref": "ApiRestApipythonitemF1EBD3B9", }, "PathPart": "{title}", "RestApiId": Object { "Ref": "ApiRestApiE35FEAFE", }, }, "Type": "AWS::ApiGateway::Resource", }, "ApiRestApipythonitemtitleGET4BA7981E": Object { "Properties": Object { "AuthorizationType": "NONE", "HttpMethod": "GET", "Integration": Object { "IntegrationHttpMethod": "POST", "Type": "AWS_PROXY", "Uri": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":apigateway:ap-northeast-1:lambda:path/2015-03-31/functions/", Object { "Fn::GetAtt": Array [ "ApiLambdaPythonGetItemFunction7F81F93B", "Arn", ], }, "/invocations", ], ], }, }, "ResourceId": Object { "Ref": "ApiRestApipythonitemtitle896EFCA5", }, "RestApiId": Object { "Ref": "ApiRestApiE35FEAFE", }, }, "Type": "AWS::ApiGateway::Method", }, "ApiRestApipythonitemtitleGETApiPermissionDevBLEAServerlessApiRestApiEBE3BF9AGETpythonitemtitle9380763F": Object { "Properties": Object { "Action": "lambda:InvokeFunction", "FunctionName": Object { "Fn::GetAtt": Array [ "ApiLambdaPythonGetItemFunction7F81F93B", "Arn", ], }, "Principal": "apigateway.amazonaws.com", "SourceArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":execute-api:ap-northeast-1:", Object { "Ref": "AWS::AccountId", }, ":", Object { "Ref": "ApiRestApiE35FEAFE", }, "/", Object { "Ref": "ApiRestApiDeploymentStageprodE828476C", }, "/GET/python/item/*", ], ], }, }, "Type": "AWS::Lambda::Permission", }, "ApiRestApipythonitemtitleGETApiPermissionTestDevBLEAServerlessApiRestApiEBE3BF9AGETpythonitemtitleE2FDEC9D": Object { "Properties": Object { "Action": "lambda:InvokeFunction", "FunctionName": Object { "Fn::GetAtt": Array [ "ApiLambdaPythonGetItemFunction7F81F93B", "Arn", ], }, "Principal": "apigateway.amazonaws.com", "SourceArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":execute-api:ap-northeast-1:", Object { "Ref": "AWS::AccountId", }, ":", Object { "Ref": "ApiRestApiE35FEAFE", }, "/test-invoke-stage/GET/python/item/*", ], ], }, }, "Type": "AWS::Lambda::Permission", }, "ApiRestApipythonlist4EC12D2C": Object { "Properties": Object { "ParentId": Object { "Ref": "ApiRestApipython2F6D6644", }, "PathPart": "list", "RestApiId": Object { "Ref": "ApiRestApiE35FEAFE", }, }, "Type": "AWS::ApiGateway::Resource", }, "ApiRestApipythonlistGETA946A0F8": Object { "Properties": Object { "AuthorizationType": "NONE", "HttpMethod": "GET", "Integration": Object { "IntegrationHttpMethod": "POST", "Type": "AWS_PROXY", "Uri": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":apigateway:ap-northeast-1:lambda:path/2015-03-31/functions/", Object { "Fn::GetAtt": Array [ "ApiLambdaPythonListItemsFunction6E2E7058", "Arn", ], }, "/invocations", ], ], }, }, "ResourceId": Object { "Ref": "ApiRestApipythonlist4EC12D2C", }, "RestApiId": Object { "Ref": "ApiRestApiE35FEAFE", }, }, "Type": "AWS::ApiGateway::Method", }, "ApiRestApipythonlistGETApiPermissionDevBLEAServerlessApiRestApiEBE3BF9AGETpythonlist6FD5F4CB": Object { "Properties": Object { "Action": "lambda:InvokeFunction", "FunctionName": Object { "Fn::GetAtt": Array [ "ApiLambdaPythonListItemsFunction6E2E7058", "Arn", ], }, "Principal": "apigateway.amazonaws.com", "SourceArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":execute-api:ap-northeast-1:", Object { "Ref": "AWS::AccountId", }, ":", Object { "Ref": "ApiRestApiE35FEAFE", }, "/", Object { "Ref": "ApiRestApiDeploymentStageprodE828476C", }, "/GET/python/list", ], ], }, }, "Type": "AWS::Lambda::Permission", }, "ApiRestApipythonlistGETApiPermissionTestDevBLEAServerlessApiRestApiEBE3BF9AGETpythonlistC2B18F06": Object { "Properties": Object { "Action": "lambda:InvokeFunction", "FunctionName": Object { "Fn::GetAtt": Array [ "ApiLambdaPythonListItemsFunction6E2E7058", "Arn", ], }, "Principal": "apigateway.amazonaws.com", "SourceArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":execute-api:ap-northeast-1:", Object { "Ref": "AWS::AccountId", }, ":", Object { "Ref": "ApiRestApiE35FEAFE", }, "/test-invoke-stage/GET/python/list", ], ], }, }, "Type": "AWS::Lambda::Permission", }, "CMK56817A4C": Object { "DeletionPolicy": "Retain", "Properties": Object { "Description": "BLEA Guest Sample: CMK for ServerlessApi", "EnableKeyRotation": true, "KeyPolicy": Object { "Statement": Array [ Object { "Action": "kms:*", "Effect": "Allow", "Principal": Object { "AWS": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::", Object { "Ref": "AWS::AccountId", }, ":root", ], ], }, }, "Resource": "*", }, Object { "Action": Array [ "kms:Encrypt*", "kms:Decrypt*", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:Describe*", ], "Condition": Object { "ArnLike": Object { "aws:PrincipalArn": Object { "Fn::Join": Array [ "", Array [ "arn:aws:iam::", Object { "Ref": "AWS::AccountId", }, ":role/BLEA-LambdaNodejs-*", ], ], }, }, }, "Effect": "Allow", "Principal": Object { "AWS": "*", }, "Resource": "*", }, Object { "Action": Array [ "kms:Encrypt*", "kms:Decrypt*", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:Describe*", ], "Condition": Object { "ArnLike": Object { "aws:PrincipalArn": Object { "Fn::Join": Array [ "", Array [ "arn:aws:iam::", Object { "Ref": "AWS::AccountId", }, ":role/BLEA-LambdaPython-*", ], ], }, }, }, "Effect": "Allow", "Principal": Object { "AWS": "*", }, "Resource": "*", }, ], "Version": "2012-10-17", }, }, "Type": "AWS::KMS::Key", "UpdateReplacePolicy": "Retain", }, "CMKAliasFD5A95C9": Object { "Properties": Object { "AliasName": "alias/DevBLEAServerlessApi", "TargetKeyId": Object { "Fn::GetAtt": Array [ "CMK56817A4C", "Arn", ], }, }, "Type": "AWS::KMS::Alias", }, "DatastoreDynamoConsumedReadCapacityUnitE16CED8A": Object { "Properties": Object { "ActionsEnabled": true, "AlarmActions": Array [ Object { "Ref": "MonitoringAlarmTopicAF62D4F1", }, ], "ComparisonOperator": "GreaterThanOrEqualToThreshold", "DatapointsToAlarm": 3, "Dimensions": Array [ Object { "Name": "TableName", "Value": Object { "Ref": "DatastoreTable6900098D", }, }, ], "EvaluationPeriods": 3, "MetricName": "ConsumedReadCapacityUnits", "Namespace": "AWS/DynamoDB", "Period": 300, "Statistic": "Average", "Threshold": 90, }, "Type": "AWS::CloudWatch::Alarm", }, "DatastoreTable6900098D": Object { "DeletionPolicy": "Retain", "Properties": Object { "AttributeDefinitions": Array [ Object { "AttributeName": "title", "AttributeType": "S", }, Object { "AttributeName": "content", "AttributeType": "S", }, Object { "AttributeName": "createdAt", "AttributeType": "S", }, ], "BillingMode": "PAY_PER_REQUEST", "KeySchema": Array [ Object { "AttributeName": "title", "KeyType": "HASH", }, Object { "AttributeName": "content", "KeyType": "RANGE", }, ], "LocalSecondaryIndexes": Array [ Object { "IndexName": "CreatedAtLSI", "KeySchema": Array [ Object { "AttributeName": "title", "KeyType": "HASH", }, Object { "AttributeName": "createdAt", "KeyType": "RANGE", }, ], "Projection": Object { "ProjectionType": "ALL", }, }, ], "SSESpecification": Object { "KMSMasterKeyId": Object { "Fn::GetAtt": Array [ "CMK56817A4C", "Arn", ], }, "SSEEnabled": true, "SSEType": "KMS", }, }, "Type": "AWS::DynamoDB::Table", "UpdateReplacePolicy": "Retain", }, "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aFD4BFC8A": Object { "DependsOn": Array [ "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aServiceRoleDefaultPolicyADDA7DEB", "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aServiceRole9741ECFB", ], "Properties": Object { "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-ap-northeast-1", }, "S3Key": "5fa1330271b8967d9254ba2d4a07144f8acefe8b77e6d6bba38261373a50d5f8.zip", }, "Handler": "index.handler", "Role": Object { "Fn::GetAtt": Array [ "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aServiceRole9741ECFB", "Arn", ], }, "Runtime": "nodejs16.x", }, "Type": "AWS::Lambda::Function", }, "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aServiceRole9741ECFB": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", ], ], }, ], }, "Type": "AWS::IAM::Role", }, "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aServiceRoleDefaultPolicyADDA7DEB": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "logs:PutRetentionPolicy", "logs:DeleteRetentionPolicy", ], "Effect": "Allow", "Resource": "*", }, ], "Version": "2012-10-17", }, "PolicyName": "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aServiceRoleDefaultPolicyADDA7DEB", "Roles": Array [ Object { "Ref": "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aServiceRole9741ECFB", }, ], }, "Type": "AWS::IAM::Policy", }, "MonitoringAlarmTopicAF62D4F1": Object { "Type": "AWS::SNS::Topic", }, "MonitoringAlarmTopicPolicyCB9CCFB0": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": "sns:Publish", "Effect": "Allow", "Principal": Object { "Service": "cloudwatch.amazonaws.com", }, "Resource": Object { "Ref": "MonitoringAlarmTopicAF62D4F1", }, "Sid": "0", }, ], "Version": "2012-10-17", }, "Topics": Array [ Object { "Ref": "MonitoringAlarmTopicAF62D4F1", }, ], }, "Type": "AWS::SNS::TopicPolicy", }, "MonitoringChatbotChannel3696F0E4": Object { "Properties": Object { "ConfigurationName": "DevBLEAServerlessApiMonitoring9149EEBF", "IamRoleArn": Object { "Fn::GetAtt": Array [ "MonitoringChatbotRoleD766A77D", "Arn", ], }, "SlackChannelId": "CYYYYYYYYYY", "SlackWorkspaceId": "TXXXXXXXXXX", "SnsTopicArns": Array [ Object { "Ref": "MonitoringAlarmTopicAF62D4F1", }, ], }, "Type": "AWS::Chatbot::SlackChannelConfiguration", }, "MonitoringChatbotRoleD766A77D": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "chatbot.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/ReadOnlyAccess", ], ], }, Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/CloudWatchReadOnlyAccess", ], ], }, ], }, "Type": "AWS::IAM::Role", }, "MonitoringEmailSubsc6D15C956": Object { "Properties": Object { "Endpoint": "notify-security@example.com", "Protocol": "email", "TopicArn": Object { "Ref": "MonitoringAlarmTopicAF62D4F1", }, }, "Type": "AWS::SNS::Subscription", }, }, "Rules": Object { "CheckBootstrapVersion": Object { "Assertions": Array [ Object { "Assert": Object { "Fn::Not": Array [ Object { "Fn::Contains": Array [ Array [ "1", "2", "3", "4", "5", ], Object { "Ref": "BootstrapVersion", }, ], }, ], }, "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI.", }, ], }, }, } `;