// Jest Snapshot v1, https://goo.gl/fbAQLP exports[`MonitoringAspect ACM 1`] = ` Object { "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 { "DashboardFactoryAlarmDashboard6286FAD3": Object { "Properties": Object { "DashboardBody": "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[]}", "DashboardName": "DummyDashboard-Alarms", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactoryDashboard3E20AD6E": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### Certificate **Default/DummyCertificate**\\"}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Expiration\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/CertificateManager\\",\\"DaysToExpiry\\",\\"CertificateArn\\",\\"", Object { "Ref": "DummyCertificate611A1363", }, "\\",{\\"label\\":\\"Days to expiry\\",\\"stat\\":\\"Minimum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactorySummaryDashboard5F4BC8C5": Object { "Properties": Object { "DashboardBody": "{\\"start\\":\\"-P14D\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[]}", "DashboardName": "DummyDashboard-Summary", }, "Type": "AWS::CloudWatch::Dashboard", }, "DummyCertificate611A1363": Object { "Properties": Object { "DomainName": "www.monitoring.cdk", "DomainValidationOptions": Array [ Object { "DomainName": "www.monitoring.cdk", "ValidationDomain": "cdk", }, ], "Tags": Array [ Object { "Key": "Name", "Value": "Default/DummyCertificate", }, ], "ValidationMethod": "EMAIL", }, "Type": "AWS::CertificateManager::Certificate", }, }, "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.", }, ], }, }, } `; exports[`MonitoringAspect API Gateway 1`] = ` Object { "Outputs": Object { "DummyRestApiEndpoint3DE3EBDB": Object { "Value": Object { "Fn::Join": Array [ "", Array [ "https://", Object { "Ref": "DummyRestApi328A173A", }, ".execute-api.", Object { "Ref": "AWS::Region", }, ".", Object { "Ref": "AWS::URLSuffix", }, "/", Object { "Ref": "DummyRestApiDeploymentStageprodB7A8F869", }, "/", ], ], }, }, }, "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 { "DashboardFactoryAlarmDashboard6286FAD3": Object { "Properties": Object { "DashboardBody": "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[]}", "DashboardName": "DummyDashboard-Alarms", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactoryDashboard3E20AD6E": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### API Gateway Endpoint **DummyRestApi prod**\\"}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"TPS\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[{\\"label\\":\\"Count/s\\",\\"expression\\":\\"FILL(requests,0) / PERIOD(requests)\\"}],[\\"AWS/ApiGateway\\",\\"Count\\",\\"ApiName\\",\\"DummyRestApi\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"Count\\",\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"requests\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":6,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Latency\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ApiGateway\\",\\"Latency\\",\\"ApiName\\",\\"DummyRestApi\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"P50 (avg: \${AVG})\\",\\"stat\\":\\"p50\\"}],[\\"AWS/ApiGateway\\",\\"Latency\\",\\"ApiName\\",\\"DummyRestApi\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"P90 (avg: \${AVG})\\",\\"stat\\":\\"p90\\"}],[\\"AWS/ApiGateway\\",\\"Latency\\",\\"ApiName\\",\\"DummyRestApi\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"P99 (avg: \${AVG})\\",\\"stat\\":\\"p99\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"ms\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":12,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Errors\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ApiGateway\\",\\"4XXError\\",\\"ApiName\\",\\"DummyRestApi\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"4XX Error\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApiGateway\\",\\"5XXError\\",\\"ApiName\\",\\"DummyRestApi\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"5XX Fault\\",\\"stat\\":\\"Sum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":18,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Errors (rate)\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ApiGateway\\",\\"4XXError\\",\\"ApiName\\",\\"DummyRestApi\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"4XX Error (avg)\\"}],[\\"AWS/ApiGateway\\",\\"5XXError\\",\\"ApiName\\",\\"DummyRestApi\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"5XX Fault (avg)\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Rate\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactorySummaryDashboard5F4BC8C5": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-P14D\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### API Gateway Endpoint **DummyRestApi prod**\\"}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":6,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"TPS\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[{\\"label\\":\\"Count/s\\",\\"expression\\":\\"FILL(requests,0) / PERIOD(requests)\\"}],[\\"AWS/ApiGateway\\",\\"Count\\",\\"ApiName\\",\\"DummyRestApi\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"Count\\",\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"requests\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":6,\\"x\\":8,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Latency\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ApiGateway\\",\\"Latency\\",\\"ApiName\\",\\"DummyRestApi\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"P50 (avg: \${AVG})\\",\\"stat\\":\\"p50\\"}],[\\"AWS/ApiGateway\\",\\"Latency\\",\\"ApiName\\",\\"DummyRestApi\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"P90 (avg: \${AVG})\\",\\"stat\\":\\"p90\\"}],[\\"AWS/ApiGateway\\",\\"Latency\\",\\"ApiName\\",\\"DummyRestApi\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"P99 (avg: \${AVG})\\",\\"stat\\":\\"p99\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"ms\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":6,\\"x\\":16,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Errors (rate)\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ApiGateway\\",\\"4XXError\\",\\"ApiName\\",\\"DummyRestApi\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"4XX Error (avg)\\"}],[\\"AWS/ApiGateway\\",\\"5XXError\\",\\"ApiName\\",\\"DummyRestApi\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"5XX Fault (avg)\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Rate\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard-Summary", }, "Type": "AWS::CloudWatch::Dashboard", }, "DummyRestApi328A173A": Object { "Properties": Object { "Name": "DummyRestApi", }, "Type": "AWS::ApiGateway::RestApi", }, "DummyRestApiANYCDDCFD86": Object { "Properties": Object { "AuthorizationType": "NONE", "HttpMethod": "ANY", "Integration": Object { "Type": "MOCK", }, "ResourceId": Object { "Fn::GetAtt": Array [ "DummyRestApi328A173A", "RootResourceId", ], }, "RestApiId": Object { "Ref": "DummyRestApi328A173A", }, }, "Type": "AWS::ApiGateway::Method", }, "DummyRestApiAccount722BC8C0": Object { "DeletionPolicy": "Retain", "DependsOn": Array [ "DummyRestApi328A173A", ], "Properties": Object { "CloudWatchRoleArn": Object { "Fn::GetAtt": Array [ "DummyRestApiCloudWatchRoleA16B4AC6", "Arn", ], }, }, "Type": "AWS::ApiGateway::Account", "UpdateReplacePolicy": "Retain", }, "DummyRestApiCloudWatchRoleA16B4AC6": 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", }, "DummyRestApiDeploymentE536A000827e68cce8aade0ba98340f42cbf5e9e": Object { "DependsOn": Array [ "DummyRestApiANYCDDCFD86", ], "Properties": Object { "Description": "Automatically created by the RestApi construct", "RestApiId": Object { "Ref": "DummyRestApi328A173A", }, }, "Type": "AWS::ApiGateway::Deployment", }, "DummyRestApiDeploymentStageprodB7A8F869": Object { "DependsOn": Array [ "DummyRestApiAccount722BC8C0", ], "Properties": Object { "DeploymentId": Object { "Ref": "DummyRestApiDeploymentE536A000827e68cce8aade0ba98340f42cbf5e9e", }, "RestApiId": Object { "Ref": "DummyRestApi328A173A", }, "StageName": "prod", }, "Type": "AWS::ApiGateway::Stage", }, }, "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.", }, ], }, }, } `; exports[`MonitoringAspect API Gateway V2 1`] = ` Object { "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 { "DashboardFactoryAlarmDashboard6286FAD3": Object { "Properties": Object { "DashboardBody": "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[]}", "DashboardName": "DummyDashboard-Alarms", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactoryDashboard3E20AD6E": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### API Gateway V2 HTTP Endpoint **", Object { "Ref": "DummyHttpApi8EEBCC85", }, " $default**\\"}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"TPS\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[{\\"label\\":\\"TPS\\",\\"expression\\":\\"requests / PERIOD(requests)\\"}],[\\"AWS/ApiGateway\\",\\"Count\\",\\"ApiId\\",\\"", Object { "Ref": "DummyHttpApi8EEBCC85", }, "\\",\\"Stage\\",\\"$default\\",{\\"label\\":\\"Invocations\\",\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"requests\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Rate\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":6,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Latency\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ApiGateway\\",\\"Latency\\",\\"ApiId\\",\\"", Object { "Ref": "DummyHttpApi8EEBCC85", }, "\\",\\"Stage\\",\\"$default\\",{\\"label\\":\\"P50 (avg: \${AVG})\\",\\"stat\\":\\"p50\\"}],[\\"AWS/ApiGateway\\",\\"IntegrationLatency\\",\\"ApiId\\",\\"", Object { "Ref": "DummyHttpApi8EEBCC85", }, "\\",\\"Stage\\",\\"$default\\",{\\"label\\":\\"P50 (avg: \${AVG})\\",\\"stat\\":\\"p50\\"}],[\\"AWS/ApiGateway\\",\\"Latency\\",\\"ApiId\\",\\"", Object { "Ref": "DummyHttpApi8EEBCC85", }, "\\",\\"Stage\\",\\"$default\\",{\\"label\\":\\"P90 (avg: \${AVG})\\",\\"stat\\":\\"p90\\"}],[\\"AWS/ApiGateway\\",\\"IntegrationLatency\\",\\"ApiId\\",\\"", Object { "Ref": "DummyHttpApi8EEBCC85", }, "\\",\\"Stage\\",\\"$default\\",{\\"label\\":\\"P90 (avg: \${AVG})\\",\\"stat\\":\\"p90\\"}],[\\"AWS/ApiGateway\\",\\"Latency\\",\\"ApiId\\",\\"", Object { "Ref": "DummyHttpApi8EEBCC85", }, "\\",\\"Stage\\",\\"$default\\",{\\"label\\":\\"P99 (avg: \${AVG})\\",\\"stat\\":\\"p99\\"}],[\\"AWS/ApiGateway\\",\\"IntegrationLatency\\",\\"ApiId\\",\\"", Object { "Ref": "DummyHttpApi8EEBCC85", }, "\\",\\"Stage\\",\\"$default\\",{\\"label\\":\\"P99 (avg: \${AVG})\\",\\"stat\\":\\"p99\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"ms\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":12,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Errors\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ApiGateway\\",\\"4xx\\",\\"ApiId\\",\\"", Object { "Ref": "DummyHttpApi8EEBCC85", }, "\\",\\"Stage\\",\\"$default\\",{\\"label\\":\\"4xx\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApiGateway\\",\\"5xx\\",\\"ApiId\\",\\"", Object { "Ref": "DummyHttpApi8EEBCC85", }, "\\",\\"Stage\\",\\"$default\\",{\\"label\\":\\"5xx\\",\\"stat\\":\\"Sum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":18,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Errors (rate)\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ApiGateway\\",\\"4xx\\",\\"ApiId\\",\\"", Object { "Ref": "DummyHttpApi8EEBCC85", }, "\\",\\"Stage\\",\\"$default\\",{\\"label\\":\\"4xx (avg)\\"}],[\\"AWS/ApiGateway\\",\\"5xx\\",\\"ApiId\\",\\"", Object { "Ref": "DummyHttpApi8EEBCC85", }, "\\",\\"Stage\\",\\"$default\\",{\\"label\\":\\"5xx (avg)\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Rate\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactorySummaryDashboard5F4BC8C5": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-P14D\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### API Gateway V2 HTTP Endpoint **", Object { "Ref": "DummyHttpApi8EEBCC85", }, " $default**\\"}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":6,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"TPS\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[{\\"label\\":\\"TPS\\",\\"expression\\":\\"requests / PERIOD(requests)\\"}],[\\"AWS/ApiGateway\\",\\"Count\\",\\"ApiId\\",\\"", Object { "Ref": "DummyHttpApi8EEBCC85", }, "\\",\\"Stage\\",\\"$default\\",{\\"label\\":\\"Invocations\\",\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"requests\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Rate\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":6,\\"x\\":8,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Latency\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ApiGateway\\",\\"Latency\\",\\"ApiId\\",\\"", Object { "Ref": "DummyHttpApi8EEBCC85", }, "\\",\\"Stage\\",\\"$default\\",{\\"label\\":\\"P50 (avg: \${AVG})\\",\\"stat\\":\\"p50\\"}],[\\"AWS/ApiGateway\\",\\"IntegrationLatency\\",\\"ApiId\\",\\"", Object { "Ref": "DummyHttpApi8EEBCC85", }, "\\",\\"Stage\\",\\"$default\\",{\\"label\\":\\"P50 (avg: \${AVG})\\",\\"stat\\":\\"p50\\"}],[\\"AWS/ApiGateway\\",\\"Latency\\",\\"ApiId\\",\\"", Object { "Ref": "DummyHttpApi8EEBCC85", }, "\\",\\"Stage\\",\\"$default\\",{\\"label\\":\\"P90 (avg: \${AVG})\\",\\"stat\\":\\"p90\\"}],[\\"AWS/ApiGateway\\",\\"IntegrationLatency\\",\\"ApiId\\",\\"", Object { "Ref": "DummyHttpApi8EEBCC85", }, "\\",\\"Stage\\",\\"$default\\",{\\"label\\":\\"P90 (avg: \${AVG})\\",\\"stat\\":\\"p90\\"}],[\\"AWS/ApiGateway\\",\\"Latency\\",\\"ApiId\\",\\"", Object { "Ref": "DummyHttpApi8EEBCC85", }, "\\",\\"Stage\\",\\"$default\\",{\\"label\\":\\"P99 (avg: \${AVG})\\",\\"stat\\":\\"p99\\"}],[\\"AWS/ApiGateway\\",\\"IntegrationLatency\\",\\"ApiId\\",\\"", Object { "Ref": "DummyHttpApi8EEBCC85", }, "\\",\\"Stage\\",\\"$default\\",{\\"label\\":\\"P99 (avg: \${AVG})\\",\\"stat\\":\\"p99\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"ms\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":6,\\"x\\":16,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Errors (rate)\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ApiGateway\\",\\"4xx\\",\\"ApiId\\",\\"", Object { "Ref": "DummyHttpApi8EEBCC85", }, "\\",\\"Stage\\",\\"$default\\",{\\"label\\":\\"4xx (avg)\\"}],[\\"AWS/ApiGateway\\",\\"5xx\\",\\"ApiId\\",\\"", Object { "Ref": "DummyHttpApi8EEBCC85", }, "\\",\\"Stage\\",\\"$default\\",{\\"label\\":\\"5xx (avg)\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Rate\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard-Summary", }, "Type": "AWS::CloudWatch::Dashboard", }, "DummyHttpApi8EEBCC85": Object { "Properties": Object { "Name": "DummyHttpApi", "ProtocolType": "HTTP", }, "Type": "AWS::ApiGatewayV2::Api", }, "DummyHttpApiDefaultStage62F2901C": Object { "Properties": Object { "ApiId": Object { "Ref": "DummyHttpApi8EEBCC85", }, "AutoDeploy": true, "StageName": "$default", }, "Type": "AWS::ApiGatewayV2::Stage", }, }, "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.", }, ], }, }, } `; exports[`MonitoringAspect AppSync 1`] = ` Object { "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 { "DashboardFactoryAlarmDashboard6286FAD3": Object { "Properties": Object { "DashboardBody": "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[]}", "DashboardName": "DummyDashboard-Alarms", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactoryDashboard3E20AD6E": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### AppSync GraphQL API **Default/DummyGraphqlApi**\\"}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"TPS\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[{\\"label\\":\\"TPS (min: \${MIN}, max: \${MAX}, avg: \${AVG})\\",\\"expression\\":\\"FILL(requests,0) / PERIOD(requests)\\"}],[\\"AWS/AppSync\\",\\"Latency\\",\\"GraphQLAPIId\\",\\"", Object { "Fn::GetAtt": Array [ "DummyGraphqlApiBBCEEBF5", "ApiId", ], }, "\\",{\\"label\\":\\"Requests\\",\\"stat\\":\\"SampleCount\\",\\"visible\\":false,\\"id\\":\\"requests\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Rate\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":6,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Latency\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/AppSync\\",\\"Latency\\",\\"GraphQLAPIId\\",\\"", Object { "Fn::GetAtt": Array [ "DummyGraphqlApiBBCEEBF5", "ApiId", ], }, "\\",{\\"label\\":\\"P50\\",\\"stat\\":\\"p50\\"}],[\\"AWS/AppSync\\",\\"Latency\\",\\"GraphQLAPIId\\",\\"", Object { "Fn::GetAtt": Array [ "DummyGraphqlApiBBCEEBF5", "ApiId", ], }, "\\",{\\"label\\":\\"P90\\",\\"stat\\":\\"p90\\"}],[\\"AWS/AppSync\\",\\"Latency\\",\\"GraphQLAPIId\\",\\"", Object { "Fn::GetAtt": Array [ "DummyGraphqlApiBBCEEBF5", "ApiId", ], }, "\\",{\\"label\\":\\"P99\\",\\"stat\\":\\"p99\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"ms\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":12,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Errors\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/AppSync\\",\\"4XXError\\",\\"GraphQLAPIId\\",\\"", Object { "Fn::GetAtt": Array [ "DummyGraphqlApiBBCEEBF5", "ApiId", ], }, "\\",{\\"label\\":\\"4XX Error\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/AppSync\\",\\"5XXError\\",\\"GraphQLAPIId\\",\\"", Object { "Fn::GetAtt": Array [ "DummyGraphqlApiBBCEEBF5", "ApiId", ], }, "\\",{\\"label\\":\\"5XX Fault\\",\\"stat\\":\\"Sum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":18,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Errors (rate)\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/AppSync\\",\\"4XXError\\",\\"GraphQLAPIId\\",\\"", Object { "Fn::GetAtt": Array [ "DummyGraphqlApiBBCEEBF5", "ApiId", ], }, "\\",{\\"label\\":\\"4XX Error (avg)\\"}],[\\"AWS/AppSync\\",\\"5XXError\\",\\"GraphQLAPIId\\",\\"", Object { "Fn::GetAtt": Array [ "DummyGraphqlApiBBCEEBF5", "ApiId", ], }, "\\",{\\"label\\":\\"5XX Fault (avg)\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Rate\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactorySummaryDashboard5F4BC8C5": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-P14D\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### AppSync GraphQL API **Default/DummyGraphqlApi**\\"}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":6,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"TPS\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[{\\"label\\":\\"TPS (min: \${MIN}, max: \${MAX}, avg: \${AVG})\\",\\"expression\\":\\"FILL(requests,0) / PERIOD(requests)\\"}],[\\"AWS/AppSync\\",\\"Latency\\",\\"GraphQLAPIId\\",\\"", Object { "Fn::GetAtt": Array [ "DummyGraphqlApiBBCEEBF5", "ApiId", ], }, "\\",{\\"label\\":\\"Requests\\",\\"stat\\":\\"SampleCount\\",\\"visible\\":false,\\"id\\":\\"requests\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Rate\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":6,\\"x\\":8,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Latency\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/AppSync\\",\\"Latency\\",\\"GraphQLAPIId\\",\\"", Object { "Fn::GetAtt": Array [ "DummyGraphqlApiBBCEEBF5", "ApiId", ], }, "\\",{\\"label\\":\\"P50\\",\\"stat\\":\\"p50\\"}],[\\"AWS/AppSync\\",\\"Latency\\",\\"GraphQLAPIId\\",\\"", Object { "Fn::GetAtt": Array [ "DummyGraphqlApiBBCEEBF5", "ApiId", ], }, "\\",{\\"label\\":\\"P90\\",\\"stat\\":\\"p90\\"}],[\\"AWS/AppSync\\",\\"Latency\\",\\"GraphQLAPIId\\",\\"", Object { "Fn::GetAtt": Array [ "DummyGraphqlApiBBCEEBF5", "ApiId", ], }, "\\",{\\"label\\":\\"P99\\",\\"stat\\":\\"p99\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"ms\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":6,\\"x\\":16,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Errors (rate)\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/AppSync\\",\\"4XXError\\",\\"GraphQLAPIId\\",\\"", Object { "Fn::GetAtt": Array [ "DummyGraphqlApiBBCEEBF5", "ApiId", ], }, "\\",{\\"label\\":\\"4XX Error (avg)\\"}],[\\"AWS/AppSync\\",\\"5XXError\\",\\"GraphQLAPIId\\",\\"", Object { "Fn::GetAtt": Array [ "DummyGraphqlApiBBCEEBF5", "ApiId", ], }, "\\",{\\"label\\":\\"5XX Fault (avg)\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Rate\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard-Summary", }, "Type": "AWS::CloudWatch::Dashboard", }, "DummyGraphqlApiBBCEEBF5": Object { "Properties": Object { "AuthenticationType": "API_KEY", "Name": "DummyGraphqlApi", }, "Type": "AWS::AppSync::GraphQLApi", }, "DummyGraphqlApiDefaultApiKey1C3C7926": Object { "DependsOn": Array [ "DummyGraphqlApiSchemaC86246F8", ], "Properties": Object { "ApiId": Object { "Fn::GetAtt": Array [ "DummyGraphqlApiBBCEEBF5", "ApiId", ], }, }, "Type": "AWS::AppSync::ApiKey", }, "DummyGraphqlApiSchemaC86246F8": Object { "Properties": Object { "ApiId": Object { "Fn::GetAtt": Array [ "DummyGraphqlApiBBCEEBF5", "ApiId", ], }, "Definition": "type demo { id: String! version: String! } type Query { getDemos: [ demo! ] } input DemoInput { version: String! } type Mutation { addDemo(input: DemoInput!): demo } ", }, "Type": "AWS::AppSync::GraphQLSchema", }, }, "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.", }, ], }, }, } `; exports[`MonitoringAspect AutoScaling 1`] = ` Object { "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", }, "SsmParameterValueawsserviceamiamazonlinuxlatestamznamihvmx8664gp2C96584B6F00A464EAD1953AFF4B05118Parameter": Object { "Default": "/aws/service/ami-amazon-linux-latest/amzn-ami-hvm-x86_64-gp2", "Type": "AWS::SSM::Parameter::Value", }, }, "Resources": Object { "ASG46ED3070": Object { "Properties": Object { "AutoScalingGroupName": "DummyASG", "DesiredCapacity": "5", "LaunchConfigurationName": Object { "Ref": "ASGLaunchConfigC00AF12B", }, "MaxSize": "10", "MinSize": "1", "Tags": Array [ Object { "Key": "Name", "PropagateAtLaunch": true, "Value": "Default/ASG", }, ], "VPCZoneIdentifier": Array [ Object { "Ref": "VpcPrivateSubnet1Subnet536B997A", }, Object { "Ref": "VpcPrivateSubnet2Subnet3788AAA1", }, ], }, "Type": "AWS::AutoScaling::AutoScalingGroup", "UpdatePolicy": Object { "AutoScalingScheduledAction": Object { "IgnoreUnmodifiedGroupSizeProperties": true, }, }, }, "ASGInstanceProfile0A2834D7": Object { "Properties": Object { "Roles": Array [ Object { "Ref": "ASGInstanceRoleE263A41B", }, ], }, "Type": "AWS::IAM::InstanceProfile", }, "ASGInstanceRoleE263A41B": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "ec2.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "Tags": Array [ Object { "Key": "Name", "Value": "Default/ASG", }, ], }, "Type": "AWS::IAM::Role", }, "ASGInstanceSecurityGroup0525485D": Object { "Properties": Object { "GroupDescription": "Default/ASG/InstanceSecurityGroup", "SecurityGroupEgress": Array [ Object { "CidrIp": "0.0.0.0/0", "Description": "Allow all outbound traffic by default", "IpProtocol": "-1", }, ], "Tags": Array [ Object { "Key": "Name", "Value": "Default/ASG", }, ], "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::SecurityGroup", }, "ASGLaunchConfigC00AF12B": Object { "DependsOn": Array [ "ASGInstanceRoleE263A41B", ], "Properties": Object { "IamInstanceProfile": Object { "Ref": "ASGInstanceProfile0A2834D7", }, "ImageId": Object { "Ref": "SsmParameterValueawsserviceamiamazonlinuxlatestamznamihvmx8664gp2C96584B6F00A464EAD1953AFF4B05118Parameter", }, "InstanceType": "m4.large", "SecurityGroups": Array [ Object { "Fn::GetAtt": Array [ "ASGInstanceSecurityGroup0525485D", "GroupId", ], }, ], "UserData": Object { "Fn::Base64": "#!/bin/bash", }, }, "Type": "AWS::AutoScaling::LaunchConfiguration", }, "DashboardFactoryAlarmDashboard6286FAD3": Object { "Properties": Object { "DashboardBody": "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[]}", "DashboardName": "DummyDashboard-Alarms", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactoryDashboard3E20AD6E": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### Auto Scaling Group **ASG**\\"}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":5,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Group Size\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/AutoScaling\\",\\"GroupMinSize\\",\\"AutoScalingGroupName\\",\\"", Object { "Ref": "ASG46ED3070", }, "\\",{\\"label\\":\\"Min\\"}],[\\"AWS/AutoScaling\\",\\"GroupMaxSize\\",\\"AutoScalingGroupName\\",\\"", Object { "Ref": "ASG46ED3070", }, "\\",{\\"label\\":\\"Max\\"}],[\\"AWS/AutoScaling\\",\\"GroupDesiredCapacity\\",\\"AutoScalingGroupName\\",\\"", Object { "Ref": "ASG46ED3070", }, "\\",{\\"label\\":\\"Desired\\"}],[\\"AWS/AutoScaling\\",\\"GroupTotalInstances\\",\\"AutoScalingGroupName\\",\\"", Object { "Ref": "ASG46ED3070", }, "\\",{\\"label\\":\\"Total\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":5,\\"x\\":12,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Instance States\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"stacked\\":true,\\"metrics\\":[[\\"AWS/AutoScaling\\",\\"GroupInServiceInstances\\",\\"AutoScalingGroupName\\",\\"", Object { "Ref": "ASG46ED3070", }, "\\",{\\"label\\":\\"InService\\"}],[\\"AWS/AutoScaling\\",\\"GroupPendingInstances\\",\\"AutoScalingGroupName\\",\\"", Object { "Ref": "ASG46ED3070", }, "\\",{\\"label\\":\\"Pending\\"}],[\\"AWS/AutoScaling\\",\\"GroupStandbyInstances\\",\\"AutoScalingGroupName\\",\\"", Object { "Ref": "ASG46ED3070", }, "\\",{\\"label\\":\\"Standby\\"}],[\\"AWS/AutoScaling\\",\\"GroupTerminatingInstances\\",\\"AutoScalingGroupName\\",\\"", Object { "Ref": "ASG46ED3070", }, "\\",{\\"label\\":\\"Terminating\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactorySummaryDashboard5F4BC8C5": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-P14D\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### Auto Scaling Group **ASG**\\"}},{\\"type\\":\\"metric\\",\\"width\\":24,\\"height\\":6,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Group Size\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/AutoScaling\\",\\"GroupMinSize\\",\\"AutoScalingGroupName\\",\\"", Object { "Ref": "ASG46ED3070", }, "\\",{\\"label\\":\\"Min\\"}],[\\"AWS/AutoScaling\\",\\"GroupMaxSize\\",\\"AutoScalingGroupName\\",\\"", Object { "Ref": "ASG46ED3070", }, "\\",{\\"label\\":\\"Max\\"}],[\\"AWS/AutoScaling\\",\\"GroupDesiredCapacity\\",\\"AutoScalingGroupName\\",\\"", Object { "Ref": "ASG46ED3070", }, "\\",{\\"label\\":\\"Desired\\"}],[\\"AWS/AutoScaling\\",\\"GroupTotalInstances\\",\\"AutoScalingGroupName\\",\\"", Object { "Ref": "ASG46ED3070", }, "\\",{\\"label\\":\\"Total\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard-Summary", }, "Type": "AWS::CloudWatch::Dashboard", }, "Vpc8378EB38": Object { "Properties": Object { "CidrBlock": "10.0.0.0/16", "EnableDnsHostnames": true, "EnableDnsSupport": true, "InstanceTenancy": "default", "Tags": Array [ Object { "Key": "Name", "Value": "Default/Vpc", }, ], }, "Type": "AWS::EC2::VPC", }, "VpcIGWD7BA715C": Object { "Properties": Object { "Tags": Array [ Object { "Key": "Name", "Value": "Default/Vpc", }, ], }, "Type": "AWS::EC2::InternetGateway", }, "VpcPrivateSubnet1DefaultRouteBE02A9ED": Object { "Properties": Object { "DestinationCidrBlock": "0.0.0.0/0", "NatGatewayId": Object { "Ref": "VpcPublicSubnet1NATGateway4D7517AA", }, "RouteTableId": Object { "Ref": "VpcPrivateSubnet1RouteTableB2C5B500", }, }, "Type": "AWS::EC2::Route", }, "VpcPrivateSubnet1RouteTableAssociation70C59FA6": Object { "Properties": Object { "RouteTableId": Object { "Ref": "VpcPrivateSubnet1RouteTableB2C5B500", }, "SubnetId": Object { "Ref": "VpcPrivateSubnet1Subnet536B997A", }, }, "Type": "AWS::EC2::SubnetRouteTableAssociation", }, "VpcPrivateSubnet1RouteTableB2C5B500": Object { "Properties": Object { "Tags": Array [ Object { "Key": "Name", "Value": "Default/Vpc/PrivateSubnet1", }, ], "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::RouteTable", }, "VpcPrivateSubnet1Subnet536B997A": Object { "Properties": Object { "AvailabilityZone": Object { "Fn::Select": Array [ 0, Object { "Fn::GetAZs": "", }, ], }, "CidrBlock": "10.0.128.0/18", "MapPublicIpOnLaunch": false, "Tags": Array [ Object { "Key": "aws-cdk:subnet-name", "Value": "Private", }, Object { "Key": "aws-cdk:subnet-type", "Value": "Private", }, Object { "Key": "Name", "Value": "Default/Vpc/PrivateSubnet1", }, ], "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::Subnet", }, "VpcPrivateSubnet2DefaultRoute060D2087": Object { "Properties": Object { "DestinationCidrBlock": "0.0.0.0/0", "NatGatewayId": Object { "Ref": "VpcPublicSubnet2NATGateway9182C01D", }, "RouteTableId": Object { "Ref": "VpcPrivateSubnet2RouteTableA678073B", }, }, "Type": "AWS::EC2::Route", }, "VpcPrivateSubnet2RouteTableA678073B": Object { "Properties": Object { "Tags": Array [ Object { "Key": "Name", "Value": "Default/Vpc/PrivateSubnet2", }, ], "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::RouteTable", }, "VpcPrivateSubnet2RouteTableAssociationA89CAD56": Object { "Properties": Object { "RouteTableId": Object { "Ref": "VpcPrivateSubnet2RouteTableA678073B", }, "SubnetId": Object { "Ref": "VpcPrivateSubnet2Subnet3788AAA1", }, }, "Type": "AWS::EC2::SubnetRouteTableAssociation", }, "VpcPrivateSubnet2Subnet3788AAA1": Object { "Properties": Object { "AvailabilityZone": Object { "Fn::Select": Array [ 1, Object { "Fn::GetAZs": "", }, ], }, "CidrBlock": "10.0.192.0/18", "MapPublicIpOnLaunch": false, "Tags": Array [ Object { "Key": "aws-cdk:subnet-name", "Value": "Private", }, Object { "Key": "aws-cdk:subnet-type", "Value": "Private", }, Object { "Key": "Name", "Value": "Default/Vpc/PrivateSubnet2", }, ], "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::Subnet", }, "VpcPublicSubnet1DefaultRoute3DA9E72A": Object { "DependsOn": Array [ "VpcVPCGWBF912B6E", ], "Properties": Object { "DestinationCidrBlock": "0.0.0.0/0", "GatewayId": Object { "Ref": "VpcIGWD7BA715C", }, "RouteTableId": Object { "Ref": "VpcPublicSubnet1RouteTable6C95E38E", }, }, "Type": "AWS::EC2::Route", }, "VpcPublicSubnet1EIPD7E02669": Object { "Properties": Object { "Domain": "vpc", "Tags": Array [ Object { "Key": "Name", "Value": "Default/Vpc/PublicSubnet1", }, ], }, "Type": "AWS::EC2::EIP", }, "VpcPublicSubnet1NATGateway4D7517AA": Object { "DependsOn": Array [ "VpcPublicSubnet1DefaultRoute3DA9E72A", "VpcPublicSubnet1RouteTableAssociation97140677", ], "Properties": Object { "AllocationId": Object { "Fn::GetAtt": Array [ "VpcPublicSubnet1EIPD7E02669", "AllocationId", ], }, "SubnetId": Object { "Ref": "VpcPublicSubnet1Subnet5C2D37C4", }, "Tags": Array [ Object { "Key": "Name", "Value": "Default/Vpc/PublicSubnet1", }, ], }, "Type": "AWS::EC2::NatGateway", }, "VpcPublicSubnet1RouteTable6C95E38E": Object { "Properties": Object { "Tags": Array [ Object { "Key": "Name", "Value": "Default/Vpc/PublicSubnet1", }, ], "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::RouteTable", }, "VpcPublicSubnet1RouteTableAssociation97140677": Object { "Properties": Object { "RouteTableId": Object { "Ref": "VpcPublicSubnet1RouteTable6C95E38E", }, "SubnetId": Object { "Ref": "VpcPublicSubnet1Subnet5C2D37C4", }, }, "Type": "AWS::EC2::SubnetRouteTableAssociation", }, "VpcPublicSubnet1Subnet5C2D37C4": Object { "Properties": Object { "AvailabilityZone": Object { "Fn::Select": Array [ 0, Object { "Fn::GetAZs": "", }, ], }, "CidrBlock": "10.0.0.0/18", "MapPublicIpOnLaunch": true, "Tags": Array [ Object { "Key": "aws-cdk:subnet-name", "Value": "Public", }, Object { "Key": "aws-cdk:subnet-type", "Value": "Public", }, Object { "Key": "Name", "Value": "Default/Vpc/PublicSubnet1", }, ], "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::Subnet", }, "VpcPublicSubnet2DefaultRoute97F91067": Object { "DependsOn": Array [ "VpcVPCGWBF912B6E", ], "Properties": Object { "DestinationCidrBlock": "0.0.0.0/0", "GatewayId": Object { "Ref": "VpcIGWD7BA715C", }, "RouteTableId": Object { "Ref": "VpcPublicSubnet2RouteTable94F7E489", }, }, "Type": "AWS::EC2::Route", }, "VpcPublicSubnet2EIP3C605A87": Object { "Properties": Object { "Domain": "vpc", "Tags": Array [ Object { "Key": "Name", "Value": "Default/Vpc/PublicSubnet2", }, ], }, "Type": "AWS::EC2::EIP", }, "VpcPublicSubnet2NATGateway9182C01D": Object { "DependsOn": Array [ "VpcPublicSubnet2DefaultRoute97F91067", "VpcPublicSubnet2RouteTableAssociationDD5762D8", ], "Properties": Object { "AllocationId": Object { "Fn::GetAtt": Array [ "VpcPublicSubnet2EIP3C605A87", "AllocationId", ], }, "SubnetId": Object { "Ref": "VpcPublicSubnet2Subnet691E08A3", }, "Tags": Array [ Object { "Key": "Name", "Value": "Default/Vpc/PublicSubnet2", }, ], }, "Type": "AWS::EC2::NatGateway", }, "VpcPublicSubnet2RouteTable94F7E489": Object { "Properties": Object { "Tags": Array [ Object { "Key": "Name", "Value": "Default/Vpc/PublicSubnet2", }, ], "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::RouteTable", }, "VpcPublicSubnet2RouteTableAssociationDD5762D8": Object { "Properties": Object { "RouteTableId": Object { "Ref": "VpcPublicSubnet2RouteTable94F7E489", }, "SubnetId": Object { "Ref": "VpcPublicSubnet2Subnet691E08A3", }, }, "Type": "AWS::EC2::SubnetRouteTableAssociation", }, "VpcPublicSubnet2Subnet691E08A3": Object { "Properties": Object { "AvailabilityZone": Object { "Fn::Select": Array [ 1, Object { "Fn::GetAZs": "", }, ], }, "CidrBlock": "10.0.64.0/18", "MapPublicIpOnLaunch": true, "Tags": Array [ Object { "Key": "aws-cdk:subnet-name", "Value": "Public", }, Object { "Key": "aws-cdk:subnet-type", "Value": "Public", }, Object { "Key": "Name", "Value": "Default/Vpc/PublicSubnet2", }, ], "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::Subnet", }, "VpcVPCGWBF912B6E": Object { "Properties": Object { "InternetGatewayId": Object { "Ref": "VpcIGWD7BA715C", }, "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::VPCGatewayAttachment", }, }, "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.", }, ], }, }, } `; exports[`MonitoringAspect Billing 1`] = ` Object { "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 { "DashboardFactoryAlarmDashboard6286FAD3": Object { "Properties": Object { "DashboardBody": "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[]}", "DashboardName": "DummyDashboard-Alarms", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactoryDashboard3E20AD6E": Object { "Properties": Object { "DashboardBody": "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### AWS Account Billing **Billing**\\"}},{\\"type\\":\\"metric\\",\\"width\\":18,\\"height\\":5,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"bar\\",\\"title\\":\\"Most Expensive Services (USD)\\",\\"region\\":\\"us-east-1\\",\\"metrics\\":[[{\\"label\\":\\" \\",\\"region\\":\\"us-east-1\\",\\"expression\\":\\"SORT(search, MAX, DESC, 10)\\",\\"period\\":86400}],[{\\"label\\":\\" \\",\\"region\\":\\"us-east-1\\",\\"expression\\":\\"SEARCH('{AWS/Billing,Currency,ServiceName} MetricName=\\\\\\"EstimatedCharges\\\\\\"', 'Maximum', 86400)\\",\\"period\\":86400,\\"visible\\":false,\\"id\\":\\"search\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"USD\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":18,\\"y\\":1,\\"properties\\":{\\"view\\":\\"singleValue\\",\\"title\\":\\"Total Cost (USD)\\",\\"region\\":\\"us-east-1\\",\\"metrics\\":[[\\"AWS/Billing\\",\\"EstimatedCharges\\",\\"Currency\\",\\"USD\\",{\\"label\\":\\"Estimated Charges\\",\\"region\\":\\"us-east-1\\",\\"period\\":86400,\\"stat\\":\\"Maximum\\"}]],\\"setPeriodToTimeRange\\":false,\\"singleValueFullPrecision\\":false}}]}", "DashboardName": "DummyDashboard", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactorySummaryDashboard5F4BC8C5": Object { "Properties": Object { "DashboardBody": "{\\"start\\":\\"-P14D\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### AWS Account Billing **Billing**\\"}},{\\"type\\":\\"metric\\",\\"width\\":24,\\"height\\":6,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"singleValue\\",\\"title\\":\\"Total Cost (USD)\\",\\"region\\":\\"us-east-1\\",\\"metrics\\":[[\\"AWS/Billing\\",\\"EstimatedCharges\\",\\"Currency\\",\\"USD\\",{\\"label\\":\\"Estimated Charges\\",\\"region\\":\\"us-east-1\\",\\"period\\":86400,\\"stat\\":\\"Maximum\\"}]],\\"setPeriodToTimeRange\\":false,\\"singleValueFullPrecision\\":false}}]}", "DashboardName": "DummyDashboard-Summary", }, "Type": "AWS::CloudWatch::Dashboard", }, }, "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.", }, ], }, }, } `; exports[`MonitoringAspect Canaries 1`] = ` Object { "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 { "Canary11957FE2": Object { "Properties": Object { "ArtifactS3Location": Object { "Fn::Join": Array [ "", Array [ "s3://", Object { "Ref": "CanaryArtifactsBucket4A60D32B", }, ], ], }, "Code": Object { "Handler": "index.handler", "Script": "/* nothing */", }, "ExecutionRoleArn": Object { "Fn::GetAtt": Array [ "CanaryServiceRoleD132250E", "Arn", ], }, "Name": "canary", "RuntimeVersion": "syn-nodejs-2.0", "Schedule": Object { "DurationInSeconds": "0", "Expression": "rate(5 minutes)", }, "StartCanaryAfterCreation": true, }, "Type": "AWS::Synthetics::Canary", }, "CanaryArtifactsBucket4A60D32B": Object { "DeletionPolicy": "Retain", "Properties": Object { "BucketEncryption": Object { "ServerSideEncryptionConfiguration": Array [ Object { "ServerSideEncryptionByDefault": Object { "SSEAlgorithm": "aws:kms", }, }, ], }, }, "Type": "AWS::S3::Bucket", "UpdateReplacePolicy": "Retain", }, "CanaryArtifactsBucketPolicy63096C41": Object { "Properties": Object { "Bucket": Object { "Ref": "CanaryArtifactsBucket4A60D32B", }, "PolicyDocument": Object { "Statement": Array [ Object { "Action": "s3:*", "Condition": Object { "Bool": Object { "aws:SecureTransport": "false", }, }, "Effect": "Deny", "Principal": Object { "AWS": "*", }, "Resource": Array [ Object { "Fn::GetAtt": Array [ "CanaryArtifactsBucket4A60D32B", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "CanaryArtifactsBucket4A60D32B", "Arn", ], }, "/*", ], ], }, ], }, ], "Version": "2012-10-17", }, }, "Type": "AWS::S3::BucketPolicy", }, "CanaryServiceRoleD132250E": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "Policies": Array [ Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": "s3:ListAllMyBuckets", "Effect": "Allow", "Resource": "*", }, Object { "Action": "s3:GetBucketLocation", "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "CanaryArtifactsBucket4A60D32B", "Arn", ], }, }, Object { "Action": "s3:PutObject", "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "CanaryArtifactsBucket4A60D32B", "Arn", ], }, "/*", ], ], }, }, Object { "Action": "cloudwatch:PutMetricData", "Condition": Object { "StringEquals": Object { "cloudwatch:namespace": "CloudWatchSynthetics", }, }, "Effect": "Allow", "Resource": "*", }, Object { "Action": Array [ "logs:CreateLogStream", "logs:CreateLogGroup", "logs:PutLogEvents", ], "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":logs:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":log-group:/aws/lambda/cwsyn-*", ], ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "canaryPolicy", }, ], }, "Type": "AWS::IAM::Role", }, "DashboardFactoryAlarmDashboard6286FAD3": Object { "Properties": Object { "DashboardBody": "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[]}", "DashboardName": "DummyDashboard-Alarms", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactoryDashboard3E20AD6E": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### Synthetics Canary **Canary**\\"}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":5,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Latency\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"CloudWatchSynthetics\\",\\"Duration\\",\\"CanaryName\\",\\"", Object { "Ref": "Canary11957FE2", }, "\\",{\\"label\\":\\"Average\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"ms\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":5,\\"x\\":8,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Errors\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"CloudWatchSynthetics\\",\\"4xx\\",\\"CanaryName\\",\\"", Object { "Ref": "Canary11957FE2", }, "\\",{\\"label\\":\\"4xx\\",\\"stat\\":\\"Sum\\"}],[\\"CloudWatchSynthetics\\",\\"5xx\\",\\"CanaryName\\",\\"", Object { "Ref": "Canary11957FE2", }, "\\",{\\"label\\":\\"5xx\\",\\"stat\\":\\"Sum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":5,\\"x\\":16,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Errors (rate)\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"CloudWatchSynthetics\\",\\"4xx\\",\\"CanaryName\\",\\"", Object { "Ref": "Canary11957FE2", }, "\\",{\\"label\\":\\"4xx (avg)\\"}],[\\"CloudWatchSynthetics\\",\\"5xx\\",\\"CanaryName\\",\\"", Object { "Ref": "Canary11957FE2", }, "\\",{\\"label\\":\\"5xx (avg)\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Rate\\",\\"showUnits\\":false}}}},{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":6,\\"properties\\":{\\"markdown\\":\\"### S3 Bucket **[ArtifactsBucket](https://s3.console.aws.amazon.com/s3/buckets/", Object { "Ref": "CanaryArtifactsBucket4A60D32B", }, "?region=", Object { "Ref": "AWS::Region", }, "&tab=metrics)**\\"}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":5,\\"x\\":0,\\"y\\":7,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Bucket Size\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/S3\\",\\"BucketSizeBytes\\",\\"BucketName\\",\\"", Object { "Ref": "CanaryArtifactsBucket4A60D32B", }, "\\",\\"StorageType\\",\\"StandardStorage\\",{\\"label\\":\\"BucketSizeBytes\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"bytes\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":5,\\"x\\":12,\\"y\\":7,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Object Count\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/S3\\",\\"NumberOfObjects\\",\\"BucketName\\",\\"", Object { "Ref": "CanaryArtifactsBucket4A60D32B", }, "\\",\\"StorageType\\",\\"AllStorageTypes\\",{\\"label\\":\\"NumberOfObjects\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactorySummaryDashboard5F4BC8C5": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-P14D\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### Synthetics Canary **Canary**\\"}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":6,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Errors\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"CloudWatchSynthetics\\",\\"4xx\\",\\"CanaryName\\",\\"", Object { "Ref": "Canary11957FE2", }, "\\",{\\"label\\":\\"4xx\\",\\"stat\\":\\"Sum\\"}],[\\"CloudWatchSynthetics\\",\\"5xx\\",\\"CanaryName\\",\\"", Object { "Ref": "Canary11957FE2", }, "\\",{\\"label\\":\\"5xx\\",\\"stat\\":\\"Sum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":6,\\"x\\":12,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Errors (rate)\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"CloudWatchSynthetics\\",\\"4xx\\",\\"CanaryName\\",\\"", Object { "Ref": "Canary11957FE2", }, "\\",{\\"label\\":\\"4xx (avg)\\"}],[\\"CloudWatchSynthetics\\",\\"5xx\\",\\"CanaryName\\",\\"", Object { "Ref": "Canary11957FE2", }, "\\",{\\"label\\":\\"5xx (avg)\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Rate\\",\\"showUnits\\":false}}}},{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":7,\\"properties\\":{\\"markdown\\":\\"### S3 Bucket **[ArtifactsBucket](https://s3.console.aws.amazon.com/s3/buckets/", Object { "Ref": "CanaryArtifactsBucket4A60D32B", }, "?region=", Object { "Ref": "AWS::Region", }, "&tab=metrics)**\\"}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":6,\\"x\\":0,\\"y\\":8,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Bucket Size\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/S3\\",\\"BucketSizeBytes\\",\\"BucketName\\",\\"", Object { "Ref": "CanaryArtifactsBucket4A60D32B", }, "\\",\\"StorageType\\",\\"StandardStorage\\",{\\"label\\":\\"BucketSizeBytes\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"bytes\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":6,\\"x\\":12,\\"y\\":8,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Object Count\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/S3\\",\\"NumberOfObjects\\",\\"BucketName\\",\\"", Object { "Ref": "CanaryArtifactsBucket4A60D32B", }, "\\",\\"StorageType\\",\\"AllStorageTypes\\",{\\"label\\":\\"NumberOfObjects\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard-Summary", }, "Type": "AWS::CloudWatch::Dashboard", }, }, "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.", }, ], }, }, } `; exports[`MonitoringAspect CloudFront 1`] = ` Object { "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 { "Bucket83908E77": Object { "DeletionPolicy": "Retain", "Type": "AWS::S3::Bucket", "UpdateReplacePolicy": "Retain", }, "BucketPolicyE9A3008A": Object { "Properties": Object { "Bucket": Object { "Ref": "Bucket83908E77", }, "PolicyDocument": Object { "Statement": Array [ Object { "Action": "s3:GetObject", "Effect": "Allow", "Principal": Object { "CanonicalUser": Object { "Fn::GetAtt": Array [ "DistributionOrigin1S3Origin5F5C0696", "S3CanonicalUserId", ], }, }, "Resource": Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "Bucket83908E77", "Arn", ], }, "/*", ], ], }, }, ], "Version": "2012-10-17", }, }, "Type": "AWS::S3::BucketPolicy", }, "DashboardFactoryAlarmDashboard6286FAD3": Object { "Properties": Object { "DashboardBody": "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[]}", "DashboardName": "DummyDashboard-Alarms", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactoryDashboard3E20AD6E": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### S3 Bucket **[Bucket](https://s3.console.aws.amazon.com/s3/buckets/", Object { "Ref": "Bucket83908E77", }, "?region=", Object { "Ref": "AWS::Region", }, "&tab=metrics)**\\"}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":5,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Bucket Size\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/S3\\",\\"BucketSizeBytes\\",\\"BucketName\\",\\"", Object { "Ref": "Bucket83908E77", }, "\\",\\"StorageType\\",\\"StandardStorage\\",{\\"label\\":\\"BucketSizeBytes\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"bytes\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":5,\\"x\\":12,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Object Count\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/S3\\",\\"NumberOfObjects\\",\\"BucketName\\",\\"", Object { "Ref": "Bucket83908E77", }, "\\",\\"StorageType\\",\\"AllStorageTypes\\",{\\"label\\":\\"NumberOfObjects\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":6,\\"properties\\":{\\"markdown\\":\\"### CloudFront Distribution **[Distribution](https://console.aws.amazon.com/cloudfront/v2/home#/monitoring/", Object { "Ref": "Distribution830FAC52", }, ")**\\"}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":0,\\"y\\":7,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"TPS\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[{\\"label\\":\\"Uploaded/s\\",\\"expression\\":\\"FILL(requests,0) / PERIOD(requests)\\"}],[\\"AWS/CloudFront\\",\\"Requests\\",\\"DistributionId\\",\\"", Object { "Ref": "Distribution830FAC52", }, "\\",\\"Region\\",\\"Global\\",{\\"label\\":\\"Uploaded\\",\\"region\\":\\"us-east-1\\",\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"requests\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Rate\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":6,\\"y\\":7,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Hit Rate\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/CloudFront\\",\\"CacheHitRate\\",\\"DistributionId\\",\\"", Object { "Ref": "Distribution830FAC52", }, "\\",\\"Region\\",\\"Global\\",{\\"label\\":\\"Hit Rate\\",\\"region\\":\\"us-east-1\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"max\\":100,\\"label\\":\\"%\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":12,\\"y\\":7,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Traffic\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/CloudFront\\",\\"BytesDownloaded\\",\\"DistributionId\\",\\"", Object { "Ref": "Distribution830FAC52", }, "\\",\\"Region\\",\\"Global\\",{\\"label\\":\\"Downloaded\\",\\"region\\":\\"us-east-1\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/CloudFront\\",\\"BytesUploaded\\",\\"DistributionId\\",\\"", Object { "Ref": "Distribution830FAC52", }, "\\",\\"Region\\",\\"Global\\",{\\"label\\":\\"Uploaded\\",\\"region\\":\\"us-east-1\\",\\"stat\\":\\"Sum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"bytes\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":18,\\"y\\":7,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Errors (rate)\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/CloudFront\\",\\"4xxErrorRate\\",\\"DistributionId\\",\\"", Object { "Ref": "Distribution830FAC52", }, "\\",\\"Region\\",\\"Global\\",{\\"label\\":\\"4XX\\",\\"region\\":\\"us-east-1\\"}],[\\"AWS/CloudFront\\",\\"5xxErrorRate\\",\\"DistributionId\\",\\"", Object { "Ref": "Distribution830FAC52", }, "\\",\\"Region\\",\\"Global\\",{\\"label\\":\\"5XX\\",\\"region\\":\\"us-east-1\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Rate\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactorySummaryDashboard5F4BC8C5": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-P14D\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### S3 Bucket **[Bucket](https://s3.console.aws.amazon.com/s3/buckets/", Object { "Ref": "Bucket83908E77", }, "?region=", Object { "Ref": "AWS::Region", }, "&tab=metrics)**\\"}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":6,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Bucket Size\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/S3\\",\\"BucketSizeBytes\\",\\"BucketName\\",\\"", Object { "Ref": "Bucket83908E77", }, "\\",\\"StorageType\\",\\"StandardStorage\\",{\\"label\\":\\"BucketSizeBytes\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"bytes\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":6,\\"x\\":12,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Object Count\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/S3\\",\\"NumberOfObjects\\",\\"BucketName\\",\\"", Object { "Ref": "Bucket83908E77", }, "\\",\\"StorageType\\",\\"AllStorageTypes\\",{\\"label\\":\\"NumberOfObjects\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":7,\\"properties\\":{\\"markdown\\":\\"### CloudFront Distribution **[Distribution](https://console.aws.amazon.com/cloudfront/v2/home#/monitoring/", Object { "Ref": "Distribution830FAC52", }, ")**\\"}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":6,\\"x\\":0,\\"y\\":8,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"TPS\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[{\\"label\\":\\"Uploaded/s\\",\\"expression\\":\\"FILL(requests,0) / PERIOD(requests)\\"}],[\\"AWS/CloudFront\\",\\"Requests\\",\\"DistributionId\\",\\"", Object { "Ref": "Distribution830FAC52", }, "\\",\\"Region\\",\\"Global\\",{\\"label\\":\\"Uploaded\\",\\"region\\":\\"us-east-1\\",\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"requests\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Rate\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":6,\\"x\\":12,\\"y\\":8,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Errors (rate)\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/CloudFront\\",\\"4xxErrorRate\\",\\"DistributionId\\",\\"", Object { "Ref": "Distribution830FAC52", }, "\\",\\"Region\\",\\"Global\\",{\\"label\\":\\"4XX\\",\\"region\\":\\"us-east-1\\"}],[\\"AWS/CloudFront\\",\\"5xxErrorRate\\",\\"DistributionId\\",\\"", Object { "Ref": "Distribution830FAC52", }, "\\",\\"Region\\",\\"Global\\",{\\"label\\":\\"5XX\\",\\"region\\":\\"us-east-1\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Rate\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard-Summary", }, "Type": "AWS::CloudWatch::Dashboard", }, "Distribution830FAC52": Object { "Properties": Object { "DistributionConfig": Object { "DefaultCacheBehavior": Object { "CachePolicyId": "658327ea-f89d-4fab-a63d-7e88639e58f6", "Compress": true, "TargetOriginId": "DistributionOrigin13547B94F", "ViewerProtocolPolicy": "allow-all", }, "Enabled": true, "HttpVersion": "http2", "IPV6Enabled": true, "Origins": Array [ Object { "DomainName": Object { "Fn::GetAtt": Array [ "Bucket83908E77", "RegionalDomainName", ], }, "Id": "DistributionOrigin13547B94F", "S3OriginConfig": Object { "OriginAccessIdentity": Object { "Fn::Join": Array [ "", Array [ "origin-access-identity/cloudfront/", Object { "Ref": "DistributionOrigin1S3Origin5F5C0696", }, ], ], }, }, }, ], }, }, "Type": "AWS::CloudFront::Distribution", }, "DistributionOrigin1S3Origin5F5C0696": Object { "Properties": Object { "CloudFrontOriginAccessIdentityConfig": Object { "Comment": "Identity for DistributionOrigin13547B94F", }, }, "Type": "AWS::CloudFront::CloudFrontOriginAccessIdentity", }, }, "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.", }, ], }, }, } `; exports[`MonitoringAspect CodeBuild 1`] = ` Object { "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 { "DashboardFactoryAlarmDashboard6286FAD3": Object { "Properties": Object { "DashboardBody": "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[]}", "DashboardName": "DummyDashboard-Alarms", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactoryDashboard3E20AD6E": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### CodeBuild Project **[DummyProject](https://", Object { "Ref": "AWS::Region", }, ".console.aws.amazon.com/codebuild/home?region=", Object { "Ref": "AWS::Region", }, "#/projects/", Object { "Ref": "DummyProject118896AB", }, ")**\\"}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":5,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Builds\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/CodeBuild\\",\\"Builds\\",\\"ProjectName\\",\\"", Object { "Ref": "DummyProject118896AB", }, "\\",{\\"stat\\":\\"Sum\\"}],[\\"AWS/CodeBuild\\",\\"SucceededBuilds\\",\\"ProjectName\\",\\"", Object { "Ref": "DummyProject118896AB", }, "\\",{\\"stat\\":\\"Sum\\"}],[\\"AWS/CodeBuild\\",\\"FailedBuilds\\",\\"ProjectName\\",\\"", Object { "Ref": "DummyProject118896AB", }, "\\",{\\"stat\\":\\"Sum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":5,\\"x\\":8,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Duration\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/CodeBuild\\",\\"Duration\\",\\"ProjectName\\",\\"", Object { "Ref": "DummyProject118896AB", }, "\\",{\\"label\\":\\"P50\\",\\"stat\\":\\"p50\\"}],[\\"AWS/CodeBuild\\",\\"Duration\\",\\"ProjectName\\",\\"", Object { "Ref": "DummyProject118896AB", }, "\\",{\\"label\\":\\"P90\\",\\"stat\\":\\"p90\\"}],[\\"AWS/CodeBuild\\",\\"Duration\\",\\"ProjectName\\",\\"", Object { "Ref": "DummyProject118896AB", }, "\\",{\\"label\\":\\"P99\\",\\"stat\\":\\"p99\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"sec\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":5,\\"x\\":16,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Failed Builds (rate)\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/CodeBuild\\",\\"FailedBuilds\\",\\"ProjectName\\",\\"", Object { "Ref": "DummyProject118896AB", }, "\\"]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Rate\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactorySummaryDashboard5F4BC8C5": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-P14D\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### CodeBuild Project **[DummyProject](https://", Object { "Ref": "AWS::Region", }, ".console.aws.amazon.com/codebuild/home?region=", Object { "Ref": "AWS::Region", }, "#/projects/", Object { "Ref": "DummyProject118896AB", }, ")**\\"}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":5,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Builds\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/CodeBuild\\",\\"Builds\\",\\"ProjectName\\",\\"", Object { "Ref": "DummyProject118896AB", }, "\\",{\\"stat\\":\\"Sum\\"}],[\\"AWS/CodeBuild\\",\\"SucceededBuilds\\",\\"ProjectName\\",\\"", Object { "Ref": "DummyProject118896AB", }, "\\",{\\"stat\\":\\"Sum\\"}],[\\"AWS/CodeBuild\\",\\"FailedBuilds\\",\\"ProjectName\\",\\"", Object { "Ref": "DummyProject118896AB", }, "\\",{\\"stat\\":\\"Sum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":5,\\"x\\":8,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Duration\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/CodeBuild\\",\\"Duration\\",\\"ProjectName\\",\\"", Object { "Ref": "DummyProject118896AB", }, "\\",{\\"label\\":\\"P50\\",\\"stat\\":\\"p50\\"}],[\\"AWS/CodeBuild\\",\\"Duration\\",\\"ProjectName\\",\\"", Object { "Ref": "DummyProject118896AB", }, "\\",{\\"label\\":\\"P90\\",\\"stat\\":\\"p90\\"}],[\\"AWS/CodeBuild\\",\\"Duration\\",\\"ProjectName\\",\\"", Object { "Ref": "DummyProject118896AB", }, "\\",{\\"label\\":\\"P99\\",\\"stat\\":\\"p99\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"sec\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":5,\\"x\\":16,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Failed Builds (rate)\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/CodeBuild\\",\\"FailedBuilds\\",\\"ProjectName\\",\\"", Object { "Ref": "DummyProject118896AB", }, "\\"]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Rate\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard-Summary", }, "Type": "AWS::CloudWatch::Dashboard", }, "DummyProject118896AB": Object { "Properties": Object { "Artifacts": Object { "Type": "NO_ARTIFACTS", }, "Cache": Object { "Type": "NO_CACHE", }, "EncryptionKey": "alias/aws/s3", "Environment": Object { "ComputeType": "BUILD_GENERAL1_SMALL", "Image": "aws/codebuild/standard:1.0", "ImagePullCredentialsType": "CODEBUILD", "PrivilegedMode": false, "Type": "LINUX_CONTAINER", }, "ServiceRole": Object { "Fn::GetAtt": Array [ "DummyProjectRoleB48E2E8B", "Arn", ], }, "Source": Object { "Location": "https://github.com/monocdk/monocdk.git", "ReportBuildStatus": true, "Type": "GITHUB", }, }, "Type": "AWS::CodeBuild::Project", }, "DummyProjectRoleB48E2E8B": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "codebuild.amazonaws.com", }, }, ], "Version": "2012-10-17", }, }, "Type": "AWS::IAM::Role", }, "DummyProjectRoleDefaultPolicyC6FA9D05": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":logs:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":log-group:/aws/codebuild/", Object { "Ref": "DummyProject118896AB", }, ], ], }, Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":logs:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":log-group:/aws/codebuild/", Object { "Ref": "DummyProject118896AB", }, ":*", ], ], }, ], }, Object { "Action": Array [ "codebuild:CreateReportGroup", "codebuild:CreateReport", "codebuild:UpdateReport", "codebuild:BatchPutTestCases", "codebuild:BatchPutCodeCoverages", ], "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":codebuild:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":report-group/", Object { "Ref": "DummyProject118896AB", }, "-*", ], ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "DummyProjectRoleDefaultPolicyC6FA9D05", "Roles": Array [ Object { "Ref": "DummyProjectRoleB48E2E8B", }, ], }, "Type": "AWS::IAM::Policy", }, }, "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.", }, ], }, }, } `; exports[`MonitoringAspect DocumentDB 1`] = ` Object { "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 { "DashboardFactoryAlarmDashboard6286FAD3": Object { "Properties": Object { "DashboardBody": "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[]}", "DashboardName": "DummyDashboard-Alarms", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactoryDashboard3E20AD6E": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### DocumentDB **[DummyCluster](https://", Object { "Ref": "AWS::Region", }, ".console.aws.amazon.com/docdb/home?region=", Object { "Ref": "AWS::Region", }, "#cluster-details/", Object { "Ref": "DummyClusterBF18C710", }, ")**\\"}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"CPU Usage\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/DocDB\\",\\"CPUUtilization\\",\\"DBClusterIdentifier\\",\\"", Object { "Ref": "DummyClusterBF18C710", }, "\\",{\\"label\\":\\"CPU Usage\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"max\\":100,\\"label\\":\\"%\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":6,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Connections\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/DocDB\\",\\"DatabaseConnectionsMax\\",\\"DBClusterIdentifier\\",\\"", Object { "Ref": "DummyClusterBF18C710", }, "\\",{\\"label\\":\\"Connections\\",\\"stat\\":\\"Maximum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":12,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Transactions\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/DocDB\\",\\"TransactionsOpenMax\\",\\"DBClusterIdentifier\\",\\"", Object { "Ref": "DummyClusterBF18C710", }, "\\",{\\"label\\":\\"Transactions\\",\\"stat\\":\\"Maximum\\"}],[\\"AWS/DocDB\\",\\"DatabaseCursorsMax\\",\\"DBClusterIdentifier\\",\\"", Object { "Ref": "DummyClusterBF18C710", }, "\\",{\\"label\\":\\"Cursors\\",\\"stat\\":\\"Maximum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":18,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Latency\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/DocDB\\",\\"ReadLatency\\",\\"DBClusterIdentifier\\",\\"", Object { "Ref": "DummyClusterBF18C710", }, "\\",{\\"label\\":\\"Read P90 (avg: \${AVG})\\",\\"stat\\":\\"p90\\"}],[\\"AWS/DocDB\\",\\"WriteLatency\\",\\"DBClusterIdentifier\\",\\"", Object { "Ref": "DummyClusterBF18C710", }, "\\",{\\"label\\":\\"Write P90 (avg: \${AVG})\\",\\"stat\\":\\"p90\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"ms\\",\\"showUnits\\":false}}}},{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":6,\\"properties\\":{\\"markdown\\":\\"### Secret **Secret**\\"}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":5,\\"x\\":0,\\"y\\":7,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Days since last change\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"SecretsManager\\",\\"DaysSinceLastChange\\",\\"SecretName\\",\\"", Object { "Fn::Join": Array [ "-", Array [ Object { "Fn::Select": Array [ 0, Object { "Fn::Split": Array [ "-", Object { "Fn::Select": Array [ 6, Object { "Fn::Split": Array [ ":", Object { "Ref": "DummyClusterSecret3E1F055F", }, ], }, ], }, ], }, ], }, Object { "Fn::Select": Array [ 1, Object { "Fn::Split": Array [ "-", Object { "Fn::Select": Array [ 6, Object { "Fn::Split": Array [ ":", Object { "Ref": "DummyClusterSecret3E1F055F", }, ], }, ], }, ], }, ], }, ], ], }, "\\",{\\"label\\":\\"Days\\",\\"stat\\":\\"Maximum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactorySummaryDashboard5F4BC8C5": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-P14D\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### DocumentDB **[DummyCluster](https://", Object { "Ref": "AWS::Region", }, ".console.aws.amazon.com/docdb/home?region=", Object { "Ref": "AWS::Region", }, "#cluster-details/", Object { "Ref": "DummyClusterBF18C710", }, ")**\\"}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":6,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"CPU Usage\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/DocDB\\",\\"CPUUtilization\\",\\"DBClusterIdentifier\\",\\"", Object { "Ref": "DummyClusterBF18C710", }, "\\",{\\"label\\":\\"CPU Usage\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"max\\":100,\\"label\\":\\"%\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":6,\\"x\\":8,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Connections\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/DocDB\\",\\"DatabaseConnectionsMax\\",\\"DBClusterIdentifier\\",\\"", Object { "Ref": "DummyClusterBF18C710", }, "\\",{\\"label\\":\\"Connections\\",\\"stat\\":\\"Maximum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":6,\\"x\\":16,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Latency\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/DocDB\\",\\"ReadLatency\\",\\"DBClusterIdentifier\\",\\"", Object { "Ref": "DummyClusterBF18C710", }, "\\",{\\"label\\":\\"Read P90 (avg: \${AVG})\\",\\"stat\\":\\"p90\\"}],[\\"AWS/DocDB\\",\\"WriteLatency\\",\\"DBClusterIdentifier\\",\\"", Object { "Ref": "DummyClusterBF18C710", }, "\\",{\\"label\\":\\"Write P90 (avg: \${AVG})\\",\\"stat\\":\\"p90\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"ms\\",\\"showUnits\\":false}}}},{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":7,\\"properties\\":{\\"markdown\\":\\"### Secret **Secret**\\"}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":5,\\"x\\":0,\\"y\\":8,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Days since last change\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"SecretsManager\\",\\"DaysSinceLastChange\\",\\"SecretName\\",\\"", Object { "Fn::Join": Array [ "-", Array [ Object { "Fn::Select": Array [ 0, Object { "Fn::Split": Array [ "-", Object { "Fn::Select": Array [ 6, Object { "Fn::Split": Array [ ":", Object { "Ref": "DummyClusterSecret3E1F055F", }, ], }, ], }, ], }, ], }, Object { "Fn::Select": Array [ 1, Object { "Fn::Split": Array [ "-", Object { "Fn::Select": Array [ 6, Object { "Fn::Split": Array [ ":", Object { "Ref": "DummyClusterSecret3E1F055F", }, ], }, ], }, ], }, ], }, ], ], }, "\\",{\\"label\\":\\"Days\\",\\"stat\\":\\"Maximum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard-Summary", }, "Type": "AWS::CloudWatch::Dashboard", }, "DummyClusterBF18C710": Object { "DeletionPolicy": "Retain", "Properties": Object { "DBSubnetGroupName": Object { "Ref": "DummyClusterSubnets9E6FBDF8", }, "MasterUserPassword": Object { "Fn::Join": Array [ "", Array [ "{{resolve:secretsmanager:", Object { "Ref": "DummyClusterSecret3E1F055F", }, ":SecretString:password::}}", ], ], }, "MasterUsername": Object { "Fn::Join": Array [ "", Array [ "{{resolve:secretsmanager:", Object { "Ref": "DummyClusterSecret3E1F055F", }, ":SecretString:username::}}", ], ], }, "StorageEncrypted": true, "VpcSecurityGroupIds": Array [ Object { "Fn::GetAtt": Array [ "DummyClusterSecurityGroupD2F71D64", "GroupId", ], }, ], }, "Type": "AWS::DocDB::DBCluster", "UpdateReplacePolicy": "Retain", }, "DummyClusterInstance120C59FC5": Object { "DeletionPolicy": "Retain", "DependsOn": Array [ "DummyVpcPrivateSubnet1DefaultRouteE47453F6", "DummyVpcPrivateSubnet1RouteTableAssociation88B5105F", "DummyVpcPrivateSubnet2DefaultRoute4E564518", "DummyVpcPrivateSubnet2RouteTableAssociationC3594446", ], "Properties": Object { "DBClusterIdentifier": Object { "Ref": "DummyClusterBF18C710", }, "DBInstanceClass": "db.r6g.large", }, "Type": "AWS::DocDB::DBInstance", "UpdateReplacePolicy": "Retain", }, "DummyClusterSecret3E1F055F": Object { "DeletionPolicy": "Delete", "Properties": Object { "Description": Object { "Fn::Join": Array [ "", Array [ "Generated by the CDK for stack: ", Object { "Ref": "AWS::StackName", }, ], ], }, "GenerateSecretString": Object { "ExcludeCharacters": "\\"@/", "GenerateStringKey": "password", "PasswordLength": 41, "SecretStringTemplate": "{\\"username\\":\\"master\\"}", }, }, "Type": "AWS::SecretsManager::Secret", "UpdateReplacePolicy": "Delete", }, "DummyClusterSecretAttachment14A21D31": Object { "Properties": Object { "SecretId": Object { "Ref": "DummyClusterSecret3E1F055F", }, "TargetId": Object { "Ref": "DummyClusterBF18C710", }, "TargetType": "AWS::DocDB::DBCluster", }, "Type": "AWS::SecretsManager::SecretTargetAttachment", }, "DummyClusterSecurityGroupD2F71D64": Object { "DeletionPolicy": "Retain", "Properties": Object { "GroupDescription": "DocumentDB security group", "SecurityGroupEgress": Array [ Object { "CidrIp": "0.0.0.0/0", "Description": "Allow all outbound traffic by default", "IpProtocol": "-1", }, ], "VpcId": Object { "Ref": "DummyVpcB6C30D0C", }, }, "Type": "AWS::EC2::SecurityGroup", "UpdateReplacePolicy": "Retain", }, "DummyClusterSubnets9E6FBDF8": Object { "Properties": Object { "DBSubnetGroupDescription": "Subnets for DummyCluster database", "SubnetIds": Array [ Object { "Ref": "DummyVpcPrivateSubnet1SubnetAF2DFEB1", }, Object { "Ref": "DummyVpcPrivateSubnet2Subnet718780F7", }, ], }, "Type": "AWS::DocDB::DBSubnetGroup", }, "DummyVpcB6C30D0C": Object { "Properties": Object { "CidrBlock": "10.0.0.0/16", "EnableDnsHostnames": true, "EnableDnsSupport": true, "InstanceTenancy": "default", "Tags": Array [ Object { "Key": "Name", "Value": "Default/DummyVpc", }, ], }, "Type": "AWS::EC2::VPC", }, "DummyVpcIGW6BB373C0": Object { "Properties": Object { "Tags": Array [ Object { "Key": "Name", "Value": "Default/DummyVpc", }, ], }, "Type": "AWS::EC2::InternetGateway", }, "DummyVpcPrivateSubnet1DefaultRouteE47453F6": Object { "Properties": Object { "DestinationCidrBlock": "0.0.0.0/0", "NatGatewayId": Object { "Ref": "DummyVpcPublicSubnet1NATGateway61554370", }, "RouteTableId": Object { "Ref": "DummyVpcPrivateSubnet1RouteTableD58FDCEA", }, }, "Type": "AWS::EC2::Route", }, "DummyVpcPrivateSubnet1RouteTableAssociation88B5105F": Object { "Properties": Object { "RouteTableId": Object { "Ref": "DummyVpcPrivateSubnet1RouteTableD58FDCEA", }, "SubnetId": Object { "Ref": "DummyVpcPrivateSubnet1SubnetAF2DFEB1", }, }, "Type": "AWS::EC2::SubnetRouteTableAssociation", }, "DummyVpcPrivateSubnet1RouteTableD58FDCEA": Object { "Properties": Object { "Tags": Array [ Object { "Key": "Name", "Value": "Default/DummyVpc/PrivateSubnet1", }, ], "VpcId": Object { "Ref": "DummyVpcB6C30D0C", }, }, "Type": "AWS::EC2::RouteTable", }, "DummyVpcPrivateSubnet1SubnetAF2DFEB1": Object { "Properties": Object { "AvailabilityZone": Object { "Fn::Select": Array [ 0, Object { "Fn::GetAZs": "", }, ], }, "CidrBlock": "10.0.128.0/18", "MapPublicIpOnLaunch": false, "Tags": Array [ Object { "Key": "aws-cdk:subnet-name", "Value": "Private", }, Object { "Key": "aws-cdk:subnet-type", "Value": "Private", }, Object { "Key": "Name", "Value": "Default/DummyVpc/PrivateSubnet1", }, ], "VpcId": Object { "Ref": "DummyVpcB6C30D0C", }, }, "Type": "AWS::EC2::Subnet", }, "DummyVpcPrivateSubnet2DefaultRoute4E564518": Object { "Properties": Object { "DestinationCidrBlock": "0.0.0.0/0", "NatGatewayId": Object { "Ref": "DummyVpcPublicSubnet2NATGateway867E77CE", }, "RouteTableId": Object { "Ref": "DummyVpcPrivateSubnet2RouteTable1FB64BA1", }, }, "Type": "AWS::EC2::Route", }, "DummyVpcPrivateSubnet2RouteTable1FB64BA1": Object { "Properties": Object { "Tags": Array [ Object { "Key": "Name", "Value": "Default/DummyVpc/PrivateSubnet2", }, ], "VpcId": Object { "Ref": "DummyVpcB6C30D0C", }, }, "Type": "AWS::EC2::RouteTable", }, "DummyVpcPrivateSubnet2RouteTableAssociationC3594446": Object { "Properties": Object { "RouteTableId": Object { "Ref": "DummyVpcPrivateSubnet2RouteTable1FB64BA1", }, "SubnetId": Object { "Ref": "DummyVpcPrivateSubnet2Subnet718780F7", }, }, "Type": "AWS::EC2::SubnetRouteTableAssociation", }, "DummyVpcPrivateSubnet2Subnet718780F7": Object { "Properties": Object { "AvailabilityZone": Object { "Fn::Select": Array [ 1, Object { "Fn::GetAZs": "", }, ], }, "CidrBlock": "10.0.192.0/18", "MapPublicIpOnLaunch": false, "Tags": Array [ Object { "Key": "aws-cdk:subnet-name", "Value": "Private", }, Object { "Key": "aws-cdk:subnet-type", "Value": "Private", }, Object { "Key": "Name", "Value": "Default/DummyVpc/PrivateSubnet2", }, ], "VpcId": Object { "Ref": "DummyVpcB6C30D0C", }, }, "Type": "AWS::EC2::Subnet", }, "DummyVpcPublicSubnet1DefaultRoute166DC84B": Object { "DependsOn": Array [ "DummyVpcVPCGW1C2C3DF0", ], "Properties": Object { "DestinationCidrBlock": "0.0.0.0/0", "GatewayId": Object { "Ref": "DummyVpcIGW6BB373C0", }, "RouteTableId": Object { "Ref": "DummyVpcPublicSubnet1RouteTable112DCFCF", }, }, "Type": "AWS::EC2::Route", }, "DummyVpcPublicSubnet1EIPEF91269A": Object { "Properties": Object { "Domain": "vpc", "Tags": Array [ Object { "Key": "Name", "Value": "Default/DummyVpc/PublicSubnet1", }, ], }, "Type": "AWS::EC2::EIP", }, "DummyVpcPublicSubnet1NATGateway61554370": Object { "DependsOn": Array [ "DummyVpcPublicSubnet1DefaultRoute166DC84B", "DummyVpcPublicSubnet1RouteTableAssociation8BCD2CE1", ], "Properties": Object { "AllocationId": Object { "Fn::GetAtt": Array [ "DummyVpcPublicSubnet1EIPEF91269A", "AllocationId", ], }, "SubnetId": Object { "Ref": "DummyVpcPublicSubnet1Subnet1073B36B", }, "Tags": Array [ Object { "Key": "Name", "Value": "Default/DummyVpc/PublicSubnet1", }, ], }, "Type": "AWS::EC2::NatGateway", }, "DummyVpcPublicSubnet1RouteTable112DCFCF": Object { "Properties": Object { "Tags": Array [ Object { "Key": "Name", "Value": "Default/DummyVpc/PublicSubnet1", }, ], "VpcId": Object { "Ref": "DummyVpcB6C30D0C", }, }, "Type": "AWS::EC2::RouteTable", }, "DummyVpcPublicSubnet1RouteTableAssociation8BCD2CE1": Object { "Properties": Object { "RouteTableId": Object { "Ref": "DummyVpcPublicSubnet1RouteTable112DCFCF", }, "SubnetId": Object { "Ref": "DummyVpcPublicSubnet1Subnet1073B36B", }, }, "Type": "AWS::EC2::SubnetRouteTableAssociation", }, "DummyVpcPublicSubnet1Subnet1073B36B": Object { "Properties": Object { "AvailabilityZone": Object { "Fn::Select": Array [ 0, Object { "Fn::GetAZs": "", }, ], }, "CidrBlock": "10.0.0.0/18", "MapPublicIpOnLaunch": true, "Tags": Array [ Object { "Key": "aws-cdk:subnet-name", "Value": "Public", }, Object { "Key": "aws-cdk:subnet-type", "Value": "Public", }, Object { "Key": "Name", "Value": "Default/DummyVpc/PublicSubnet1", }, ], "VpcId": Object { "Ref": "DummyVpcB6C30D0C", }, }, "Type": "AWS::EC2::Subnet", }, "DummyVpcPublicSubnet2DefaultRoute1C29EE76": Object { "DependsOn": Array [ "DummyVpcVPCGW1C2C3DF0", ], "Properties": Object { "DestinationCidrBlock": "0.0.0.0/0", "GatewayId": Object { "Ref": "DummyVpcIGW6BB373C0", }, "RouteTableId": Object { "Ref": "DummyVpcPublicSubnet2RouteTableCC0ACEA3", }, }, "Type": "AWS::EC2::Route", }, "DummyVpcPublicSubnet2EIP0CF5EE71": Object { "Properties": Object { "Domain": "vpc", "Tags": Array [ Object { "Key": "Name", "Value": "Default/DummyVpc/PublicSubnet2", }, ], }, "Type": "AWS::EC2::EIP", }, "DummyVpcPublicSubnet2NATGateway867E77CE": Object { "DependsOn": Array [ "DummyVpcPublicSubnet2DefaultRoute1C29EE76", "DummyVpcPublicSubnet2RouteTableAssociationDCE3DC57", ], "Properties": Object { "AllocationId": Object { "Fn::GetAtt": Array [ "DummyVpcPublicSubnet2EIP0CF5EE71", "AllocationId", ], }, "SubnetId": Object { "Ref": "DummyVpcPublicSubnet2SubnetD8B68431", }, "Tags": Array [ Object { "Key": "Name", "Value": "Default/DummyVpc/PublicSubnet2", }, ], }, "Type": "AWS::EC2::NatGateway", }, "DummyVpcPublicSubnet2RouteTableAssociationDCE3DC57": Object { "Properties": Object { "RouteTableId": Object { "Ref": "DummyVpcPublicSubnet2RouteTableCC0ACEA3", }, "SubnetId": Object { "Ref": "DummyVpcPublicSubnet2SubnetD8B68431", }, }, "Type": "AWS::EC2::SubnetRouteTableAssociation", }, "DummyVpcPublicSubnet2RouteTableCC0ACEA3": Object { "Properties": Object { "Tags": Array [ Object { "Key": "Name", "Value": "Default/DummyVpc/PublicSubnet2", }, ], "VpcId": Object { "Ref": "DummyVpcB6C30D0C", }, }, "Type": "AWS::EC2::RouteTable", }, "DummyVpcPublicSubnet2SubnetD8B68431": Object { "Properties": Object { "AvailabilityZone": Object { "Fn::Select": Array [ 1, Object { "Fn::GetAZs": "", }, ], }, "CidrBlock": "10.0.64.0/18", "MapPublicIpOnLaunch": true, "Tags": Array [ Object { "Key": "aws-cdk:subnet-name", "Value": "Public", }, Object { "Key": "aws-cdk:subnet-type", "Value": "Public", }, Object { "Key": "Name", "Value": "Default/DummyVpc/PublicSubnet2", }, ], "VpcId": Object { "Ref": "DummyVpcB6C30D0C", }, }, "Type": "AWS::EC2::Subnet", }, "DummyVpcVPCGW1C2C3DF0": Object { "Properties": Object { "InternetGatewayId": Object { "Ref": "DummyVpcIGW6BB373C0", }, "VpcId": Object { "Ref": "DummyVpcB6C30D0C", }, }, "Type": "AWS::EC2::VPCGatewayAttachment", }, "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aFD4BFC8A": Object { "DependsOn": Array [ "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aServiceRoleDefaultPolicyADDA7DEB", "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aServiceRole9741ECFB", ], "Properties": Object { "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "e45ee2082d227db1b6f0292696ce5ce2b061c105d15efb341925ca040d1feb68.zip", }, "Handler": "index.handler", "Role": Object { "Fn::GetAtt": Array [ "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aServiceRole9741ECFB", "Arn", ], }, "Runtime": "nodejs14.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", }, "MonitoringFacadeSecretsManagerMetricsPublisherLambda0179F12B": Object { "DependsOn": Array [ "MonitoringFacadeSecretsManagerMetricsPublisherLambdaServiceRoleDefaultPolicy7DBCFAF5", "MonitoringFacadeSecretsManagerMetricsPublisherLambdaServiceRole7F0151FB", ], "Properties": Object { "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "370b9814d54928ec69d6005dd678b0f594a594948aa3322141bf10679ac71ee3.zip", }, "Description": "Custom metrics publisher for SecretsManager Secrets (MonitoringCDKConstructs)", "Handler": "index.handler", "MemorySize": 128, "Role": Object { "Fn::GetAtt": Array [ "MonitoringFacadeSecretsManagerMetricsPublisherLambdaServiceRole7F0151FB", "Arn", ], }, "Runtime": "nodejs14.x", "Timeout": 60, }, "Type": "AWS::Lambda::Function", }, "MonitoringFacadeSecretsManagerMetricsPublisherLambdaLogRetention5A555562": Object { "Properties": Object { "LogGroupName": Object { "Fn::Join": Array [ "", Array [ "/aws/lambda/", Object { "Ref": "MonitoringFacadeSecretsManagerMetricsPublisherLambda0179F12B", }, ], ], }, "RetentionInDays": 1, "ServiceToken": Object { "Fn::GetAtt": Array [ "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aFD4BFC8A", "Arn", ], }, }, "Type": "Custom::LogRetention", }, "MonitoringFacadeSecretsManagerMetricsPublisherLambdaServiceRole7F0151FB": 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", }, "MonitoringFacadeSecretsManagerMetricsPublisherLambdaServiceRoleDefaultPolicy7DBCFAF5": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": "secretsmanager:DescribeSecret", "Effect": "Allow", "Resource": "*", }, Object { "Action": "cloudwatch:PutMetricData", "Condition": Object { "StringEquals": Object { "cloudwatch:namespace": "SecretsManager", }, }, "Effect": "Allow", "Resource": "*", }, ], "Version": "2012-10-17", }, "PolicyName": "MonitoringFacadeSecretsManagerMetricsPublisherLambdaServiceRoleDefaultPolicy7DBCFAF5", "Roles": Array [ Object { "Ref": "MonitoringFacadeSecretsManagerMetricsPublisherLambdaServiceRole7F0151FB", }, ], }, "Type": "AWS::IAM::Policy", }, "MonitoringFacadeSecretsManagerMetricsPublisherRuleForDummyClusterSecret9272710A666FA362": Object { "Properties": Object { "ScheduleExpression": "cron(0 * * * ? *)", "State": "ENABLED", "Targets": Array [ Object { "Arn": Object { "Fn::GetAtt": Array [ "MonitoringFacadeSecretsManagerMetricsPublisherLambda0179F12B", "Arn", ], }, "Id": "Target0", "Input": Object { "Fn::Join": Array [ "", Array [ "{\\"secretId\\":\\"", Object { "Ref": "DummyClusterSecret3E1F055F", }, "\\"}", ], ], }, }, ], }, "Type": "AWS::Events::Rule", }, "MonitoringFacadeSecretsManagerMetricsPublisherRuleForDummyClusterSecret9272710AAllowEventRuleMonitoringFacadeSecretsManagerMetricsPublisherLambda629BCAEFC741BF73": Object { "Properties": Object { "Action": "lambda:InvokeFunction", "FunctionName": Object { "Fn::GetAtt": Array [ "MonitoringFacadeSecretsManagerMetricsPublisherLambda0179F12B", "Arn", ], }, "Principal": "events.amazonaws.com", "SourceArn": Object { "Fn::GetAtt": Array [ "MonitoringFacadeSecretsManagerMetricsPublisherRuleForDummyClusterSecret9272710A666FA362", "Arn", ], }, }, "Type": "AWS::Lambda::Permission", }, }, "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.", }, ], }, }, } `; exports[`MonitoringAspect DynamoDB 1`] = ` Object { "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 { "DashboardFactoryAlarmDashboard6286FAD3": Object { "Properties": Object { "DashboardBody": "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[]}", "DashboardName": "DummyDashboard-Alarms", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactoryDashboard3E20AD6E": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### Dynamo Table **[DummyTable](https://", Object { "Ref": "AWS::Region", }, ".console.aws.amazon.com/dynamodb/home?region=", Object { "Ref": "AWS::Region", }, "#tables:selected=", Object { "Ref": "DummyTable77F0C182", }, ")**\\"}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":3,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Read Usage\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[{\\"label\\":\\"Consumed\\",\\"expression\\":\\"consumed_rcu_sum/PERIOD(consumed_rcu_sum)\\",\\"id\\":\\"consumed_read_cap\\"}],[\\"AWS/DynamoDB\\",\\"ConsumedReadCapacityUnits\\",\\"TableName\\",\\"", Object { "Ref": "DummyTable77F0C182", }, "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"consumed_rcu_sum\\"}],[\\"AWS/DynamoDB\\",\\"ProvisionedReadCapacityUnits\\",\\"TableName\\",\\"", Object { "Ref": "DummyTable77F0C182", }, "\\",{\\"label\\":\\"Provisioned\\",\\"id\\":\\"provisioned_read_cap\\"}],[{\\"label\\":\\"Utilization\\",\\"expression\\":\\"100*(consumed_read_cap/provisioned_read_cap)\\",\\"yAxis\\":\\"right\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false},\\"right\\":{\\"min\\":0,\\"max\\":100,\\"label\\":\\"%\\",\\"showUnits\\":false}},\\"legend\\":{\\"position\\":\\"right\\"}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":3,\\"x\\":0,\\"y\\":4,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Write Usage\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[{\\"label\\":\\"Consumed\\",\\"expression\\":\\"consumed_wcu_sum/PERIOD(consumed_wcu_sum)\\",\\"id\\":\\"consumed_write_cap\\"}],[\\"AWS/DynamoDB\\",\\"ConsumedWriteCapacityUnits\\",\\"TableName\\",\\"", Object { "Ref": "DummyTable77F0C182", }, "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"consumed_wcu_sum\\"}],[\\"AWS/DynamoDB\\",\\"ProvisionedWriteCapacityUnits\\",\\"TableName\\",\\"", Object { "Ref": "DummyTable77F0C182", }, "\\",{\\"label\\":\\"Provisioned\\",\\"id\\":\\"provisioned_write_cap\\"}],[{\\"label\\":\\"Utilization\\",\\"expression\\":\\"100*(consumed_write_cap/provisioned_write_cap)\\",\\"yAxis\\":\\"right\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false},\\"right\\":{\\"min\\":0,\\"max\\":100,\\"label\\":\\"%\\",\\"showUnits\\":false}},\\"legend\\":{\\"position\\":\\"right\\"}}},{\\"type\\":\\"metric\\",\\"width\\":9,\\"height\\":6,\\"x\\":6,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Latency (Average)\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[{\\"label\\":\\" \\",\\"expression\\":\\"SEARCH('{AWS/DynamoDB,TableName,Operation} TableName=\\\\\\"", Object { "Ref": "DummyTable77F0C182", }, "\\\\\\" MetricName=\\\\\\"SuccessfulRequestLatency\\\\\\"', 'Average', 300)\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"ms\\",\\"showUnits\\":false}},\\"legend\\":{\\"position\\":\\"right\\"}}},{\\"type\\":\\"metric\\",\\"width\\":3,\\"height\\":6,\\"x\\":15,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Throttles\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[{\\"label\\":\\"Read\\",\\"expression\\":\\"FILL(readThrottles,0)\\"}],[\\"AWS/DynamoDB\\",\\"ReadThrottleEvents\\",\\"TableName\\",\\"", Object { "Ref": "DummyTable77F0C182", }, "\\",{\\"label\\":\\"Read\\",\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"readThrottles\\"}],[{\\"label\\":\\"Write\\",\\"expression\\":\\"FILL(writeThrottles,0)\\"}],[\\"AWS/DynamoDB\\",\\"WriteThrottleEvents\\",\\"TableName\\",\\"", Object { "Ref": "DummyTable77F0C182", }, "\\",{\\"label\\":\\"Write\\",\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"writeThrottles\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":6,\\"x\\":18,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Errors\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[{\\"label\\":\\"System Errors\\",\\"expression\\":\\"systemErrorGetItem+systemErrorBatchGetItem+systemErrorScan+systemErrorQuery+systemErrorGetRecords+systemErrorPutItem+systemErrorDeleteItem+systemErrorUpdateItem+systemErrorBatchWriteItem\\"}],[\\"AWS/DynamoDB\\",\\"SystemErrors\\",\\"Operation\\",\\"GetItem\\",\\"TableName\\",\\"", Object { "Ref": "DummyTable77F0C182", }, "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"systemErrorGetItem\\"}],[\\"AWS/DynamoDB\\",\\"SystemErrors\\",\\"Operation\\",\\"BatchGetItem\\",\\"TableName\\",\\"", Object { "Ref": "DummyTable77F0C182", }, "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"systemErrorBatchGetItem\\"}],[\\"AWS/DynamoDB\\",\\"SystemErrors\\",\\"Operation\\",\\"Scan\\",\\"TableName\\",\\"", Object { "Ref": "DummyTable77F0C182", }, "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"systemErrorScan\\"}],[\\"AWS/DynamoDB\\",\\"SystemErrors\\",\\"Operation\\",\\"Query\\",\\"TableName\\",\\"", Object { "Ref": "DummyTable77F0C182", }, "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"systemErrorQuery\\"}],[\\"AWS/DynamoDB\\",\\"SystemErrors\\",\\"Operation\\",\\"GetRecords\\",\\"TableName\\",\\"", Object { "Ref": "DummyTable77F0C182", }, "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"systemErrorGetRecords\\"}],[\\"AWS/DynamoDB\\",\\"SystemErrors\\",\\"Operation\\",\\"PutItem\\",\\"TableName\\",\\"", Object { "Ref": "DummyTable77F0C182", }, "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"systemErrorPutItem\\"}],[\\"AWS/DynamoDB\\",\\"SystemErrors\\",\\"Operation\\",\\"DeleteItem\\",\\"TableName\\",\\"", Object { "Ref": "DummyTable77F0C182", }, "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"systemErrorDeleteItem\\"}],[\\"AWS/DynamoDB\\",\\"SystemErrors\\",\\"Operation\\",\\"UpdateItem\\",\\"TableName\\",\\"", Object { "Ref": "DummyTable77F0C182", }, "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"systemErrorUpdateItem\\"}],[\\"AWS/DynamoDB\\",\\"SystemErrors\\",\\"Operation\\",\\"BatchWriteItem\\",\\"TableName\\",\\"", Object { "Ref": "DummyTable77F0C182", }, "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"systemErrorBatchWriteItem\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactorySummaryDashboard5F4BC8C5": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-P14D\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### Dynamo Table **[DummyTable](https://", Object { "Ref": "AWS::Region", }, ".console.aws.amazon.com/dynamodb/home?region=", Object { "Ref": "AWS::Region", }, "#tables:selected=", Object { "Ref": "DummyTable77F0C182", }, ")**\\"}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":6,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Read Usage\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[{\\"label\\":\\"Consumed\\",\\"expression\\":\\"consumed_rcu_sum/PERIOD(consumed_rcu_sum)\\",\\"id\\":\\"consumed_read_cap\\"}],[\\"AWS/DynamoDB\\",\\"ConsumedReadCapacityUnits\\",\\"TableName\\",\\"", Object { "Ref": "DummyTable77F0C182", }, "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"consumed_rcu_sum\\"}],[\\"AWS/DynamoDB\\",\\"ProvisionedReadCapacityUnits\\",\\"TableName\\",\\"", Object { "Ref": "DummyTable77F0C182", }, "\\",{\\"label\\":\\"Provisioned\\",\\"id\\":\\"provisioned_read_cap\\"}],[{\\"label\\":\\"Utilization\\",\\"expression\\":\\"100*(consumed_read_cap/provisioned_read_cap)\\",\\"yAxis\\":\\"right\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false},\\"right\\":{\\"min\\":0,\\"max\\":100,\\"label\\":\\"%\\",\\"showUnits\\":false}},\\"legend\\":{\\"position\\":\\"right\\"}}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":6,\\"x\\":12,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Write Usage\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[{\\"label\\":\\"Consumed\\",\\"expression\\":\\"consumed_wcu_sum/PERIOD(consumed_wcu_sum)\\",\\"id\\":\\"consumed_write_cap\\"}],[\\"AWS/DynamoDB\\",\\"ConsumedWriteCapacityUnits\\",\\"TableName\\",\\"", Object { "Ref": "DummyTable77F0C182", }, "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"consumed_wcu_sum\\"}],[\\"AWS/DynamoDB\\",\\"ProvisionedWriteCapacityUnits\\",\\"TableName\\",\\"", Object { "Ref": "DummyTable77F0C182", }, "\\",{\\"label\\":\\"Provisioned\\",\\"id\\":\\"provisioned_write_cap\\"}],[{\\"label\\":\\"Utilization\\",\\"expression\\":\\"100*(consumed_write_cap/provisioned_write_cap)\\",\\"yAxis\\":\\"right\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false},\\"right\\":{\\"min\\":0,\\"max\\":100,\\"label\\":\\"%\\",\\"showUnits\\":false}},\\"legend\\":{\\"position\\":\\"right\\"}}}]}", ], ], }, "DashboardName": "DummyDashboard-Summary", }, "Type": "AWS::CloudWatch::Dashboard", }, "DummyTable77F0C182": Object { "DeletionPolicy": "Retain", "Properties": Object { "AttributeDefinitions": Array [ Object { "AttributeName": "id", "AttributeType": "S", }, ], "KeySchema": Array [ Object { "AttributeName": "id", "KeyType": "HASH", }, ], "ProvisionedThroughput": Object { "ReadCapacityUnits": 5, "WriteCapacityUnits": 5, }, }, "Type": "AWS::DynamoDB::Table", "UpdateReplacePolicy": "Retain", }, }, "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.", }, ], }, }, } `; exports[`MonitoringAspect EC2 1`] = ` Object { "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", }, "SsmParameterValueawsserviceamiamazonlinuxlatestamznamihvmx8664gp2C96584B6F00A464EAD1953AFF4B05118Parameter": Object { "Default": "/aws/service/ami-amazon-linux-latest/amzn-ami-hvm-x86_64-gp2", "Type": "AWS::SSM::Parameter::Value", }, }, "Resources": Object { "DashboardFactoryAlarmDashboard6286FAD3": Object { "Properties": Object { "DashboardBody": "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[]}", "DashboardName": "DummyDashboard-Alarms", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactoryDashboard3E20AD6E": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### EC2 **All Instances**\\"}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"CPU Utilization\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[{\\"label\\":\\" \\",\\"expression\\":\\"SEARCH('{AWS/EC2,InstanceId} MetricName=\\\\\\"CPUUtilization\\\\\\"', 'Average', 300)\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"max\\":100,\\"label\\":\\"%\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":6,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Disk - OPS\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[{\\"label\\":\\"DiskReadOps\\",\\"expression\\":\\"AVG(REMOVE_EMPTY([readops_classic_0, readops_ebs_0]))\\"}],[{\\"label\\":\\" \\",\\"expression\\":\\"SEARCH('{AWS/EC2,InstanceId} MetricName=\\\\\\"DiskReadOps\\\\\\"', 'Average', 300)\\",\\"visible\\":false,\\"id\\":\\"readops_classic_0\\"}],[{\\"label\\":\\" \\",\\"expression\\":\\"SEARCH('{AWS/EC2,InstanceId} MetricName=\\\\\\"EBSReadOps\\\\\\"', 'Average', 300)\\",\\"visible\\":false,\\"id\\":\\"readops_ebs_0\\"}],[{\\"label\\":\\"DiskWriteOps\\",\\"expression\\":\\"AVG(REMOVE_EMPTY([writeops_classic_0, writeops_ebs_0]))\\"}],[{\\"label\\":\\" \\",\\"expression\\":\\"SEARCH('{AWS/EC2,InstanceId} MetricName=\\\\\\"DiskWriteOps\\\\\\"', 'Average', 300)\\",\\"visible\\":false,\\"id\\":\\"writeops_classic_0\\"}],[{\\"label\\":\\" \\",\\"expression\\":\\"SEARCH('{AWS/EC2,InstanceId} MetricName=\\\\\\"EBSWriteOps\\\\\\"', 'Average', 300)\\",\\"visible\\":false,\\"id\\":\\"writeops_ebs_0\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":12,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Disk - Bytes\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[{\\"label\\":\\"DiskReadBytes\\",\\"expression\\":\\"AVG(REMOVE_EMPTY([readbytes_classic_0, readbytes_ebs_0]))\\"}],[{\\"label\\":\\" \\",\\"expression\\":\\"SEARCH('{AWS/EC2,InstanceId} MetricName=\\\\\\"DiskReadBytes\\\\\\"', 'Average', 300)\\",\\"visible\\":false,\\"id\\":\\"readbytes_classic_0\\"}],[{\\"label\\":\\" \\",\\"expression\\":\\"SEARCH('{AWS/EC2,InstanceId} MetricName=\\\\\\"EBSReadBytes\\\\\\"', 'Average', 300)\\",\\"visible\\":false,\\"id\\":\\"readbytes_ebs_0\\"}],[{\\"label\\":\\"DiskWriteBytes\\",\\"expression\\":\\"AVG(REMOVE_EMPTY([writebytes_classic_0, writebytes_ebs_0]))\\"}],[{\\"label\\":\\" \\",\\"expression\\":\\"SEARCH('{AWS/EC2,InstanceId} MetricName=\\\\\\"DiskWriteBytes\\\\\\"', 'Average', 300)\\",\\"visible\\":false,\\"id\\":\\"writebytes_classic_0\\"}],[{\\"label\\":\\" \\",\\"expression\\":\\"SEARCH('{AWS/EC2,InstanceId} MetricName=\\\\\\"EBSWriteBytes\\\\\\"', 'Average', 300)\\",\\"visible\\":false,\\"id\\":\\"writebytes_ebs_0\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"bytes\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":18,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Network\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[{\\"label\\":\\" \\",\\"expression\\":\\"SEARCH('{AWS/EC2,InstanceId} MetricName=\\\\\\"NetworkIn\\\\\\"', 'Average', 300)\\"}],[{\\"label\\":\\" \\",\\"expression\\":\\"SEARCH('{AWS/EC2,InstanceId} MetricName=\\\\\\"NetworkOut\\\\\\"', 'Average', 300)\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"bytes\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactorySummaryDashboard5F4BC8C5": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-P14D\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### EC2 **All Instances**\\"}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":6,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"CPU Utilization\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[{\\"label\\":\\" \\",\\"expression\\":\\"SEARCH('{AWS/EC2,InstanceId} MetricName=\\\\\\"CPUUtilization\\\\\\"', 'Average', 300)\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"max\\":100,\\"label\\":\\"%\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":6,\\"x\\":8,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Disk - OPS\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[{\\"label\\":\\"DiskReadOps\\",\\"expression\\":\\"AVG(REMOVE_EMPTY([readops_classic_0, readops_ebs_0]))\\"}],[{\\"label\\":\\" \\",\\"expression\\":\\"SEARCH('{AWS/EC2,InstanceId} MetricName=\\\\\\"DiskReadOps\\\\\\"', 'Average', 300)\\",\\"visible\\":false,\\"id\\":\\"readops_classic_0\\"}],[{\\"label\\":\\" \\",\\"expression\\":\\"SEARCH('{AWS/EC2,InstanceId} MetricName=\\\\\\"EBSReadOps\\\\\\"', 'Average', 300)\\",\\"visible\\":false,\\"id\\":\\"readops_ebs_0\\"}],[{\\"label\\":\\"DiskWriteOps\\",\\"expression\\":\\"AVG(REMOVE_EMPTY([writeops_classic_0, writeops_ebs_0]))\\"}],[{\\"label\\":\\" \\",\\"expression\\":\\"SEARCH('{AWS/EC2,InstanceId} MetricName=\\\\\\"DiskWriteOps\\\\\\"', 'Average', 300)\\",\\"visible\\":false,\\"id\\":\\"writeops_classic_0\\"}],[{\\"label\\":\\" \\",\\"expression\\":\\"SEARCH('{AWS/EC2,InstanceId} MetricName=\\\\\\"EBSWriteOps\\\\\\"', 'Average', 300)\\",\\"visible\\":false,\\"id\\":\\"writeops_ebs_0\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":6,\\"x\\":16,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Network\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[{\\"label\\":\\" \\",\\"expression\\":\\"SEARCH('{AWS/EC2,InstanceId} MetricName=\\\\\\"NetworkIn\\\\\\"', 'Average', 300)\\"}],[{\\"label\\":\\" \\",\\"expression\\":\\"SEARCH('{AWS/EC2,InstanceId} MetricName=\\\\\\"NetworkOut\\\\\\"', 'Average', 300)\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"bytes\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard-Summary", }, "Type": "AWS::CloudWatch::Dashboard", }, "DummyInstanceBB127596": Object { "DependsOn": Array [ "DummyInstanceInstanceRoleD3BFAC56", ], "Properties": Object { "AvailabilityZone": Object { "Fn::Select": Array [ 0, Object { "Fn::GetAZs": "", }, ], }, "IamInstanceProfile": Object { "Ref": "DummyInstanceInstanceProfile117AEDED", }, "ImageId": Object { "Ref": "SsmParameterValueawsserviceamiamazonlinuxlatestamznamihvmx8664gp2C96584B6F00A464EAD1953AFF4B05118Parameter", }, "InstanceType": "m4.large", "SecurityGroupIds": Array [ Object { "Fn::GetAtt": Array [ "DummyInstanceInstanceSecurityGroupAF9919DF", "GroupId", ], }, ], "SubnetId": Object { "Ref": "VpcPrivateSubnet1Subnet536B997A", }, "Tags": Array [ Object { "Key": "Name", "Value": "Default/DummyInstance", }, ], "UserData": Object { "Fn::Base64": "#!/bin/bash", }, }, "Type": "AWS::EC2::Instance", }, "DummyInstanceInstanceProfile117AEDED": Object { "Properties": Object { "Roles": Array [ Object { "Ref": "DummyInstanceInstanceRoleD3BFAC56", }, ], }, "Type": "AWS::IAM::InstanceProfile", }, "DummyInstanceInstanceRoleD3BFAC56": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "ec2.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "Tags": Array [ Object { "Key": "Name", "Value": "Default/DummyInstance", }, ], }, "Type": "AWS::IAM::Role", }, "DummyInstanceInstanceSecurityGroupAF9919DF": Object { "Properties": Object { "GroupDescription": "Default/DummyInstance/InstanceSecurityGroup", "SecurityGroupEgress": Array [ Object { "CidrIp": "0.0.0.0/0", "Description": "Allow all outbound traffic by default", "IpProtocol": "-1", }, ], "Tags": Array [ Object { "Key": "Name", "Value": "Default/DummyInstance", }, ], "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::SecurityGroup", }, "Vpc8378EB38": Object { "Properties": Object { "CidrBlock": "10.0.0.0/16", "EnableDnsHostnames": true, "EnableDnsSupport": true, "InstanceTenancy": "default", "Tags": Array [ Object { "Key": "Name", "Value": "Default/Vpc", }, ], }, "Type": "AWS::EC2::VPC", }, "VpcIGWD7BA715C": Object { "Properties": Object { "Tags": Array [ Object { "Key": "Name", "Value": "Default/Vpc", }, ], }, "Type": "AWS::EC2::InternetGateway", }, "VpcPrivateSubnet1DefaultRouteBE02A9ED": Object { "Properties": Object { "DestinationCidrBlock": "0.0.0.0/0", "NatGatewayId": Object { "Ref": "VpcPublicSubnet1NATGateway4D7517AA", }, "RouteTableId": Object { "Ref": "VpcPrivateSubnet1RouteTableB2C5B500", }, }, "Type": "AWS::EC2::Route", }, "VpcPrivateSubnet1RouteTableAssociation70C59FA6": Object { "Properties": Object { "RouteTableId": Object { "Ref": "VpcPrivateSubnet1RouteTableB2C5B500", }, "SubnetId": Object { "Ref": "VpcPrivateSubnet1Subnet536B997A", }, }, "Type": "AWS::EC2::SubnetRouteTableAssociation", }, "VpcPrivateSubnet1RouteTableB2C5B500": Object { "Properties": Object { "Tags": Array [ Object { "Key": "Name", "Value": "Default/Vpc/PrivateSubnet1", }, ], "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::RouteTable", }, "VpcPrivateSubnet1Subnet536B997A": Object { "Properties": Object { "AvailabilityZone": Object { "Fn::Select": Array [ 0, Object { "Fn::GetAZs": "", }, ], }, "CidrBlock": "10.0.128.0/18", "MapPublicIpOnLaunch": false, "Tags": Array [ Object { "Key": "aws-cdk:subnet-name", "Value": "Private", }, Object { "Key": "aws-cdk:subnet-type", "Value": "Private", }, Object { "Key": "Name", "Value": "Default/Vpc/PrivateSubnet1", }, ], "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::Subnet", }, "VpcPrivateSubnet2DefaultRoute060D2087": Object { "Properties": Object { "DestinationCidrBlock": "0.0.0.0/0", "NatGatewayId": Object { "Ref": "VpcPublicSubnet2NATGateway9182C01D", }, "RouteTableId": Object { "Ref": "VpcPrivateSubnet2RouteTableA678073B", }, }, "Type": "AWS::EC2::Route", }, "VpcPrivateSubnet2RouteTableA678073B": Object { "Properties": Object { "Tags": Array [ Object { "Key": "Name", "Value": "Default/Vpc/PrivateSubnet2", }, ], "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::RouteTable", }, "VpcPrivateSubnet2RouteTableAssociationA89CAD56": Object { "Properties": Object { "RouteTableId": Object { "Ref": "VpcPrivateSubnet2RouteTableA678073B", }, "SubnetId": Object { "Ref": "VpcPrivateSubnet2Subnet3788AAA1", }, }, "Type": "AWS::EC2::SubnetRouteTableAssociation", }, "VpcPrivateSubnet2Subnet3788AAA1": Object { "Properties": Object { "AvailabilityZone": Object { "Fn::Select": Array [ 1, Object { "Fn::GetAZs": "", }, ], }, "CidrBlock": "10.0.192.0/18", "MapPublicIpOnLaunch": false, "Tags": Array [ Object { "Key": "aws-cdk:subnet-name", "Value": "Private", }, Object { "Key": "aws-cdk:subnet-type", "Value": "Private", }, Object { "Key": "Name", "Value": "Default/Vpc/PrivateSubnet2", }, ], "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::Subnet", }, "VpcPublicSubnet1DefaultRoute3DA9E72A": Object { "DependsOn": Array [ "VpcVPCGWBF912B6E", ], "Properties": Object { "DestinationCidrBlock": "0.0.0.0/0", "GatewayId": Object { "Ref": "VpcIGWD7BA715C", }, "RouteTableId": Object { "Ref": "VpcPublicSubnet1RouteTable6C95E38E", }, }, "Type": "AWS::EC2::Route", }, "VpcPublicSubnet1EIPD7E02669": Object { "Properties": Object { "Domain": "vpc", "Tags": Array [ Object { "Key": "Name", "Value": "Default/Vpc/PublicSubnet1", }, ], }, "Type": "AWS::EC2::EIP", }, "VpcPublicSubnet1NATGateway4D7517AA": Object { "DependsOn": Array [ "VpcPublicSubnet1DefaultRoute3DA9E72A", "VpcPublicSubnet1RouteTableAssociation97140677", ], "Properties": Object { "AllocationId": Object { "Fn::GetAtt": Array [ "VpcPublicSubnet1EIPD7E02669", "AllocationId", ], }, "SubnetId": Object { "Ref": "VpcPublicSubnet1Subnet5C2D37C4", }, "Tags": Array [ Object { "Key": "Name", "Value": "Default/Vpc/PublicSubnet1", }, ], }, "Type": "AWS::EC2::NatGateway", }, "VpcPublicSubnet1RouteTable6C95E38E": Object { "Properties": Object { "Tags": Array [ Object { "Key": "Name", "Value": "Default/Vpc/PublicSubnet1", }, ], "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::RouteTable", }, "VpcPublicSubnet1RouteTableAssociation97140677": Object { "Properties": Object { "RouteTableId": Object { "Ref": "VpcPublicSubnet1RouteTable6C95E38E", }, "SubnetId": Object { "Ref": "VpcPublicSubnet1Subnet5C2D37C4", }, }, "Type": "AWS::EC2::SubnetRouteTableAssociation", }, "VpcPublicSubnet1Subnet5C2D37C4": Object { "Properties": Object { "AvailabilityZone": Object { "Fn::Select": Array [ 0, Object { "Fn::GetAZs": "", }, ], }, "CidrBlock": "10.0.0.0/18", "MapPublicIpOnLaunch": true, "Tags": Array [ Object { "Key": "aws-cdk:subnet-name", "Value": "Public", }, Object { "Key": "aws-cdk:subnet-type", "Value": "Public", }, Object { "Key": "Name", "Value": "Default/Vpc/PublicSubnet1", }, ], "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::Subnet", }, "VpcPublicSubnet2DefaultRoute97F91067": Object { "DependsOn": Array [ "VpcVPCGWBF912B6E", ], "Properties": Object { "DestinationCidrBlock": "0.0.0.0/0", "GatewayId": Object { "Ref": "VpcIGWD7BA715C", }, "RouteTableId": Object { "Ref": "VpcPublicSubnet2RouteTable94F7E489", }, }, "Type": "AWS::EC2::Route", }, "VpcPublicSubnet2EIP3C605A87": Object { "Properties": Object { "Domain": "vpc", "Tags": Array [ Object { "Key": "Name", "Value": "Default/Vpc/PublicSubnet2", }, ], }, "Type": "AWS::EC2::EIP", }, "VpcPublicSubnet2NATGateway9182C01D": Object { "DependsOn": Array [ "VpcPublicSubnet2DefaultRoute97F91067", "VpcPublicSubnet2RouteTableAssociationDD5762D8", ], "Properties": Object { "AllocationId": Object { "Fn::GetAtt": Array [ "VpcPublicSubnet2EIP3C605A87", "AllocationId", ], }, "SubnetId": Object { "Ref": "VpcPublicSubnet2Subnet691E08A3", }, "Tags": Array [ Object { "Key": "Name", "Value": "Default/Vpc/PublicSubnet2", }, ], }, "Type": "AWS::EC2::NatGateway", }, "VpcPublicSubnet2RouteTable94F7E489": Object { "Properties": Object { "Tags": Array [ Object { "Key": "Name", "Value": "Default/Vpc/PublicSubnet2", }, ], "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::RouteTable", }, "VpcPublicSubnet2RouteTableAssociationDD5762D8": Object { "Properties": Object { "RouteTableId": Object { "Ref": "VpcPublicSubnet2RouteTable94F7E489", }, "SubnetId": Object { "Ref": "VpcPublicSubnet2Subnet691E08A3", }, }, "Type": "AWS::EC2::SubnetRouteTableAssociation", }, "VpcPublicSubnet2Subnet691E08A3": Object { "Properties": Object { "AvailabilityZone": Object { "Fn::Select": Array [ 1, Object { "Fn::GetAZs": "", }, ], }, "CidrBlock": "10.0.64.0/18", "MapPublicIpOnLaunch": true, "Tags": Array [ Object { "Key": "aws-cdk:subnet-name", "Value": "Public", }, Object { "Key": "aws-cdk:subnet-type", "Value": "Public", }, Object { "Key": "Name", "Value": "Default/Vpc/PublicSubnet2", }, ], "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::Subnet", }, "VpcVPCGWBF912B6E": Object { "Properties": Object { "InternetGatewayId": Object { "Ref": "VpcIGWD7BA715C", }, "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::VPCGatewayAttachment", }, }, "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.", }, ], }, }, } `; exports[`MonitoringAspect ElasticCache 1`] = ` Object { "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 { "DashboardFactoryAlarmDashboard6286FAD3": Object { "Properties": Object { "DashboardBody": "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[]}", "DashboardName": "DummyDashboard-Alarms", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactoryDashboard3E20AD6E": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### ElastiCache Cluster **Memcached-ALL**\\"}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"CPU Utilization\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ElastiCache\\",\\"CPUUtilization\\",{\\"label\\":\\"Cluster CPU Utilization\\",\\"stat\\":\\"Maximum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"max\\":100,\\"label\\":\\"%\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":6,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Memory Utilization\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ElastiCache\\",\\"FreeableMemory\\",{\\"label\\":\\"Freeable\\"}],[\\"AWS/ElastiCache\\",\\"UnusedMemory\\",{\\"label\\":\\"Unused\\"}],[\\"AWS/ElastiCache\\",\\"SwapUsage\\",{\\"label\\":\\"Swap\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"bytes\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":12,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Connections\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ElastiCache\\",\\"CurrConnections\\",{\\"label\\":\\"Current\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":18,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Items\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ElastiCache\\",\\"CurrItems\\",{\\"label\\":\\"Count\\",\\"stat\\":\\"Maximum\\"}],[\\"AWS/ElastiCache\\",\\"Evictions\\",{\\"label\\":\\"Evictions\\",\\"stat\\":\\"Sum\\",\\"yAxis\\":\\"right\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false},\\"right\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":6,\\"properties\\":{\\"markdown\\":\\"### ElastiCache Cluster **Redis-ALL**\\"}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":0,\\"y\\":7,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"CPU Utilization\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ElastiCache\\",\\"CPUUtilization\\",{\\"label\\":\\"Cluster CPU Utilization\\",\\"stat\\":\\"Maximum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"max\\":100,\\"label\\":\\"%\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":6,\\"y\\":7,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Memory Utilization\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ElastiCache\\",\\"FreeableMemory\\",{\\"label\\":\\"Freeable\\"}],[\\"AWS/ElastiCache\\",\\"UnusedMemory\\",{\\"label\\":\\"Unused\\"}],[\\"AWS/ElastiCache\\",\\"SwapUsage\\",{\\"label\\":\\"Swap\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"bytes\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":12,\\"y\\":7,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Connections\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ElastiCache\\",\\"CurrConnections\\",{\\"label\\":\\"Current\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":18,\\"y\\":7,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Items\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ElastiCache\\",\\"CurrItems\\",{\\"label\\":\\"Count\\",\\"stat\\":\\"Maximum\\"}],[\\"AWS/ElastiCache\\",\\"Evictions\\",{\\"label\\":\\"Evictions\\",\\"stat\\":\\"Sum\\",\\"yAxis\\":\\"right\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false},\\"right\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactorySummaryDashboard5F4BC8C5": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-P14D\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### ElastiCache Cluster **Memcached-ALL**\\"}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":6,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"CPU Utilization\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ElastiCache\\",\\"CPUUtilization\\",{\\"label\\":\\"Cluster CPU Utilization\\",\\"stat\\":\\"Maximum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"max\\":100,\\"label\\":\\"%\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":6,\\"x\\":8,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Memory Utilization\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ElastiCache\\",\\"FreeableMemory\\",{\\"label\\":\\"Freeable\\"}],[\\"AWS/ElastiCache\\",\\"UnusedMemory\\",{\\"label\\":\\"Unused\\"}],[\\"AWS/ElastiCache\\",\\"SwapUsage\\",{\\"label\\":\\"Swap\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"bytes\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":6,\\"x\\":16,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Items\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ElastiCache\\",\\"CurrItems\\",{\\"label\\":\\"Count\\",\\"stat\\":\\"Maximum\\"}],[\\"AWS/ElastiCache\\",\\"Evictions\\",{\\"label\\":\\"Evictions\\",\\"stat\\":\\"Sum\\",\\"yAxis\\":\\"right\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false},\\"right\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":7,\\"properties\\":{\\"markdown\\":\\"### ElastiCache Cluster **Redis-ALL**\\"}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":6,\\"x\\":0,\\"y\\":8,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"CPU Utilization\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ElastiCache\\",\\"CPUUtilization\\",{\\"label\\":\\"Cluster CPU Utilization\\",\\"stat\\":\\"Maximum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"max\\":100,\\"label\\":\\"%\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":6,\\"x\\":8,\\"y\\":8,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Memory Utilization\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ElastiCache\\",\\"FreeableMemory\\",{\\"label\\":\\"Freeable\\"}],[\\"AWS/ElastiCache\\",\\"UnusedMemory\\",{\\"label\\":\\"Unused\\"}],[\\"AWS/ElastiCache\\",\\"SwapUsage\\",{\\"label\\":\\"Swap\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"bytes\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":6,\\"x\\":16,\\"y\\":8,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Items\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ElastiCache\\",\\"CurrItems\\",{\\"label\\":\\"Count\\",\\"stat\\":\\"Maximum\\"}],[\\"AWS/ElastiCache\\",\\"Evictions\\",{\\"label\\":\\"Evictions\\",\\"stat\\":\\"Sum\\",\\"yAxis\\":\\"right\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false},\\"right\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard-Summary", }, "Type": "AWS::CloudWatch::Dashboard", }, "DummyCacheCluster": Object { "Properties": Object { "CacheNodeType": "cache.t2.micro", "Engine": "memcached", "NumCacheNodes": 1, }, "Type": "AWS::ElastiCache::CacheCluster", }, }, "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.", }, ], }, }, } `; exports[`MonitoringAspect Glue 1`] = ` Object { "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 { "DashboardFactoryAlarmDashboard6286FAD3": Object { "Properties": Object { "DashboardBody": "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[]}", "DashboardName": "DummyDashboard-Alarms", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactoryDashboard3E20AD6E": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### Glue Job **DummyJob**\\"}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Job Execution\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"Glue\\",\\"glue.driver.ExecutorAllocationManager.executors.numberAllExecutors\\",\\"JobName\\",\\"DummyJob\\",\\"JobRunId\\",\\"ALL\\",\\"Type\\",\\"gauge\\",{\\"label\\":\\"Active Executors\\"}],[\\"Glue\\",\\"glue.driver.ExecutorAllocationManager.executors.numberMaxNeededExecutors\\",\\"JobName\\",\\"DummyJob\\",\\"JobRunId\\",\\"ALL\\",\\"Type\\",\\"gauge\\",{\\"label\\":\\"Maximum Needed Executors\\",\\"stat\\":\\"Maximum\\"}],[\\"Glue\\",\\"glue.driver.aggregate.numCompletedStages\\",\\"JobName\\",\\"DummyJob\\",\\"JobRunId\\",\\"ALL\\",\\"Type\\",\\"count\\",{\\"label\\":\\"Completed Stages\\",\\"stat\\":\\"Sum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":6,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Data Movement\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"Glue\\",\\"glue.ALL.s3.filesystem.read_bytes\\",\\"JobName\\",\\"DummyJob\\",\\"JobRunId\\",\\"ALL\\",\\"Type\\",\\"gauge\\",{\\"label\\":\\"Read (S3)\\",\\"stat\\":\\"Sum\\"}],[\\"Glue\\",\\"glue.ALL.s3.filesystem.write_bytes\\",\\"JobName\\",\\"DummyJob\\",\\"JobRunId\\",\\"ALL\\",\\"Type\\",\\"gauge\\",{\\"label\\":\\"Write (S3)\\",\\"stat\\":\\"Sum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"bytes\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":12,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"CPU/Memory Usage\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[{\\"label\\":\\"CPU\\",\\"expression\\":\\"cpu * 100\\"}],[\\"Glue\\",\\"glue.ALL.system.cpuSystemLoad\\",\\"JobName\\",\\"DummyJob\\",\\"JobRunId\\",\\"ALL\\",\\"Type\\",\\"gauge\\",{\\"label\\":\\"CPU Usage (executor average)\\",\\"visible\\":false,\\"id\\":\\"cpu\\"}],[{\\"label\\":\\"Heap\\",\\"expression\\":\\"heap * 100\\"}],[\\"Glue\\",\\"glue.ALL.jvm.heap.usage\\",\\"JobName\\",\\"DummyJob\\",\\"JobRunId\\",\\"ALL\\",\\"Type\\",\\"gauge\\",{\\"label\\":\\"JVM Heap usage (executor average)\\",\\"visible\\":false,\\"id\\":\\"heap\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"max\\":100,\\"label\\":\\"%\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":3,\\"height\\":5,\\"x\\":18,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Errors\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"Glue\\",\\"glue.driver.aggregate.numFailedTasks\\",\\"JobName\\",\\"DummyJob\\",\\"JobRunId\\",\\"ALL\\",\\"Type\\",\\"count\\",{\\"label\\":\\"Failed\\",\\"stat\\":\\"Sum\\"}],[\\"Glue\\",\\"glue.driver.aggregate.numKilledTasks\\",\\"JobName\\",\\"DummyJob\\",\\"JobRunId\\",\\"ALL\\",\\"Type\\",\\"count\\",{\\"label\\":\\"Killed\\",\\"stat\\":\\"Sum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":3,\\"height\\":5,\\"x\\":21,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Errors (rate)\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"Glue\\",\\"glue.driver.aggregate.numFailedTasks\\",\\"JobName\\",\\"DummyJob\\",\\"JobRunId\\",\\"ALL\\",\\"Type\\",\\"count\\",{\\"label\\":\\"Failed Tasks (avg) (min: \${MIN}, max: \${MAX})\\"}],[\\"Glue\\",\\"glue.driver.aggregate.numKilledTasks\\",\\"JobName\\",\\"DummyJob\\",\\"JobRunId\\",\\"ALL\\",\\"Type\\",\\"count\\",{\\"label\\":\\"Killed Tasks (avg) (min: \${MIN}, max: \${MAX})\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Rate\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactorySummaryDashboard5F4BC8C5": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-P14D\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### Glue Job **DummyJob**\\"}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":6,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Job Execution\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"Glue\\",\\"glue.driver.ExecutorAllocationManager.executors.numberAllExecutors\\",\\"JobName\\",\\"DummyJob\\",\\"JobRunId\\",\\"ALL\\",\\"Type\\",\\"gauge\\",{\\"label\\":\\"Active Executors\\"}],[\\"Glue\\",\\"glue.driver.ExecutorAllocationManager.executors.numberMaxNeededExecutors\\",\\"JobName\\",\\"DummyJob\\",\\"JobRunId\\",\\"ALL\\",\\"Type\\",\\"gauge\\",{\\"label\\":\\"Maximum Needed Executors\\",\\"stat\\":\\"Maximum\\"}],[\\"Glue\\",\\"glue.driver.aggregate.numCompletedStages\\",\\"JobName\\",\\"DummyJob\\",\\"JobRunId\\",\\"ALL\\",\\"Type\\",\\"count\\",{\\"label\\":\\"Completed Stages\\",\\"stat\\":\\"Sum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":6,\\"x\\":12,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"CPU/Memory Usage\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[{\\"label\\":\\"CPU\\",\\"expression\\":\\"cpu * 100\\"}],[\\"Glue\\",\\"glue.ALL.system.cpuSystemLoad\\",\\"JobName\\",\\"DummyJob\\",\\"JobRunId\\",\\"ALL\\",\\"Type\\",\\"gauge\\",{\\"label\\":\\"CPU Usage (executor average)\\",\\"visible\\":false,\\"id\\":\\"cpu\\"}],[{\\"label\\":\\"Heap\\",\\"expression\\":\\"heap * 100\\"}],[\\"Glue\\",\\"glue.ALL.jvm.heap.usage\\",\\"JobName\\",\\"DummyJob\\",\\"JobRunId\\",\\"ALL\\",\\"Type\\",\\"gauge\\",{\\"label\\":\\"JVM Heap usage (executor average)\\",\\"visible\\":false,\\"id\\":\\"heap\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"max\\":100,\\"label\\":\\"%\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard-Summary", }, "Type": "AWS::CloudWatch::Dashboard", }, "DummyJob": Object { "Properties": Object { "Command": Object { "Name": "test", "ScriptLocation": "s3://bucket/script.py", }, "Description": "Dummy Job", "Name": "DummyJob", "Role": "arn:aws:iam::123456789012:role/service-role/GlueServiceRole-1A2B3C4D", }, "Type": "AWS::Glue::Job", }, }, "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.", }, ], }, }, } `; exports[`MonitoringAspect Kinesis DataAnalytics 1`] = ` Object { "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 { "DashboardFactoryAlarmDashboard6286FAD3": Object { "Properties": Object { "DashboardBody": "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[]}", "DashboardName": "DummyDashboard-Alarms", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactoryDashboard3E20AD6E": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### Kinesis Data Analytics **[Default/DummyAnalyticsApplication](https://", Object { "Ref": "AWS::Region", }, ".console.aws.amazon.com/kinesisanalytics/home?region=", Object { "Ref": "AWS::Region", }, "#/details?applicationName=undefined)**\\"}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"KPU Usage\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/KinesisAnalytics\\",\\"KPUs\\",{\\"label\\":\\"Kinesis Processing Units\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":6,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Resource Utilization\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/KinesisAnalytics\\",\\"cpuUtilization\\",{\\"label\\":\\"CPU Utilization\\"}],[\\"AWS/KinesisAnalytics\\",\\"heapMemoryUtilization\\",{\\"label\\":\\"Heap Memory Utilization\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"max\\":100,\\"label\\":\\"%\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":12,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Down Time\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/KinesisAnalytics\\",\\"downtime\\",{\\"label\\":\\"Downtime\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"ms\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":18,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Full Restarts\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/KinesisAnalytics\\",\\"fullRestarts\\",{\\"label\\":\\"Restarts\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":0,\\"y\\":6,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Checkpoint Failures\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/KinesisAnalytics\\",\\"numberOfFailedCheckpoints\\",{\\"label\\":\\"Failed Checkpoints\\",\\"stat\\":\\"Sum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":6,\\"y\\":6,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Checkpoint Duration\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/KinesisAnalytics\\",\\"lastCheckpointDuration\\",{\\"label\\":\\"Last Checkpoint Duration\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"ms\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":12,\\"y\\":6,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Checkpoint Size\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/KinesisAnalytics\\",\\"lastCheckpointSize\\",{\\"label\\":\\"Last Checkpoint Size\\",\\"stat\\":\\"Sum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"bytes\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":18,\\"y\\":6,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Garbage Collection\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/KinesisAnalytics\\",\\"oldGenerationGCCount\\",{\\"label\\":\\"GC Count\\",\\"stat\\":\\"SampleCount\\"}],[\\"AWS/KinesisAnalytics\\",\\"oldGenerationGCTime\\",{\\"label\\":\\"GC Time\\",\\"yAxis\\":\\"right\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false},\\"right\\":{\\"min\\":0,\\"label\\":\\"ms\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactorySummaryDashboard5F4BC8C5": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-P14D\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### Kinesis Data Analytics **[Default/DummyAnalyticsApplication](https://", Object { "Ref": "AWS::Region", }, ".console.aws.amazon.com/kinesisanalytics/home?region=", Object { "Ref": "AWS::Region", }, "#/details?applicationName=undefined)**\\"}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":6,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"KPU Usage\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/KinesisAnalytics\\",\\"KPUs\\",{\\"label\\":\\"Kinesis Processing Units\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":6,\\"x\\":6,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Resource Utilization\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/KinesisAnalytics\\",\\"cpuUtilization\\",{\\"label\\":\\"CPU Utilization\\"}],[\\"AWS/KinesisAnalytics\\",\\"heapMemoryUtilization\\",{\\"label\\":\\"Heap Memory Utilization\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"max\\":100,\\"label\\":\\"%\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":6,\\"x\\":12,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Down Time\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/KinesisAnalytics\\",\\"downtime\\",{\\"label\\":\\"Downtime\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"ms\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":6,\\"x\\":18,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Full Restarts\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/KinesisAnalytics\\",\\"fullRestarts\\",{\\"label\\":\\"Restarts\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard-Summary", }, "Type": "AWS::CloudWatch::Dashboard", }, "DummyAnalyticsApplication": Object { "Properties": Object { "Inputs": Array [ Object { "InputSchema": Object { "RecordColumns": Array [ Object { "Name": "fdsf", "SqlType": "safas", }, ], "RecordFormat": Object { "RecordFormatType": "JSON", }, }, "NamePrefix": "DummyStream", }, ], }, "Type": "AWS::KinesisAnalytics::Application", }, }, "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.", }, ], }, }, } `; exports[`MonitoringAspect Kinesis DataStream 1`] = ` Object { "Conditions": Object { "AwsCdkKinesisEncryptedStreamsUnsupportedRegions": Object { "Fn::Or": Array [ Object { "Fn::Equals": Array [ Object { "Ref": "AWS::Region", }, "cn-north-1", ], }, Object { "Fn::Equals": Array [ Object { "Ref": "AWS::Region", }, "cn-northwest-1", ], }, ], }, }, "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 { "DashboardFactoryAlarmDashboard6286FAD3": Object { "Properties": Object { "DashboardBody": "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[]}", "DashboardName": "DummyDashboard-Alarms", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactoryDashboard3E20AD6E": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### Kinesis Data Stream **[Default/DummyStream/Resource](https://", Object { "Ref": "AWS::Region", }, ".console.aws.amazon.com/kinesis/home?region=", Object { "Ref": "AWS::Region", }, "#/streams/details//monitoring)**\\"}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Incoming\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/Kinesis\\",\\"IncomingRecords\\",\\"StreamName\\",{\\"label\\":\\"Incoming Records\\",\\"stat\\":\\"Sum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":6,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Iterator\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/Kinesis\\",\\"GetRecords.IteratorAgeMilliseconds\\",\\"StreamName\\",{\\"label\\":\\"Iterator Age\\",\\"stat\\":\\"Maximum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"ms\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":12,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Latency (Average)\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/Kinesis\\",\\"GetRecords.Latency\\",\\"StreamName\\",{\\"label\\":\\"GetRecords\\"}],[\\"AWS/Kinesis\\",\\"PutRecord.Latency\\",\\"StreamName\\",{\\"label\\":\\"PutRecord\\"}],[\\"AWS/Kinesis\\",\\"PutRecords.Latency\\",\\"StreamName\\",{\\"label\\":\\"PutRecords\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"ms\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":18,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Provisioned Capacity Exceeded\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/Kinesis\\",\\"ReadProvisionedThroughputExceeded\\",\\"StreamName\\",{\\"label\\":\\"Read\\"}],[\\"AWS/Kinesis\\",\\"WriteProvisionedThroughputExceeded\\",\\"StreamName\\",{\\"label\\":\\"Write\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"ms\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":5,\\"x\\":0,\\"y\\":6,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Bytes\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/Kinesis\\",\\"GetRecords.Bytes\\",\\"StreamName\\",{\\"label\\":\\"GetRecords\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/Kinesis\\",\\"PutRecord.Bytes\\",\\"StreamName\\",{\\"label\\":\\"PutRecord\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/Kinesis\\",\\"PutRecords.Bytes\\",\\"StreamName\\",{\\"label\\":\\"PutRecords\\",\\"stat\\":\\"Sum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"bytes\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":5,\\"x\\":12,\\"y\\":6,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Successful Operations\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/Kinesis\\",\\"GetRecords.Success\\",\\"StreamName\\",{\\"label\\":\\"GetRecords\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/Kinesis\\",\\"PutRecord.Success\\",\\"StreamName\\",{\\"label\\":\\"PutRecord\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/Kinesis\\",\\"PutRecords.Success\\",\\"StreamName\\",{\\"label\\":\\"PutRecords\\",\\"stat\\":\\"Sum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":24,\\"height\\":5,\\"x\\":0,\\"y\\":11,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Records\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/Kinesis\\",\\"GetRecords.Records\\",\\"StreamName\\",{\\"label\\":\\"GetRecords.Records\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/Kinesis\\",\\"PutRecords.TotalRecords\\",\\"StreamName\\",{\\"label\\":\\"PutRecords.TotalRecords\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/Kinesis\\",\\"PutRecords.SuccessfulRecords\\",\\"StreamName\\",{\\"label\\":\\"PutRecords.SuccessfulRecords\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/Kinesis\\",\\"PutRecords.FailedRecords\\",\\"StreamName\\",{\\"label\\":\\"PutRecords.FailedRecords\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/Kinesis\\",\\"PutRecords.ThrottledRecords\\",\\"StreamName\\",{\\"label\\":\\"PutRecords.ThrottledRecords\\",\\"stat\\":\\"Sum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactorySummaryDashboard5F4BC8C5": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-P14D\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### Kinesis Data Stream **[Default/DummyStream/Resource](https://", Object { "Ref": "AWS::Region", }, ".console.aws.amazon.com/kinesis/home?region=", Object { "Ref": "AWS::Region", }, "#/streams/details//monitoring)**\\"}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":6,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Incoming\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/Kinesis\\",\\"IncomingRecords\\",\\"StreamName\\",{\\"label\\":\\"Incoming Records\\",\\"stat\\":\\"Sum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":6,\\"x\\":6,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Iterator\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/Kinesis\\",\\"GetRecords.IteratorAgeMilliseconds\\",\\"StreamName\\",{\\"label\\":\\"Iterator Age\\",\\"stat\\":\\"Maximum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"ms\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":6,\\"x\\":12,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Latency (Average)\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/Kinesis\\",\\"GetRecords.Latency\\",\\"StreamName\\",{\\"label\\":\\"GetRecords\\"}],[\\"AWS/Kinesis\\",\\"PutRecord.Latency\\",\\"StreamName\\",{\\"label\\":\\"PutRecord\\"}],[\\"AWS/Kinesis\\",\\"PutRecords.Latency\\",\\"StreamName\\",{\\"label\\":\\"PutRecords\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"ms\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":6,\\"x\\":18,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Provisioned Capacity Exceeded\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/Kinesis\\",\\"ReadProvisionedThroughputExceeded\\",\\"StreamName\\",{\\"label\\":\\"Read\\"}],[\\"AWS/Kinesis\\",\\"WriteProvisionedThroughputExceeded\\",\\"StreamName\\",{\\"label\\":\\"Write\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"ms\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard-Summary", }, "Type": "AWS::CloudWatch::Dashboard", }, "DummyStreamBB06E5F7": Object { "Properties": Object { "RetentionPeriodHours": 24, "ShardCount": 1, "StreamEncryption": Object { "Fn::If": Array [ "AwsCdkKinesisEncryptedStreamsUnsupportedRegions", Object { "Ref": "AWS::NoValue", }, Object { "EncryptionType": "KMS", "KeyId": "alias/aws/kinesis", }, ], }, "StreamModeDetails": Object { "StreamMode": "PROVISIONED", }, }, "Type": "AWS::Kinesis::Stream", }, }, "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.", }, ], }, }, } `; exports[`MonitoringAspect Kinesis Firehose 1`] = ` Object { "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 { "DashboardFactoryAlarmDashboard6286FAD3": Object { "Properties": Object { "DashboardBody": "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[]}", "DashboardName": "DummyDashboard-Alarms", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactoryDashboard3E20AD6E": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### Firehose Delivery Stream **[Default/DummyDeliveryStream](https://", Object { "Ref": "AWS::Region", }, ".console.aws.amazon.com/firehose/home?region=", Object { "Ref": "AWS::Region", }, "#/details/undefined/monitoring)**\\"}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Records\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/Firehose\\",\\"IncomingRecords\\",{\\"label\\":\\"Incoming (Records)\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/Firehose\\",\\"ThrottledRecords\\",{\\"label\\":\\"Throttled\\",\\"stat\\":\\"Sum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":6,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Latency (P90)\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/Firehose\\",\\"PutRecord.Latency\\",{\\"label\\":\\"PutRecord P90\\",\\"stat\\":\\"p90\\"}],[\\"AWS/Firehose\\",\\"PutRecordBatch.Latency\\",{\\"label\\":\\"PutRecordBatch P90\\",\\"stat\\":\\"p90\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"ms\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":12,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Conversions\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/Firehose\\",\\"SucceedConversion.Records\\",{\\"label\\":\\"Succeed\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/Firehose\\",\\"FailedConversion.Records\\",{\\"label\\":\\"Failed\\",\\"stat\\":\\"Sum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":18,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Limits (rate)\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[{\\"label\\":\\"Bytes\\",\\"expression\\":\\"(bytes_in / PERIOD(bytes_in)) / bytes_max\\"}],[\\"AWS/Firehose\\",\\"IncomingBytes\\",{\\"label\\":\\"Incoming (bytes)\\",\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"bytes_in\\"}],[\\"AWS/Firehose\\",\\"BytesPerSecondLimit\\",{\\"label\\":\\"Incoming Bytes/s Limit\\",\\"visible\\":false,\\"id\\":\\"bytes_max\\"}],[{\\"label\\":\\"Records\\",\\"expression\\":\\"(records_in / PERIOD(records_in)) / records_max\\"}],[\\"AWS/Firehose\\",\\"IncomingRecords\\",{\\"label\\":\\"Incoming (Records)\\",\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"records_in\\"}],[\\"AWS/Firehose\\",\\"RecordsPerSecondLimit\\",{\\"label\\":\\"Records/s Limit\\",\\"visible\\":false,\\"id\\":\\"records_max\\"}],[{\\"label\\":\\"PutRequests\\",\\"expression\\":\\"(requests_in / PERIOD(requests_in)) / requests_max\\"}],[\\"AWS/Firehose\\",\\"IncomingPutRequests\\",{\\"label\\":\\"Incoming (PutRequest)\\",\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"requests_in\\"}],[\\"AWS/Firehose\\",\\"PutRequestsPerSecondLimit\\",{\\"label\\":\\"PutRequests/s Limit\\",\\"visible\\":false,\\"id\\":\\"requests_max\\"}]],\\"annotations\\":{\\"horizontal\\":[{\\"value\\":1,\\"label\\":\\"100% usage\\",\\"yAxis\\":\\"left\\"}]},\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Rate\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactorySummaryDashboard5F4BC8C5": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-P14D\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### Firehose Delivery Stream **[Default/DummyDeliveryStream](https://", Object { "Ref": "AWS::Region", }, ".console.aws.amazon.com/firehose/home?region=", Object { "Ref": "AWS::Region", }, "#/details/undefined/monitoring)**\\"}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":6,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Records\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/Firehose\\",\\"IncomingRecords\\",{\\"label\\":\\"Incoming (Records)\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/Firehose\\",\\"ThrottledRecords\\",{\\"label\\":\\"Throttled\\",\\"stat\\":\\"Sum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":6,\\"x\\":12,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Conversions\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/Firehose\\",\\"SucceedConversion.Records\\",{\\"label\\":\\"Succeed\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/Firehose\\",\\"FailedConversion.Records\\",{\\"label\\":\\"Failed\\",\\"stat\\":\\"Sum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard-Summary", }, "Type": "AWS::CloudWatch::Dashboard", }, "DummyDeliveryStream": Object { "Type": "AWS::KinesisFirehose::DeliveryStream", }, }, "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.", }, ], }, }, } `; exports[`MonitoringAspect Lambda 1`] = ` Object { "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 { "DashboardFactoryAlarmDashboard6286FAD3": Object { "Properties": Object { "DashboardBody": "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[]}", "DashboardName": "DummyDashboard-Alarms", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactoryDashboard3E20AD6E": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### Lambda Function **[DummyFunction](https://", Object { "Ref": "AWS::Region", }, ".console.aws.amazon.com/lambda/home?region=", Object { "Ref": "AWS::Region", }, "#/functions/", Object { "Ref": "DummyFunction3BB5AE03", }, ")**\\"}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"TPS\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[{\\"label\\":\\"TPS\\",\\"expression\\":\\"FILL(requests,0) / PERIOD(requests)\\"}],[\\"AWS/Lambda\\",\\"Invocations\\",\\"FunctionName\\",\\"", Object { "Ref": "DummyFunction3BB5AE03", }, "\\",{\\"label\\":\\"Invocations\\",\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"requests\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Rate\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":6,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Latency\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/Lambda\\",\\"Duration\\",\\"FunctionName\\",\\"", Object { "Ref": "DummyFunction3BB5AE03", }, "\\",{\\"label\\":\\"P50\\",\\"stat\\":\\"p50\\"}],[\\"AWS/Lambda\\",\\"Duration\\",\\"FunctionName\\",\\"", Object { "Ref": "DummyFunction3BB5AE03", }, "\\",{\\"label\\":\\"P90\\",\\"stat\\":\\"p90\\"}],[\\"AWS/Lambda\\",\\"Duration\\",\\"FunctionName\\",\\"", Object { "Ref": "DummyFunction3BB5AE03", }, "\\",{\\"label\\":\\"P99\\",\\"stat\\":\\"p99\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"ms\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":12,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Errors (rate)\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/Lambda\\",\\"Errors\\",\\"FunctionName\\",\\"", Object { "Ref": "DummyFunction3BB5AE03", }, "\\",{\\"label\\":\\"Faults (avg)\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Rate\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":18,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Rates\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/Lambda\\",\\"Throttles\\",\\"FunctionName\\",\\"", Object { "Ref": "DummyFunction3BB5AE03", }, "\\",{\\"label\\":\\"Throttles (avg)\\"}],[\\"AWS/Lambda\\",\\"ProvisionedConcurrencySpilloverInvocations\\",\\"FunctionName\\",\\"", Object { "Ref": "DummyFunction3BB5AE03", }, "\\",{\\"label\\":\\"Provisioned Concurrency Spillovers (avg)\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Rate\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":5,\\"x\\":0,\\"y\\":6,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Invocations\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/Lambda\\",\\"Invocations\\",\\"FunctionName\\",\\"", Object { "Ref": "DummyFunction3BB5AE03", }, "\\",{\\"label\\":\\"Invocations\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/Lambda\\",\\"Throttles\\",\\"FunctionName\\",\\"", Object { "Ref": "DummyFunction3BB5AE03", }, "\\",{\\"label\\":\\"Throttles\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/Lambda\\",\\"ConcurrentExecutions\\",\\"FunctionName\\",\\"", Object { "Ref": "DummyFunction3BB5AE03", }, "\\",{\\"label\\":\\"Concurrent\\",\\"stat\\":\\"Maximum\\"}],[\\"AWS/Lambda\\",\\"ProvisionedConcurrencySpilloverInvocations\\",\\"FunctionName\\",\\"", Object { "Ref": "DummyFunction3BB5AE03", }, "\\",{\\"label\\":\\"Provisioned Concurrency Spillovers\\",\\"stat\\":\\"Sum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":5,\\"x\\":8,\\"y\\":6,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Iterator\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/Lambda\\",\\"IteratorAge\\",\\"FunctionName\\",\\"", Object { "Ref": "DummyFunction3BB5AE03", }, "\\",{\\"label\\":\\"Iterator Age\\",\\"stat\\":\\"Maximum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"ms\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":5,\\"x\\":16,\\"y\\":6,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Errors\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/Lambda\\",\\"Errors\\",\\"FunctionName\\",\\"", Object { "Ref": "DummyFunction3BB5AE03", }, "\\",{\\"label\\":\\"Faults\\",\\"stat\\":\\"Sum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactorySummaryDashboard5F4BC8C5": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-P14D\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### Lambda Function **[DummyFunction](https://", Object { "Ref": "AWS::Region", }, ".console.aws.amazon.com/lambda/home?region=", Object { "Ref": "AWS::Region", }, "#/functions/", Object { "Ref": "DummyFunction3BB5AE03", }, ")**\\"}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":6,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"TPS\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[{\\"label\\":\\"TPS\\",\\"expression\\":\\"FILL(requests,0) / PERIOD(requests)\\"}],[\\"AWS/Lambda\\",\\"Invocations\\",\\"FunctionName\\",\\"", Object { "Ref": "DummyFunction3BB5AE03", }, "\\",{\\"label\\":\\"Invocations\\",\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"requests\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Rate\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":6,\\"x\\":8,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Latency\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/Lambda\\",\\"Duration\\",\\"FunctionName\\",\\"", Object { "Ref": "DummyFunction3BB5AE03", }, "\\",{\\"label\\":\\"P50\\",\\"stat\\":\\"p50\\"}],[\\"AWS/Lambda\\",\\"Duration\\",\\"FunctionName\\",\\"", Object { "Ref": "DummyFunction3BB5AE03", }, "\\",{\\"label\\":\\"P90\\",\\"stat\\":\\"p90\\"}],[\\"AWS/Lambda\\",\\"Duration\\",\\"FunctionName\\",\\"", Object { "Ref": "DummyFunction3BB5AE03", }, "\\",{\\"label\\":\\"P99\\",\\"stat\\":\\"p99\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"ms\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":6,\\"x\\":16,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Errors (rate)\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/Lambda\\",\\"Errors\\",\\"FunctionName\\",\\"", Object { "Ref": "DummyFunction3BB5AE03", }, "\\",{\\"label\\":\\"Faults (avg)\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Rate\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard-Summary", }, "Type": "AWS::CloudWatch::Dashboard", }, "DummyFunction3BB5AE03": Object { "DependsOn": Array [ "DummyFunctionServiceRole32D303AA", ], "Properties": Object { "Code": Object { "ZipFile": "lambda", }, "Handler": "index.handler", "Role": Object { "Fn::GetAtt": Array [ "DummyFunctionServiceRole32D303AA", "Arn", ], }, "Runtime": "nodejs12.x", }, "Type": "AWS::Lambda::Function", }, "DummyFunctionServiceRole32D303AA": 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", }, }, "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.", }, ], }, }, } `; exports[`MonitoringAspect OpenSearch 1`] = ` Object { "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 { "DashboardFactoryAlarmDashboard6286FAD3": Object { "Properties": Object { "DashboardBody": "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[]}", "DashboardName": "DummyDashboard-Alarms", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactoryDashboard3E20AD6E": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### Elasticsearch Domain **[DummyOSDomain](https://", Object { "Ref": "AWS::Region", }, ".console.aws.amazon.com/es/home?region=", Object { "Ref": "AWS::Region", }, "#domain:resource=", Object { "Ref": "DummyOSDomain7A35A5DB", }, ";action=dashboard;tab=TAB_CLUSTER_HEALTH_ID_V2)**\\"}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"TPS\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[{\\"label\\":\\"Rate/s\\",\\"expression\\":\\"FILL(requests,0) / PERIOD(requests)\\"}],[\\"AWS/ES\\",\\"SearchRate\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyOSDomain7A35A5DB", }, "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"requests\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Rate\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":6,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Indexing Latency\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ES\\",\\"IndexingLatency\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyOSDomain7A35A5DB", }, "\\",{\\"label\\":\\"P50\\",\\"stat\\":\\"p50\\"}],[\\"AWS/ES\\",\\"IndexingLatency\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyOSDomain7A35A5DB", }, "\\",{\\"label\\":\\"P90\\",\\"stat\\":\\"p90\\"}],[\\"AWS/ES\\",\\"IndexingLatency\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyOSDomain7A35A5DB", }, "\\",{\\"label\\":\\"P99\\",\\"stat\\":\\"p99\\"}]],\\"yAxis\\":{}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":12,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Search Latency\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ES\\",\\"SearchLatency\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyOSDomain7A35A5DB", }, "\\",{\\"label\\":\\"P50\\",\\"stat\\":\\"p50\\"}],[\\"AWS/ES\\",\\"SearchLatency\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyOSDomain7A35A5DB", }, "\\",{\\"label\\":\\"P90\\",\\"stat\\":\\"p90\\"}],[\\"AWS/ES\\",\\"SearchLatency\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyOSDomain7A35A5DB", }, "\\",{\\"label\\":\\"P99\\",\\"stat\\":\\"p99\\"}]],\\"yAxis\\":{}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":18,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Node Count\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ES\\",\\"Nodes\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyOSDomain7A35A5DB", }, "\\",{\\"label\\":\\"Nodes\\",\\"stat\\":\\"Minimum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":5,\\"x\\":0,\\"y\\":6,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"CPU/Memory/Disk Usage\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ES\\",\\"CPUUtilization\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyOSDomain7A35A5DB", }, "\\",{\\"label\\":\\"CPU Usage\\",\\"stat\\":\\"Maximum\\"}],[\\"AWS/ES\\",\\"JVMMemoryPressure\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyOSDomain7A35A5DB", }, "\\",{\\"label\\":\\"JVM Memory Pressure\\",\\"stat\\":\\"Maximum\\"}],[{\\"label\\":\\"Disk Usage\\",\\"expression\\":\\"100 * (used/(used+free))\\"}],[\\"AWS/ES\\",\\"ClusterUsedSpace\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyOSDomain7A35A5DB", }, "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"used\\"}],[\\"AWS/ES\\",\\"FreeStorageSpace\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyOSDomain7A35A5DB", }, "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"free\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"max\\":100,\\"label\\":\\"%\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":5,\\"x\\":8,\\"y\\":6,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Master CPU/Memory Usage\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ES\\",\\"MasterCPUUtilization\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyOSDomain7A35A5DB", }, "\\",{\\"label\\":\\"Master CPU Usage\\",\\"stat\\":\\"Maximum\\"}],[\\"AWS/ES\\",\\"MasterJVMMemoryPressure\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyOSDomain7A35A5DB", }, "\\",{\\"label\\":\\"Master JVM Memory Pressure\\",\\"stat\\":\\"Maximum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"max\\":100,\\"label\\":\\"%\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":5,\\"x\\":16,\\"y\\":6,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Index/Snapshot/KMS Errors\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ES\\",\\"ClusterIndexWritesBlocked\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyOSDomain7A35A5DB", }, "\\",{\\"label\\":\\"Index Writes Blocked\\",\\"stat\\":\\"Maximum\\"}],[\\"AWS/ES\\",\\"AutomatedSnapshotFailure\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyOSDomain7A35A5DB", }, "\\",{\\"label\\":\\"Automated Snapshot Failures\\",\\"stat\\":\\"Maximum\\"}],[\\"AWS/ES\\",\\"KMSKeyError\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyOSDomain7A35A5DB", }, "\\",{\\"label\\":\\"KMS Key Error\\",\\"stat\\":\\"Maximum\\"}],[\\"AWS/ES\\",\\"KMSKeyInaccessible\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyOSDomain7A35A5DB", }, "\\",{\\"label\\":\\"KMS Key Inaccessible\\",\\"stat\\":\\"Maximum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":11,\\"properties\\":{\\"markdown\\":\\"### Elasticsearch Domain **[Resource](https://", Object { "Ref": "AWS::Region", }, ".console.aws.amazon.com/es/home?region=", Object { "Ref": "AWS::Region", }, "#domain:resource=dummy-os-domain;action=dashboard;tab=TAB_CLUSTER_HEALTH_ID_V2)**\\"}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":0,\\"y\\":12,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"TPS\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[{\\"label\\":\\"Rate/s\\",\\"expression\\":\\"FILL(requests,0) / PERIOD(requests)\\"}],[\\"AWS/ES\\",\\"SearchRate\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"dummy-os-domain\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"requests\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Rate\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":6,\\"y\\":12,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Indexing Latency\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ES\\",\\"IndexingLatency\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"dummy-os-domain\\",{\\"label\\":\\"P50\\",\\"stat\\":\\"p50\\"}],[\\"AWS/ES\\",\\"IndexingLatency\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"dummy-os-domain\\",{\\"label\\":\\"P90\\",\\"stat\\":\\"p90\\"}],[\\"AWS/ES\\",\\"IndexingLatency\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"dummy-os-domain\\",{\\"label\\":\\"P99\\",\\"stat\\":\\"p99\\"}]],\\"yAxis\\":{}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":12,\\"y\\":12,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Search Latency\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ES\\",\\"SearchLatency\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"dummy-os-domain\\",{\\"label\\":\\"P50\\",\\"stat\\":\\"p50\\"}],[\\"AWS/ES\\",\\"SearchLatency\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"dummy-os-domain\\",{\\"label\\":\\"P90\\",\\"stat\\":\\"p90\\"}],[\\"AWS/ES\\",\\"SearchLatency\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"dummy-os-domain\\",{\\"label\\":\\"P99\\",\\"stat\\":\\"p99\\"}]],\\"yAxis\\":{}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":18,\\"y\\":12,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Node Count\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ES\\",\\"Nodes\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"dummy-os-domain\\",{\\"label\\":\\"Nodes\\",\\"stat\\":\\"Minimum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":5,\\"x\\":0,\\"y\\":17,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"CPU/Memory/Disk Usage\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ES\\",\\"CPUUtilization\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"dummy-os-domain\\",{\\"label\\":\\"CPU Usage\\",\\"stat\\":\\"Maximum\\"}],[\\"AWS/ES\\",\\"JVMMemoryPressure\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"dummy-os-domain\\",{\\"label\\":\\"JVM Memory Pressure\\",\\"stat\\":\\"Maximum\\"}],[{\\"label\\":\\"Disk Usage\\",\\"expression\\":\\"100 * (used/(used+free))\\"}],[\\"AWS/ES\\",\\"ClusterUsedSpace\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"dummy-os-domain\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"used\\"}],[\\"AWS/ES\\",\\"FreeStorageSpace\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"dummy-os-domain\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"free\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"max\\":100,\\"label\\":\\"%\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":5,\\"x\\":8,\\"y\\":17,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Master CPU/Memory Usage\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ES\\",\\"MasterCPUUtilization\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"dummy-os-domain\\",{\\"label\\":\\"Master CPU Usage\\",\\"stat\\":\\"Maximum\\"}],[\\"AWS/ES\\",\\"MasterJVMMemoryPressure\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"dummy-os-domain\\",{\\"label\\":\\"Master JVM Memory Pressure\\",\\"stat\\":\\"Maximum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"max\\":100,\\"label\\":\\"%\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":5,\\"x\\":16,\\"y\\":17,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Index/Snapshot/KMS Errors\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ES\\",\\"ClusterIndexWritesBlocked\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"dummy-os-domain\\",{\\"label\\":\\"Index Writes Blocked\\",\\"stat\\":\\"Maximum\\"}],[\\"AWS/ES\\",\\"AutomatedSnapshotFailure\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"dummy-os-domain\\",{\\"label\\":\\"Automated Snapshot Failures\\",\\"stat\\":\\"Maximum\\"}],[\\"AWS/ES\\",\\"KMSKeyError\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"dummy-os-domain\\",{\\"label\\":\\"KMS Key Error\\",\\"stat\\":\\"Maximum\\"}],[\\"AWS/ES\\",\\"KMSKeyInaccessible\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"dummy-os-domain\\",{\\"label\\":\\"KMS Key Inaccessible\\",\\"stat\\":\\"Maximum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":22,\\"properties\\":{\\"markdown\\":\\"### Elasticsearch Domain **[DummyESDomain](https://", Object { "Ref": "AWS::Region", }, ".console.aws.amazon.com/es/home?region=", Object { "Ref": "AWS::Region", }, "#domain:resource=", Object { "Ref": "DummyESDomainE8B8361E", }, ";action=dashboard;tab=TAB_CLUSTER_HEALTH_ID_V2)**\\"}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":0,\\"y\\":23,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"TPS\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[{\\"label\\":\\"Rate/s\\",\\"expression\\":\\"FILL(requests,0) / PERIOD(requests)\\"}],[\\"AWS/ES\\",\\"SearchRate\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyESDomainE8B8361E", }, "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"requests\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Rate\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":6,\\"y\\":23,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Indexing Latency\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ES\\",\\"IndexingLatency\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyESDomainE8B8361E", }, "\\",{\\"label\\":\\"P50\\",\\"stat\\":\\"p50\\"}],[\\"AWS/ES\\",\\"IndexingLatency\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyESDomainE8B8361E", }, "\\",{\\"label\\":\\"P90\\",\\"stat\\":\\"p90\\"}],[\\"AWS/ES\\",\\"IndexingLatency\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyESDomainE8B8361E", }, "\\",{\\"label\\":\\"P99\\",\\"stat\\":\\"p99\\"}]],\\"yAxis\\":{}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":12,\\"y\\":23,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Search Latency\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ES\\",\\"SearchLatency\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyESDomainE8B8361E", }, "\\",{\\"label\\":\\"P50\\",\\"stat\\":\\"p50\\"}],[\\"AWS/ES\\",\\"SearchLatency\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyESDomainE8B8361E", }, "\\",{\\"label\\":\\"P90\\",\\"stat\\":\\"p90\\"}],[\\"AWS/ES\\",\\"SearchLatency\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyESDomainE8B8361E", }, "\\",{\\"label\\":\\"P99\\",\\"stat\\":\\"p99\\"}]],\\"yAxis\\":{}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":18,\\"y\\":23,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Node Count\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ES\\",\\"Nodes\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyESDomainE8B8361E", }, "\\",{\\"label\\":\\"Nodes\\",\\"stat\\":\\"Minimum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":5,\\"x\\":0,\\"y\\":28,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"CPU/Memory/Disk Usage\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ES\\",\\"CPUUtilization\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyESDomainE8B8361E", }, "\\",{\\"label\\":\\"CPU Usage\\",\\"stat\\":\\"Maximum\\"}],[\\"AWS/ES\\",\\"JVMMemoryPressure\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyESDomainE8B8361E", }, "\\",{\\"label\\":\\"JVM Memory Pressure\\",\\"stat\\":\\"Maximum\\"}],[{\\"label\\":\\"Disk Usage\\",\\"expression\\":\\"100 * (used/(used+free))\\"}],[\\"AWS/ES\\",\\"ClusterUsedSpace\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyESDomainE8B8361E", }, "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"used\\"}],[\\"AWS/ES\\",\\"FreeStorageSpace\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyESDomainE8B8361E", }, "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"free\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"max\\":100,\\"label\\":\\"%\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":5,\\"x\\":8,\\"y\\":28,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Master CPU/Memory Usage\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ES\\",\\"MasterCPUUtilization\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyESDomainE8B8361E", }, "\\",{\\"label\\":\\"Master CPU Usage\\",\\"stat\\":\\"Maximum\\"}],[\\"AWS/ES\\",\\"MasterJVMMemoryPressure\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyESDomainE8B8361E", }, "\\",{\\"label\\":\\"Master JVM Memory Pressure\\",\\"stat\\":\\"Maximum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"max\\":100,\\"label\\":\\"%\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":5,\\"x\\":16,\\"y\\":28,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Index/Snapshot/KMS Errors\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ES\\",\\"ClusterIndexWritesBlocked\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyESDomainE8B8361E", }, "\\",{\\"label\\":\\"Index Writes Blocked\\",\\"stat\\":\\"Maximum\\"}],[\\"AWS/ES\\",\\"AutomatedSnapshotFailure\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyESDomainE8B8361E", }, "\\",{\\"label\\":\\"Automated Snapshot Failures\\",\\"stat\\":\\"Maximum\\"}],[\\"AWS/ES\\",\\"KMSKeyError\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyESDomainE8B8361E", }, "\\",{\\"label\\":\\"KMS Key Error\\",\\"stat\\":\\"Maximum\\"}],[\\"AWS/ES\\",\\"KMSKeyInaccessible\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyESDomainE8B8361E", }, "\\",{\\"label\\":\\"KMS Key Inaccessible\\",\\"stat\\":\\"Maximum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":33,\\"properties\\":{\\"markdown\\":\\"### Elasticsearch Domain **[Resource](https://", Object { "Ref": "AWS::Region", }, ".console.aws.amazon.com/es/home?region=", Object { "Ref": "AWS::Region", }, "#domain:resource=;action=dashboard;tab=TAB_CLUSTER_HEALTH_ID_V2)**\\"}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":0,\\"y\\":34,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"TPS\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[{\\"label\\":\\"Rate/s\\",\\"expression\\":\\"FILL(requests,0) / PERIOD(requests)\\"}],[\\"AWS/ES\\",\\"SearchRate\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"requests\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Rate\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":6,\\"y\\":34,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Indexing Latency\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ES\\",\\"IndexingLatency\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",{\\"label\\":\\"P50\\",\\"stat\\":\\"p50\\"}],[\\"AWS/ES\\",\\"IndexingLatency\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",{\\"label\\":\\"P90\\",\\"stat\\":\\"p90\\"}],[\\"AWS/ES\\",\\"IndexingLatency\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",{\\"label\\":\\"P99\\",\\"stat\\":\\"p99\\"}]],\\"yAxis\\":{}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":12,\\"y\\":34,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Search Latency\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ES\\",\\"SearchLatency\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",{\\"label\\":\\"P50\\",\\"stat\\":\\"p50\\"}],[\\"AWS/ES\\",\\"SearchLatency\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",{\\"label\\":\\"P90\\",\\"stat\\":\\"p90\\"}],[\\"AWS/ES\\",\\"SearchLatency\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",{\\"label\\":\\"P99\\",\\"stat\\":\\"p99\\"}]],\\"yAxis\\":{}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":18,\\"y\\":34,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Node Count\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ES\\",\\"Nodes\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",{\\"label\\":\\"Nodes\\",\\"stat\\":\\"Minimum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":5,\\"x\\":0,\\"y\\":39,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"CPU/Memory/Disk Usage\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ES\\",\\"CPUUtilization\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",{\\"label\\":\\"CPU Usage\\",\\"stat\\":\\"Maximum\\"}],[\\"AWS/ES\\",\\"JVMMemoryPressure\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",{\\"label\\":\\"JVM Memory Pressure\\",\\"stat\\":\\"Maximum\\"}],[{\\"label\\":\\"Disk Usage\\",\\"expression\\":\\"100 * (used/(used+free))\\"}],[\\"AWS/ES\\",\\"ClusterUsedSpace\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"used\\"}],[\\"AWS/ES\\",\\"FreeStorageSpace\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"free\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"max\\":100,\\"label\\":\\"%\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":5,\\"x\\":8,\\"y\\":39,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Master CPU/Memory Usage\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ES\\",\\"MasterCPUUtilization\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",{\\"label\\":\\"Master CPU Usage\\",\\"stat\\":\\"Maximum\\"}],[\\"AWS/ES\\",\\"MasterJVMMemoryPressure\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",{\\"label\\":\\"Master JVM Memory Pressure\\",\\"stat\\":\\"Maximum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"max\\":100,\\"label\\":\\"%\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":5,\\"x\\":16,\\"y\\":39,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Index/Snapshot/KMS Errors\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ES\\",\\"ClusterIndexWritesBlocked\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",{\\"label\\":\\"Index Writes Blocked\\",\\"stat\\":\\"Maximum\\"}],[\\"AWS/ES\\",\\"AutomatedSnapshotFailure\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",{\\"label\\":\\"Automated Snapshot Failures\\",\\"stat\\":\\"Maximum\\"}],[\\"AWS/ES\\",\\"KMSKeyError\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",{\\"label\\":\\"KMS Key Error\\",\\"stat\\":\\"Maximum\\"}],[\\"AWS/ES\\",\\"KMSKeyInaccessible\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",{\\"label\\":\\"KMS Key Inaccessible\\",\\"stat\\":\\"Maximum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactorySummaryDashboard5F4BC8C5": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-P14D\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### Elasticsearch Domain **[DummyOSDomain](https://", Object { "Ref": "AWS::Region", }, ".console.aws.amazon.com/es/home?region=", Object { "Ref": "AWS::Region", }, "#domain:resource=", Object { "Ref": "DummyOSDomain7A35A5DB", }, ";action=dashboard;tab=TAB_CLUSTER_HEALTH_ID_V2)**\\"}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":6,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"TPS\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[{\\"label\\":\\"Rate/s\\",\\"expression\\":\\"FILL(requests,0) / PERIOD(requests)\\"}],[\\"AWS/ES\\",\\"SearchRate\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyOSDomain7A35A5DB", }, "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"requests\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Rate\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":6,\\"x\\":6,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Indexing Latency\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ES\\",\\"IndexingLatency\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyOSDomain7A35A5DB", }, "\\",{\\"label\\":\\"P50\\",\\"stat\\":\\"p50\\"}],[\\"AWS/ES\\",\\"IndexingLatency\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyOSDomain7A35A5DB", }, "\\",{\\"label\\":\\"P90\\",\\"stat\\":\\"p90\\"}],[\\"AWS/ES\\",\\"IndexingLatency\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyOSDomain7A35A5DB", }, "\\",{\\"label\\":\\"P99\\",\\"stat\\":\\"p99\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"ms\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":6,\\"x\\":12,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Search Latency\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ES\\",\\"SearchLatency\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyOSDomain7A35A5DB", }, "\\",{\\"label\\":\\"P50\\",\\"stat\\":\\"p50\\"}],[\\"AWS/ES\\",\\"SearchLatency\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyOSDomain7A35A5DB", }, "\\",{\\"label\\":\\"P90\\",\\"stat\\":\\"p90\\"}],[\\"AWS/ES\\",\\"SearchLatency\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyOSDomain7A35A5DB", }, "\\",{\\"label\\":\\"P99\\",\\"stat\\":\\"p99\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"ms\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":6,\\"x\\":18,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"CPU/Memory/Disk Usage\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ES\\",\\"CPUUtilization\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyOSDomain7A35A5DB", }, "\\",{\\"label\\":\\"CPU Usage\\",\\"stat\\":\\"Maximum\\"}],[\\"AWS/ES\\",\\"MasterCPUUtilization\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyOSDomain7A35A5DB", }, "\\",{\\"label\\":\\"Master CPU Usage\\",\\"stat\\":\\"Maximum\\"}],[\\"AWS/ES\\",\\"JVMMemoryPressure\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyOSDomain7A35A5DB", }, "\\",{\\"label\\":\\"JVM Memory Pressure\\",\\"stat\\":\\"Maximum\\"}],[\\"AWS/ES\\",\\"MasterJVMMemoryPressure\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyOSDomain7A35A5DB", }, "\\",{\\"label\\":\\"Master JVM Memory Pressure\\",\\"stat\\":\\"Maximum\\"}],[{\\"label\\":\\"Disk Usage\\",\\"expression\\":\\"100 * (used/(used+free))\\"}],[\\"AWS/ES\\",\\"ClusterUsedSpace\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyOSDomain7A35A5DB", }, "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"used\\"}],[\\"AWS/ES\\",\\"FreeStorageSpace\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyOSDomain7A35A5DB", }, "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"free\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"max\\":100,\\"label\\":\\"%\\",\\"showUnits\\":false}}}},{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":7,\\"properties\\":{\\"markdown\\":\\"### Elasticsearch Domain **[Resource](https://", Object { "Ref": "AWS::Region", }, ".console.aws.amazon.com/es/home?region=", Object { "Ref": "AWS::Region", }, "#domain:resource=dummy-os-domain;action=dashboard;tab=TAB_CLUSTER_HEALTH_ID_V2)**\\"}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":6,\\"x\\":0,\\"y\\":8,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"TPS\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[{\\"label\\":\\"Rate/s\\",\\"expression\\":\\"FILL(requests,0) / PERIOD(requests)\\"}],[\\"AWS/ES\\",\\"SearchRate\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"dummy-os-domain\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"requests\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Rate\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":6,\\"x\\":6,\\"y\\":8,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Indexing Latency\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ES\\",\\"IndexingLatency\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"dummy-os-domain\\",{\\"label\\":\\"P50\\",\\"stat\\":\\"p50\\"}],[\\"AWS/ES\\",\\"IndexingLatency\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"dummy-os-domain\\",{\\"label\\":\\"P90\\",\\"stat\\":\\"p90\\"}],[\\"AWS/ES\\",\\"IndexingLatency\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"dummy-os-domain\\",{\\"label\\":\\"P99\\",\\"stat\\":\\"p99\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"ms\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":6,\\"x\\":12,\\"y\\":8,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Search Latency\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ES\\",\\"SearchLatency\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"dummy-os-domain\\",{\\"label\\":\\"P50\\",\\"stat\\":\\"p50\\"}],[\\"AWS/ES\\",\\"SearchLatency\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"dummy-os-domain\\",{\\"label\\":\\"P90\\",\\"stat\\":\\"p90\\"}],[\\"AWS/ES\\",\\"SearchLatency\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"dummy-os-domain\\",{\\"label\\":\\"P99\\",\\"stat\\":\\"p99\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"ms\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":6,\\"x\\":18,\\"y\\":8,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"CPU/Memory/Disk Usage\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ES\\",\\"CPUUtilization\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"dummy-os-domain\\",{\\"label\\":\\"CPU Usage\\",\\"stat\\":\\"Maximum\\"}],[\\"AWS/ES\\",\\"MasterCPUUtilization\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"dummy-os-domain\\",{\\"label\\":\\"Master CPU Usage\\",\\"stat\\":\\"Maximum\\"}],[\\"AWS/ES\\",\\"JVMMemoryPressure\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"dummy-os-domain\\",{\\"label\\":\\"JVM Memory Pressure\\",\\"stat\\":\\"Maximum\\"}],[\\"AWS/ES\\",\\"MasterJVMMemoryPressure\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"dummy-os-domain\\",{\\"label\\":\\"Master JVM Memory Pressure\\",\\"stat\\":\\"Maximum\\"}],[{\\"label\\":\\"Disk Usage\\",\\"expression\\":\\"100 * (used/(used+free))\\"}],[\\"AWS/ES\\",\\"ClusterUsedSpace\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"dummy-os-domain\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"used\\"}],[\\"AWS/ES\\",\\"FreeStorageSpace\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"dummy-os-domain\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"free\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"max\\":100,\\"label\\":\\"%\\",\\"showUnits\\":false}}}},{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":14,\\"properties\\":{\\"markdown\\":\\"### Elasticsearch Domain **[DummyESDomain](https://", Object { "Ref": "AWS::Region", }, ".console.aws.amazon.com/es/home?region=", Object { "Ref": "AWS::Region", }, "#domain:resource=", Object { "Ref": "DummyESDomainE8B8361E", }, ";action=dashboard;tab=TAB_CLUSTER_HEALTH_ID_V2)**\\"}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":6,\\"x\\":0,\\"y\\":15,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"TPS\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[{\\"label\\":\\"Rate/s\\",\\"expression\\":\\"FILL(requests,0) / PERIOD(requests)\\"}],[\\"AWS/ES\\",\\"SearchRate\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyESDomainE8B8361E", }, "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"requests\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Rate\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":6,\\"x\\":6,\\"y\\":15,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Indexing Latency\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ES\\",\\"IndexingLatency\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyESDomainE8B8361E", }, "\\",{\\"label\\":\\"P50\\",\\"stat\\":\\"p50\\"}],[\\"AWS/ES\\",\\"IndexingLatency\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyESDomainE8B8361E", }, "\\",{\\"label\\":\\"P90\\",\\"stat\\":\\"p90\\"}],[\\"AWS/ES\\",\\"IndexingLatency\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyESDomainE8B8361E", }, "\\",{\\"label\\":\\"P99\\",\\"stat\\":\\"p99\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"ms\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":6,\\"x\\":12,\\"y\\":15,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Search Latency\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ES\\",\\"SearchLatency\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyESDomainE8B8361E", }, "\\",{\\"label\\":\\"P50\\",\\"stat\\":\\"p50\\"}],[\\"AWS/ES\\",\\"SearchLatency\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyESDomainE8B8361E", }, "\\",{\\"label\\":\\"P90\\",\\"stat\\":\\"p90\\"}],[\\"AWS/ES\\",\\"SearchLatency\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyESDomainE8B8361E", }, "\\",{\\"label\\":\\"P99\\",\\"stat\\":\\"p99\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"ms\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":6,\\"x\\":18,\\"y\\":15,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"CPU/Memory/Disk Usage\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ES\\",\\"CPUUtilization\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyESDomainE8B8361E", }, "\\",{\\"label\\":\\"CPU Usage\\",\\"stat\\":\\"Maximum\\"}],[\\"AWS/ES\\",\\"MasterCPUUtilization\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyESDomainE8B8361E", }, "\\",{\\"label\\":\\"Master CPU Usage\\",\\"stat\\":\\"Maximum\\"}],[\\"AWS/ES\\",\\"JVMMemoryPressure\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyESDomainE8B8361E", }, "\\",{\\"label\\":\\"JVM Memory Pressure\\",\\"stat\\":\\"Maximum\\"}],[\\"AWS/ES\\",\\"MasterJVMMemoryPressure\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyESDomainE8B8361E", }, "\\",{\\"label\\":\\"Master JVM Memory Pressure\\",\\"stat\\":\\"Maximum\\"}],[{\\"label\\":\\"Disk Usage\\",\\"expression\\":\\"100 * (used/(used+free))\\"}],[\\"AWS/ES\\",\\"ClusterUsedSpace\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyESDomainE8B8361E", }, "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"used\\"}],[\\"AWS/ES\\",\\"FreeStorageSpace\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",\\"", Object { "Ref": "DummyESDomainE8B8361E", }, "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"free\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"max\\":100,\\"label\\":\\"%\\",\\"showUnits\\":false}}}},{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":21,\\"properties\\":{\\"markdown\\":\\"### Elasticsearch Domain **[Resource](https://", Object { "Ref": "AWS::Region", }, ".console.aws.amazon.com/es/home?region=", Object { "Ref": "AWS::Region", }, "#domain:resource=;action=dashboard;tab=TAB_CLUSTER_HEALTH_ID_V2)**\\"}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":6,\\"x\\":0,\\"y\\":22,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"TPS\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[{\\"label\\":\\"Rate/s\\",\\"expression\\":\\"FILL(requests,0) / PERIOD(requests)\\"}],[\\"AWS/ES\\",\\"SearchRate\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"requests\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Rate\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":6,\\"x\\":6,\\"y\\":22,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Indexing Latency\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ES\\",\\"IndexingLatency\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",{\\"label\\":\\"P50\\",\\"stat\\":\\"p50\\"}],[\\"AWS/ES\\",\\"IndexingLatency\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",{\\"label\\":\\"P90\\",\\"stat\\":\\"p90\\"}],[\\"AWS/ES\\",\\"IndexingLatency\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",{\\"label\\":\\"P99\\",\\"stat\\":\\"p99\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"ms\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":6,\\"x\\":12,\\"y\\":22,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Search Latency\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ES\\",\\"SearchLatency\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",{\\"label\\":\\"P50\\",\\"stat\\":\\"p50\\"}],[\\"AWS/ES\\",\\"SearchLatency\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",{\\"label\\":\\"P90\\",\\"stat\\":\\"p90\\"}],[\\"AWS/ES\\",\\"SearchLatency\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",{\\"label\\":\\"P99\\",\\"stat\\":\\"p99\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"ms\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":6,\\"x\\":18,\\"y\\":22,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"CPU/Memory/Disk Usage\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ES\\",\\"CPUUtilization\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",{\\"label\\":\\"CPU Usage\\",\\"stat\\":\\"Maximum\\"}],[\\"AWS/ES\\",\\"MasterCPUUtilization\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",{\\"label\\":\\"Master CPU Usage\\",\\"stat\\":\\"Maximum\\"}],[\\"AWS/ES\\",\\"JVMMemoryPressure\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",{\\"label\\":\\"JVM Memory Pressure\\",\\"stat\\":\\"Maximum\\"}],[\\"AWS/ES\\",\\"MasterJVMMemoryPressure\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",{\\"label\\":\\"Master JVM Memory Pressure\\",\\"stat\\":\\"Maximum\\"}],[{\\"label\\":\\"Disk Usage\\",\\"expression\\":\\"100 * (used/(used+free))\\"}],[\\"AWS/ES\\",\\"ClusterUsedSpace\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"used\\"}],[\\"AWS/ES\\",\\"FreeStorageSpace\\",\\"ClientId\\",\\"", Object { "Ref": "AWS::AccountId", }, "\\",\\"DomainName\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"free\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"max\\":100,\\"label\\":\\"%\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard-Summary", }, "Type": "AWS::CloudWatch::Dashboard", }, "DummyESDomainE8B8361E": Object { "DeletionPolicy": "Retain", "Properties": Object { "CognitoOptions": Object { "Enabled": false, }, "DomainEndpointOptions": Object { "EnforceHTTPS": false, "TLSSecurityPolicy": "Policy-Min-TLS-1-0-2019-07", }, "EBSOptions": Object { "EBSEnabled": true, "VolumeSize": 10, "VolumeType": "gp2", }, "ElasticsearchClusterConfig": Object { "DedicatedMasterEnabled": false, "InstanceCount": 1, "InstanceType": "r5.large.elasticsearch", "ZoneAwarenessEnabled": false, }, "ElasticsearchVersion": "7.10", "EncryptionAtRestOptions": Object { "Enabled": false, }, "LogPublishingOptions": Object {}, "NodeToNodeEncryptionOptions": Object { "Enabled": false, }, }, "Type": "AWS::Elasticsearch::Domain", "UpdateReplacePolicy": "Retain", }, "DummyOSDomain7A35A5DB": Object { "DeletionPolicy": "Retain", "Properties": Object { "ClusterConfig": Object { "DedicatedMasterEnabled": false, "InstanceCount": 1, "InstanceType": "r5.large.search", "ZoneAwarenessEnabled": false, }, "DomainEndpointOptions": Object { "EnforceHTTPS": false, "TLSSecurityPolicy": "Policy-Min-TLS-1-0-2019-07", }, "DomainName": "dummy-os-domain", "EBSOptions": Object { "EBSEnabled": true, "VolumeSize": 10, "VolumeType": "gp2", }, "EncryptionAtRestOptions": Object { "Enabled": false, }, "EngineVersion": "Elasticsearch_7.10", "LogPublishingOptions": Object {}, "NodeToNodeEncryptionOptions": Object { "Enabled": false, }, }, "Type": "AWS::OpenSearchService::Domain", "UpdateReplacePolicy": "Retain", }, }, "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.", }, ], }, }, } `; exports[`MonitoringAspect RDS 1`] = ` Object { "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 { "DashboardFactoryAlarmDashboard6286FAD3": Object { "Properties": Object { "DashboardBody": "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[]}", "DashboardName": "DummyDashboard-Alarms", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactoryDashboard3E20AD6E": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### RDS Cluster **[DummyDBCluster](https://", Object { "Ref": "AWS::Region", }, ".console.aws.amazon.com/rds/home?region=", Object { "Ref": "AWS::Region", }, "#database:id=", Object { "Ref": "DummyDBCluster350631DE", }, ";is-cluster=true;tab=monitoring)**\\"}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"CPU/Disk Usage\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/RDS\\",\\"CPUUtilization\\",\\"DBClusterIdentifier\\",\\"", Object { "Ref": "DummyDBCluster350631DE", }, "\\",{\\"label\\":\\"CPU Usage\\"}],[{\\"label\\":\\"Disk Usage\\",\\"expression\\":\\"100 * (used/(used+free))\\"}],[\\"AWS/RDS\\",\\"VolumeBytesUsed\\",\\"DBClusterIdentifier\\",\\"", Object { "Ref": "DummyDBCluster350631DE", }, "\\",{\\"label\\":\\"Used\\",\\"stat\\":\\"Maximum\\",\\"visible\\":false,\\"id\\":\\"used\\"}],[\\"AWS/RDS\\",\\"FreeLocalStorage\\",\\"DBClusterIdentifier\\",\\"", Object { "Ref": "DummyDBCluster350631DE", }, "\\",{\\"label\\":\\"Free\\",\\"stat\\":\\"Minimum\\",\\"visible\\":false,\\"id\\":\\"free\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"max\\":100,\\"label\\":\\"%\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":6,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Connections\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/RDS\\",\\"DatabaseConnections\\",\\"DBClusterIdentifier\\",\\"", Object { "Ref": "DummyDBCluster350631DE", }, "\\",{\\"label\\":\\"Connections\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":5,\\"x\\":12,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Query Duration\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/RDS\\",\\"SelectLatency\\",\\"DBClusterIdentifier\\",\\"", Object { "Ref": "DummyDBCluster350631DE", }, "\\",{\\"label\\":\\"Select\\",\\"stat\\":\\"p90\\"}],[\\"AWS/RDS\\",\\"InsertLatency\\",\\"DBClusterIdentifier\\",\\"", Object { "Ref": "DummyDBCluster350631DE", }, "\\",{\\"label\\":\\"Insert\\",\\"stat\\":\\"p90\\"}],[\\"AWS/RDS\\",\\"UpdateLatency\\",\\"DBClusterIdentifier\\",\\"", Object { "Ref": "DummyDBCluster350631DE", }, "\\",{\\"label\\":\\"Update\\",\\"stat\\":\\"p90\\"}],[\\"AWS/RDS\\",\\"DeleteLatency\\",\\"DBClusterIdentifier\\",\\"", Object { "Ref": "DummyDBCluster350631DE", }, "\\",{\\"label\\":\\"Delete\\",\\"stat\\":\\"p90\\"}],[\\"AWS/RDS\\",\\"CommitLatency\\",\\"DBClusterIdentifier\\",\\"", Object { "Ref": "DummyDBCluster350631DE", }, "\\",{\\"label\\":\\"Commit\\",\\"stat\\":\\"p90\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"ms\\",\\"showUnits\\":false}}}},{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":6,\\"properties\\":{\\"markdown\\":\\"### Secret **Secret**\\"}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":5,\\"x\\":0,\\"y\\":7,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Days since last change\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"SecretsManager\\",\\"DaysSinceLastChange\\",\\"SecretName\\",\\"", Object { "Fn::Join": Array [ "-", Array [ Object { "Fn::Select": Array [ 0, Object { "Fn::Split": Array [ "-", Object { "Fn::Select": Array [ 6, Object { "Fn::Split": Array [ ":", Object { "Ref": "DummyDBClusterSecret2F6224EE", }, ], }, ], }, ], }, ], }, Object { "Fn::Select": Array [ 1, Object { "Fn::Split": Array [ "-", Object { "Fn::Select": Array [ 6, Object { "Fn::Split": Array [ ":", Object { "Ref": "DummyDBClusterSecret2F6224EE", }, ], }, ], }, ], }, ], }, ], ], }, "\\",{\\"label\\":\\"Days\\",\\"stat\\":\\"Maximum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactorySummaryDashboard5F4BC8C5": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-P14D\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### RDS Cluster **[DummyDBCluster](https://", Object { "Ref": "AWS::Region", }, ".console.aws.amazon.com/rds/home?region=", Object { "Ref": "AWS::Region", }, "#database:id=", Object { "Ref": "DummyDBCluster350631DE", }, ";is-cluster=true;tab=monitoring)**\\"}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":6,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"CPU/Disk Usage\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/RDS\\",\\"CPUUtilization\\",\\"DBClusterIdentifier\\",\\"", Object { "Ref": "DummyDBCluster350631DE", }, "\\",{\\"label\\":\\"CPU Usage\\"}],[{\\"label\\":\\"Disk Usage\\",\\"expression\\":\\"100 * (used/(used+free))\\"}],[\\"AWS/RDS\\",\\"VolumeBytesUsed\\",\\"DBClusterIdentifier\\",\\"", Object { "Ref": "DummyDBCluster350631DE", }, "\\",{\\"label\\":\\"Used\\",\\"stat\\":\\"Maximum\\",\\"visible\\":false,\\"id\\":\\"used\\"}],[\\"AWS/RDS\\",\\"FreeLocalStorage\\",\\"DBClusterIdentifier\\",\\"", Object { "Ref": "DummyDBCluster350631DE", }, "\\",{\\"label\\":\\"Free\\",\\"stat\\":\\"Minimum\\",\\"visible\\":false,\\"id\\":\\"free\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"max\\":100,\\"label\\":\\"%\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":6,\\"x\\":8,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Connections\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/RDS\\",\\"DatabaseConnections\\",\\"DBClusterIdentifier\\",\\"", Object { "Ref": "DummyDBCluster350631DE", }, "\\",{\\"label\\":\\"Connections\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":6,\\"x\\":16,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Query Duration\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/RDS\\",\\"SelectLatency\\",\\"DBClusterIdentifier\\",\\"", Object { "Ref": "DummyDBCluster350631DE", }, "\\",{\\"label\\":\\"Select\\",\\"stat\\":\\"p90\\"}],[\\"AWS/RDS\\",\\"InsertLatency\\",\\"DBClusterIdentifier\\",\\"", Object { "Ref": "DummyDBCluster350631DE", }, "\\",{\\"label\\":\\"Insert\\",\\"stat\\":\\"p90\\"}],[\\"AWS/RDS\\",\\"UpdateLatency\\",\\"DBClusterIdentifier\\",\\"", Object { "Ref": "DummyDBCluster350631DE", }, "\\",{\\"label\\":\\"Update\\",\\"stat\\":\\"p90\\"}],[\\"AWS/RDS\\",\\"DeleteLatency\\",\\"DBClusterIdentifier\\",\\"", Object { "Ref": "DummyDBCluster350631DE", }, "\\",{\\"label\\":\\"Delete\\",\\"stat\\":\\"p90\\"}],[\\"AWS/RDS\\",\\"CommitLatency\\",\\"DBClusterIdentifier\\",\\"", Object { "Ref": "DummyDBCluster350631DE", }, "\\",{\\"label\\":\\"Commit\\",\\"stat\\":\\"p90\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"ms\\",\\"showUnits\\":false}}}},{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":7,\\"properties\\":{\\"markdown\\":\\"### Secret **Secret**\\"}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":5,\\"x\\":0,\\"y\\":8,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Days since last change\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"SecretsManager\\",\\"DaysSinceLastChange\\",\\"SecretName\\",\\"", Object { "Fn::Join": Array [ "-", Array [ Object { "Fn::Select": Array [ 0, Object { "Fn::Split": Array [ "-", Object { "Fn::Select": Array [ 6, Object { "Fn::Split": Array [ ":", Object { "Ref": "DummyDBClusterSecret2F6224EE", }, ], }, ], }, ], }, ], }, Object { "Fn::Select": Array [ 1, Object { "Fn::Split": Array [ "-", Object { "Fn::Select": Array [ 6, Object { "Fn::Split": Array [ ":", Object { "Ref": "DummyDBClusterSecret2F6224EE", }, ], }, ], }, ], }, ], }, ], ], }, "\\",{\\"label\\":\\"Days\\",\\"stat\\":\\"Maximum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard-Summary", }, "Type": "AWS::CloudWatch::Dashboard", }, "DummyDBCluster350631DE": Object { "DeletionPolicy": "Snapshot", "Properties": Object { "CopyTagsToSnapshot": true, "DBClusterParameterGroupName": "default.aurora-mysql5.7", "DBSubnetGroupName": Object { "Ref": "DummyDBClusterSubnetsB5328D21", }, "Engine": "aurora-mysql", "MasterUserPassword": Object { "Fn::Join": Array [ "", Array [ "{{resolve:secretsmanager:", Object { "Ref": "DummyDBClusterSecret2F6224EE", }, ":SecretString:password::}}", ], ], }, "MasterUsername": Object { "Fn::Join": Array [ "", Array [ "{{resolve:secretsmanager:", Object { "Ref": "DummyDBClusterSecret2F6224EE", }, ":SecretString:username::}}", ], ], }, "VpcSecurityGroupIds": Array [ Object { "Fn::GetAtt": Array [ "DummyDBClusterSecurityGroup62672EB7", "GroupId", ], }, ], }, "Type": "AWS::RDS::DBCluster", "UpdateReplacePolicy": "Snapshot", }, "DummyDBClusterInstance15B4BDE3B": Object { "DeletionPolicy": "Delete", "DependsOn": Array [ "VpcPrivateSubnet1DefaultRouteBE02A9ED", "VpcPrivateSubnet1RouteTableAssociation70C59FA6", "VpcPrivateSubnet2DefaultRoute060D2087", "VpcPrivateSubnet2RouteTableAssociationA89CAD56", ], "Properties": Object { "DBClusterIdentifier": Object { "Ref": "DummyDBCluster350631DE", }, "DBInstanceClass": "db.t3.medium", "DBSubnetGroupName": Object { "Ref": "DummyDBClusterSubnetsB5328D21", }, "Engine": "aurora-mysql", }, "Type": "AWS::RDS::DBInstance", "UpdateReplacePolicy": "Delete", }, "DummyDBClusterInstance28DAB5968": Object { "DeletionPolicy": "Delete", "DependsOn": Array [ "VpcPrivateSubnet1DefaultRouteBE02A9ED", "VpcPrivateSubnet1RouteTableAssociation70C59FA6", "VpcPrivateSubnet2DefaultRoute060D2087", "VpcPrivateSubnet2RouteTableAssociationA89CAD56", ], "Properties": Object { "DBClusterIdentifier": Object { "Ref": "DummyDBCluster350631DE", }, "DBInstanceClass": "db.t3.medium", "DBSubnetGroupName": Object { "Ref": "DummyDBClusterSubnetsB5328D21", }, "Engine": "aurora-mysql", }, "Type": "AWS::RDS::DBInstance", "UpdateReplacePolicy": "Delete", }, "DummyDBClusterSecret2F6224EE": Object { "DeletionPolicy": "Delete", "Properties": Object { "Description": Object { "Fn::Join": Array [ "", Array [ "Generated by the CDK for stack: ", Object { "Ref": "AWS::StackName", }, ], ], }, "GenerateSecretString": Object { "ExcludeCharacters": " %+~\`#$&*()|[]{}:;<>?!'/@\\"\\\\", "GenerateStringKey": "password", "PasswordLength": 30, "SecretStringTemplate": "{\\"username\\":\\"admin\\"}", }, }, "Type": "AWS::SecretsManager::Secret", "UpdateReplacePolicy": "Delete", }, "DummyDBClusterSecretAttachment261208D0": Object { "Properties": Object { "SecretId": Object { "Ref": "DummyDBClusterSecret2F6224EE", }, "TargetId": Object { "Ref": "DummyDBCluster350631DE", }, "TargetType": "AWS::RDS::DBCluster", }, "Type": "AWS::SecretsManager::SecretTargetAttachment", }, "DummyDBClusterSecurityGroup62672EB7": Object { "Properties": Object { "GroupDescription": "RDS security group", "SecurityGroupEgress": Array [ Object { "CidrIp": "0.0.0.0/0", "Description": "Allow all outbound traffic by default", "IpProtocol": "-1", }, ], "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::SecurityGroup", }, "DummyDBClusterSubnetsB5328D21": Object { "Properties": Object { "DBSubnetGroupDescription": "Subnets for DummyDBCluster database", "SubnetIds": Array [ Object { "Ref": "VpcPrivateSubnet1Subnet536B997A", }, Object { "Ref": "VpcPrivateSubnet2Subnet3788AAA1", }, ], }, "Type": "AWS::RDS::DBSubnetGroup", }, "Vpc8378EB38": Object { "Properties": Object { "CidrBlock": "10.0.0.0/16", "EnableDnsHostnames": true, "EnableDnsSupport": true, "InstanceTenancy": "default", "Tags": Array [ Object { "Key": "Name", "Value": "Default/Vpc", }, ], }, "Type": "AWS::EC2::VPC", }, "VpcIGWD7BA715C": Object { "Properties": Object { "Tags": Array [ Object { "Key": "Name", "Value": "Default/Vpc", }, ], }, "Type": "AWS::EC2::InternetGateway", }, "VpcPrivateSubnet1DefaultRouteBE02A9ED": Object { "Properties": Object { "DestinationCidrBlock": "0.0.0.0/0", "NatGatewayId": Object { "Ref": "VpcPublicSubnet1NATGateway4D7517AA", }, "RouteTableId": Object { "Ref": "VpcPrivateSubnet1RouteTableB2C5B500", }, }, "Type": "AWS::EC2::Route", }, "VpcPrivateSubnet1RouteTableAssociation70C59FA6": Object { "Properties": Object { "RouteTableId": Object { "Ref": "VpcPrivateSubnet1RouteTableB2C5B500", }, "SubnetId": Object { "Ref": "VpcPrivateSubnet1Subnet536B997A", }, }, "Type": "AWS::EC2::SubnetRouteTableAssociation", }, "VpcPrivateSubnet1RouteTableB2C5B500": Object { "Properties": Object { "Tags": Array [ Object { "Key": "Name", "Value": "Default/Vpc/PrivateSubnet1", }, ], "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::RouteTable", }, "VpcPrivateSubnet1Subnet536B997A": Object { "Properties": Object { "AvailabilityZone": Object { "Fn::Select": Array [ 0, Object { "Fn::GetAZs": "", }, ], }, "CidrBlock": "10.0.128.0/18", "MapPublicIpOnLaunch": false, "Tags": Array [ Object { "Key": "aws-cdk:subnet-name", "Value": "Private", }, Object { "Key": "aws-cdk:subnet-type", "Value": "Private", }, Object { "Key": "Name", "Value": "Default/Vpc/PrivateSubnet1", }, ], "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::Subnet", }, "VpcPrivateSubnet2DefaultRoute060D2087": Object { "Properties": Object { "DestinationCidrBlock": "0.0.0.0/0", "NatGatewayId": Object { "Ref": "VpcPublicSubnet2NATGateway9182C01D", }, "RouteTableId": Object { "Ref": "VpcPrivateSubnet2RouteTableA678073B", }, }, "Type": "AWS::EC2::Route", }, "VpcPrivateSubnet2RouteTableA678073B": Object { "Properties": Object { "Tags": Array [ Object { "Key": "Name", "Value": "Default/Vpc/PrivateSubnet2", }, ], "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::RouteTable", }, "VpcPrivateSubnet2RouteTableAssociationA89CAD56": Object { "Properties": Object { "RouteTableId": Object { "Ref": "VpcPrivateSubnet2RouteTableA678073B", }, "SubnetId": Object { "Ref": "VpcPrivateSubnet2Subnet3788AAA1", }, }, "Type": "AWS::EC2::SubnetRouteTableAssociation", }, "VpcPrivateSubnet2Subnet3788AAA1": Object { "Properties": Object { "AvailabilityZone": Object { "Fn::Select": Array [ 1, Object { "Fn::GetAZs": "", }, ], }, "CidrBlock": "10.0.192.0/18", "MapPublicIpOnLaunch": false, "Tags": Array [ Object { "Key": "aws-cdk:subnet-name", "Value": "Private", }, Object { "Key": "aws-cdk:subnet-type", "Value": "Private", }, Object { "Key": "Name", "Value": "Default/Vpc/PrivateSubnet2", }, ], "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::Subnet", }, "VpcPublicSubnet1DefaultRoute3DA9E72A": Object { "DependsOn": Array [ "VpcVPCGWBF912B6E", ], "Properties": Object { "DestinationCidrBlock": "0.0.0.0/0", "GatewayId": Object { "Ref": "VpcIGWD7BA715C", }, "RouteTableId": Object { "Ref": "VpcPublicSubnet1RouteTable6C95E38E", }, }, "Type": "AWS::EC2::Route", }, "VpcPublicSubnet1EIPD7E02669": Object { "Properties": Object { "Domain": "vpc", "Tags": Array [ Object { "Key": "Name", "Value": "Default/Vpc/PublicSubnet1", }, ], }, "Type": "AWS::EC2::EIP", }, "VpcPublicSubnet1NATGateway4D7517AA": Object { "DependsOn": Array [ "VpcPublicSubnet1DefaultRoute3DA9E72A", "VpcPublicSubnet1RouteTableAssociation97140677", ], "Properties": Object { "AllocationId": Object { "Fn::GetAtt": Array [ "VpcPublicSubnet1EIPD7E02669", "AllocationId", ], }, "SubnetId": Object { "Ref": "VpcPublicSubnet1Subnet5C2D37C4", }, "Tags": Array [ Object { "Key": "Name", "Value": "Default/Vpc/PublicSubnet1", }, ], }, "Type": "AWS::EC2::NatGateway", }, "VpcPublicSubnet1RouteTable6C95E38E": Object { "Properties": Object { "Tags": Array [ Object { "Key": "Name", "Value": "Default/Vpc/PublicSubnet1", }, ], "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::RouteTable", }, "VpcPublicSubnet1RouteTableAssociation97140677": Object { "Properties": Object { "RouteTableId": Object { "Ref": "VpcPublicSubnet1RouteTable6C95E38E", }, "SubnetId": Object { "Ref": "VpcPublicSubnet1Subnet5C2D37C4", }, }, "Type": "AWS::EC2::SubnetRouteTableAssociation", }, "VpcPublicSubnet1Subnet5C2D37C4": Object { "Properties": Object { "AvailabilityZone": Object { "Fn::Select": Array [ 0, Object { "Fn::GetAZs": "", }, ], }, "CidrBlock": "10.0.0.0/18", "MapPublicIpOnLaunch": true, "Tags": Array [ Object { "Key": "aws-cdk:subnet-name", "Value": "Public", }, Object { "Key": "aws-cdk:subnet-type", "Value": "Public", }, Object { "Key": "Name", "Value": "Default/Vpc/PublicSubnet1", }, ], "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::Subnet", }, "VpcPublicSubnet2DefaultRoute97F91067": Object { "DependsOn": Array [ "VpcVPCGWBF912B6E", ], "Properties": Object { "DestinationCidrBlock": "0.0.0.0/0", "GatewayId": Object { "Ref": "VpcIGWD7BA715C", }, "RouteTableId": Object { "Ref": "VpcPublicSubnet2RouteTable94F7E489", }, }, "Type": "AWS::EC2::Route", }, "VpcPublicSubnet2EIP3C605A87": Object { "Properties": Object { "Domain": "vpc", "Tags": Array [ Object { "Key": "Name", "Value": "Default/Vpc/PublicSubnet2", }, ], }, "Type": "AWS::EC2::EIP", }, "VpcPublicSubnet2NATGateway9182C01D": Object { "DependsOn": Array [ "VpcPublicSubnet2DefaultRoute97F91067", "VpcPublicSubnet2RouteTableAssociationDD5762D8", ], "Properties": Object { "AllocationId": Object { "Fn::GetAtt": Array [ "VpcPublicSubnet2EIP3C605A87", "AllocationId", ], }, "SubnetId": Object { "Ref": "VpcPublicSubnet2Subnet691E08A3", }, "Tags": Array [ Object { "Key": "Name", "Value": "Default/Vpc/PublicSubnet2", }, ], }, "Type": "AWS::EC2::NatGateway", }, "VpcPublicSubnet2RouteTable94F7E489": Object { "Properties": Object { "Tags": Array [ Object { "Key": "Name", "Value": "Default/Vpc/PublicSubnet2", }, ], "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::RouteTable", }, "VpcPublicSubnet2RouteTableAssociationDD5762D8": Object { "Properties": Object { "RouteTableId": Object { "Ref": "VpcPublicSubnet2RouteTable94F7E489", }, "SubnetId": Object { "Ref": "VpcPublicSubnet2Subnet691E08A3", }, }, "Type": "AWS::EC2::SubnetRouteTableAssociation", }, "VpcPublicSubnet2Subnet691E08A3": Object { "Properties": Object { "AvailabilityZone": Object { "Fn::Select": Array [ 1, Object { "Fn::GetAZs": "", }, ], }, "CidrBlock": "10.0.64.0/18", "MapPublicIpOnLaunch": true, "Tags": Array [ Object { "Key": "aws-cdk:subnet-name", "Value": "Public", }, Object { "Key": "aws-cdk:subnet-type", "Value": "Public", }, Object { "Key": "Name", "Value": "Default/Vpc/PublicSubnet2", }, ], "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::Subnet", }, "VpcVPCGWBF912B6E": Object { "Properties": Object { "InternetGatewayId": Object { "Ref": "VpcIGWD7BA715C", }, "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::VPCGatewayAttachment", }, }, "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.", }, ], }, }, } `; exports[`MonitoringAspect RedShift 1`] = ` Object { "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 { "DashboardFactoryAlarmDashboard6286FAD3": Object { "Properties": Object { "DashboardBody": "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[]}", "DashboardName": "DummyDashboard-Alarms", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactoryDashboard3E20AD6E": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### Redshift Cluster **[Default/DummyCluster](https://", Object { "Ref": "AWS::Region", }, ".console.aws.amazon.com/redshiftv2/home?region=", Object { "Ref": "AWS::Region", }, "#cluster-details?cluster=", Object { "Ref": "DummyClusterBF18C710", }, ")**\\"}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"CPU/Disk Usage\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/Redshift\\",\\"CPUUtilization\\",\\"ClusterIdentifier\\",\\"", Object { "Ref": "DummyClusterBF18C710", }, "\\",{\\"label\\":\\"CPU Usage\\"}],[\\"AWS/Redshift\\",\\"PercentageDiskSpaceUsed\\",\\"ClusterIdentifier\\",\\"", Object { "Ref": "DummyClusterBF18C710", }, "\\",{\\"label\\":\\"Disk Usage\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"max\\":100,\\"label\\":\\"%\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":6,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Connections\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/Redshift\\",\\"DatabaseConnections\\",\\"ClusterIdentifier\\",\\"", Object { "Ref": "DummyClusterBF18C710", }, "\\",{\\"label\\":\\"Connections\\",\\"stat\\":\\"Sum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":12,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Query Duration\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[{\\"label\\":\\"Short P90\\",\\"expression\\":\\"sQueryLatency90 / 1000\\"}],[\\"AWS/Redshift\\",\\"QueryDuration\\",\\"ClusterIdentifier\\",\\"", Object { "Ref": "DummyClusterBF18C710", }, "\\",\\"latency\\",\\"short\\",{\\"label\\":\\"short\\",\\"stat\\":\\"p90\\",\\"visible\\":false,\\"id\\":\\"sQueryLatency90\\"}],[{\\"label\\":\\"Medium P90\\",\\"expression\\":\\"mQueryLatency90 / 1000\\"}],[\\"AWS/Redshift\\",\\"QueryDuration\\",\\"ClusterIdentifier\\",\\"", Object { "Ref": "DummyClusterBF18C710", }, "\\",\\"latency\\",\\"medium\\",{\\"label\\":\\"medium\\",\\"stat\\":\\"p90\\",\\"visible\\":false,\\"id\\":\\"mQueryLatency90\\"}],[{\\"label\\":\\"Long P90\\",\\"expression\\":\\"lQueryLatency90 / 1000\\"}],[\\"AWS/Redshift\\",\\"QueryDuration\\",\\"ClusterIdentifier\\",\\"", Object { "Ref": "DummyClusterBF18C710", }, "\\",\\"latency\\",\\"long\\",{\\"label\\":\\"long\\",\\"stat\\":\\"p90\\",\\"visible\\":false,\\"id\\":\\"lQueryLatency90\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"ms\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":3,\\"height\\":5,\\"x\\":18,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Latency\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[{\\"label\\":\\"Read P90\\",\\"expression\\":\\"readLatency * 1000\\"}],[\\"AWS/Redshift\\",\\"ReadLatency\\",\\"ClusterIdentifier\\",\\"", Object { "Ref": "DummyClusterBF18C710", }, "\\",{\\"label\\":\\"Read P90\\",\\"stat\\":\\"p90\\",\\"visible\\":false,\\"id\\":\\"readLatency\\"}],[{\\"label\\":\\"Write P90\\",\\"expression\\":\\"writeLatency * 1000\\"}],[\\"AWS/Redshift\\",\\"WriteLatency\\",\\"ClusterIdentifier\\",\\"", Object { "Ref": "DummyClusterBF18C710", }, "\\",{\\"label\\":\\"Write P90\\",\\"stat\\":\\"p90\\",\\"visible\\":false,\\"id\\":\\"writeLatency\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"ms\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":3,\\"height\\":5,\\"x\\":21,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Maintenance\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/Redshift\\",\\"MaintenanceMode\\",\\"ClusterIdentifier\\",\\"", Object { "Ref": "DummyClusterBF18C710", }, "\\",{\\"label\\":\\"Maintenance\\",\\"stat\\":\\"Maximum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"max\\":1,\\"label\\":\\"1 = True\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactorySummaryDashboard5F4BC8C5": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-P14D\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### Redshift Cluster **[Default/DummyCluster](https://", Object { "Ref": "AWS::Region", }, ".console.aws.amazon.com/redshiftv2/home?region=", Object { "Ref": "AWS::Region", }, "#cluster-details?cluster=", Object { "Ref": "DummyClusterBF18C710", }, ")**\\"}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":6,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"CPU/Disk Usage\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/Redshift\\",\\"CPUUtilization\\",\\"ClusterIdentifier\\",\\"", Object { "Ref": "DummyClusterBF18C710", }, "\\",{\\"label\\":\\"CPU Usage\\"}],[\\"AWS/Redshift\\",\\"PercentageDiskSpaceUsed\\",\\"ClusterIdentifier\\",\\"", Object { "Ref": "DummyClusterBF18C710", }, "\\",{\\"label\\":\\"Disk Usage\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"max\\":100,\\"label\\":\\"%\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":6,\\"x\\":8,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Connections\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/Redshift\\",\\"DatabaseConnections\\",\\"ClusterIdentifier\\",\\"", Object { "Ref": "DummyClusterBF18C710", }, "\\",{\\"label\\":\\"Connections\\",\\"stat\\":\\"Sum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":6,\\"x\\":16,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Query Duration\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[{\\"label\\":\\"Short P90\\",\\"expression\\":\\"sQueryLatency90 / 1000\\"}],[\\"AWS/Redshift\\",\\"QueryDuration\\",\\"ClusterIdentifier\\",\\"", Object { "Ref": "DummyClusterBF18C710", }, "\\",\\"latency\\",\\"short\\",{\\"label\\":\\"short\\",\\"stat\\":\\"p90\\",\\"visible\\":false,\\"id\\":\\"sQueryLatency90\\"}],[{\\"label\\":\\"Medium P90\\",\\"expression\\":\\"mQueryLatency90 / 1000\\"}],[\\"AWS/Redshift\\",\\"QueryDuration\\",\\"ClusterIdentifier\\",\\"", Object { "Ref": "DummyClusterBF18C710", }, "\\",\\"latency\\",\\"medium\\",{\\"label\\":\\"medium\\",\\"stat\\":\\"p90\\",\\"visible\\":false,\\"id\\":\\"mQueryLatency90\\"}],[{\\"label\\":\\"Long P90\\",\\"expression\\":\\"lQueryLatency90 / 1000\\"}],[\\"AWS/Redshift\\",\\"QueryDuration\\",\\"ClusterIdentifier\\",\\"", Object { "Ref": "DummyClusterBF18C710", }, "\\",\\"latency\\",\\"long\\",{\\"label\\":\\"long\\",\\"stat\\":\\"p90\\",\\"visible\\":false,\\"id\\":\\"lQueryLatency90\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"ms\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard-Summary", }, "Type": "AWS::CloudWatch::Dashboard", }, "DummyClusterBF18C710": Object { "DeletionPolicy": "Retain", "Properties": Object { "AllowVersionUpgrade": true, "AutomatedSnapshotRetentionPeriod": 1, "ClusterSubnetGroupName": Object { "Ref": "DummyClusterSubnets9E6FBDF8", }, "ClusterType": "multi-node", "DBName": "default_db", "Encrypted": true, "MasterUserPassword": "password", "MasterUsername": "admin", "NodeType": "dc2.large", "NumberOfNodes": 2, "PubliclyAccessible": false, "VpcSecurityGroupIds": Array [ Object { "Fn::GetAtt": Array [ "DummyClusterSecurityGroupD2F71D64", "GroupId", ], }, ], }, "Type": "AWS::Redshift::Cluster", "UpdateReplacePolicy": "Retain", }, "DummyClusterSecurityGroupD2F71D64": Object { "Properties": Object { "GroupDescription": "Redshift security group", "SecurityGroupEgress": Array [ Object { "CidrIp": "0.0.0.0/0", "Description": "Allow all outbound traffic by default", "IpProtocol": "-1", }, ], "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::SecurityGroup", }, "DummyClusterSubnets9E6FBDF8": Object { "DeletionPolicy": "Retain", "Properties": Object { "Description": "Subnets for DummyCluster Redshift cluster", "SubnetIds": Array [ Object { "Ref": "VpcPrivateSubnet1Subnet536B997A", }, Object { "Ref": "VpcPrivateSubnet2Subnet3788AAA1", }, ], }, "Type": "AWS::Redshift::ClusterSubnetGroup", "UpdateReplacePolicy": "Retain", }, "Vpc8378EB38": Object { "Properties": Object { "CidrBlock": "10.0.0.0/16", "EnableDnsHostnames": true, "EnableDnsSupport": true, "InstanceTenancy": "default", "Tags": Array [ Object { "Key": "Name", "Value": "Default/Vpc", }, ], }, "Type": "AWS::EC2::VPC", }, "VpcIGWD7BA715C": Object { "Properties": Object { "Tags": Array [ Object { "Key": "Name", "Value": "Default/Vpc", }, ], }, "Type": "AWS::EC2::InternetGateway", }, "VpcPrivateSubnet1DefaultRouteBE02A9ED": Object { "Properties": Object { "DestinationCidrBlock": "0.0.0.0/0", "NatGatewayId": Object { "Ref": "VpcPublicSubnet1NATGateway4D7517AA", }, "RouteTableId": Object { "Ref": "VpcPrivateSubnet1RouteTableB2C5B500", }, }, "Type": "AWS::EC2::Route", }, "VpcPrivateSubnet1RouteTableAssociation70C59FA6": Object { "Properties": Object { "RouteTableId": Object { "Ref": "VpcPrivateSubnet1RouteTableB2C5B500", }, "SubnetId": Object { "Ref": "VpcPrivateSubnet1Subnet536B997A", }, }, "Type": "AWS::EC2::SubnetRouteTableAssociation", }, "VpcPrivateSubnet1RouteTableB2C5B500": Object { "Properties": Object { "Tags": Array [ Object { "Key": "Name", "Value": "Default/Vpc/PrivateSubnet1", }, ], "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::RouteTable", }, "VpcPrivateSubnet1Subnet536B997A": Object { "Properties": Object { "AvailabilityZone": Object { "Fn::Select": Array [ 0, Object { "Fn::GetAZs": "", }, ], }, "CidrBlock": "10.0.128.0/18", "MapPublicIpOnLaunch": false, "Tags": Array [ Object { "Key": "aws-cdk:subnet-name", "Value": "Private", }, Object { "Key": "aws-cdk:subnet-type", "Value": "Private", }, Object { "Key": "Name", "Value": "Default/Vpc/PrivateSubnet1", }, ], "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::Subnet", }, "VpcPrivateSubnet2DefaultRoute060D2087": Object { "Properties": Object { "DestinationCidrBlock": "0.0.0.0/0", "NatGatewayId": Object { "Ref": "VpcPublicSubnet2NATGateway9182C01D", }, "RouteTableId": Object { "Ref": "VpcPrivateSubnet2RouteTableA678073B", }, }, "Type": "AWS::EC2::Route", }, "VpcPrivateSubnet2RouteTableA678073B": Object { "Properties": Object { "Tags": Array [ Object { "Key": "Name", "Value": "Default/Vpc/PrivateSubnet2", }, ], "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::RouteTable", }, "VpcPrivateSubnet2RouteTableAssociationA89CAD56": Object { "Properties": Object { "RouteTableId": Object { "Ref": "VpcPrivateSubnet2RouteTableA678073B", }, "SubnetId": Object { "Ref": "VpcPrivateSubnet2Subnet3788AAA1", }, }, "Type": "AWS::EC2::SubnetRouteTableAssociation", }, "VpcPrivateSubnet2Subnet3788AAA1": Object { "Properties": Object { "AvailabilityZone": Object { "Fn::Select": Array [ 1, Object { "Fn::GetAZs": "", }, ], }, "CidrBlock": "10.0.192.0/18", "MapPublicIpOnLaunch": false, "Tags": Array [ Object { "Key": "aws-cdk:subnet-name", "Value": "Private", }, Object { "Key": "aws-cdk:subnet-type", "Value": "Private", }, Object { "Key": "Name", "Value": "Default/Vpc/PrivateSubnet2", }, ], "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::Subnet", }, "VpcPublicSubnet1DefaultRoute3DA9E72A": Object { "DependsOn": Array [ "VpcVPCGWBF912B6E", ], "Properties": Object { "DestinationCidrBlock": "0.0.0.0/0", "GatewayId": Object { "Ref": "VpcIGWD7BA715C", }, "RouteTableId": Object { "Ref": "VpcPublicSubnet1RouteTable6C95E38E", }, }, "Type": "AWS::EC2::Route", }, "VpcPublicSubnet1EIPD7E02669": Object { "Properties": Object { "Domain": "vpc", "Tags": Array [ Object { "Key": "Name", "Value": "Default/Vpc/PublicSubnet1", }, ], }, "Type": "AWS::EC2::EIP", }, "VpcPublicSubnet1NATGateway4D7517AA": Object { "DependsOn": Array [ "VpcPublicSubnet1DefaultRoute3DA9E72A", "VpcPublicSubnet1RouteTableAssociation97140677", ], "Properties": Object { "AllocationId": Object { "Fn::GetAtt": Array [ "VpcPublicSubnet1EIPD7E02669", "AllocationId", ], }, "SubnetId": Object { "Ref": "VpcPublicSubnet1Subnet5C2D37C4", }, "Tags": Array [ Object { "Key": "Name", "Value": "Default/Vpc/PublicSubnet1", }, ], }, "Type": "AWS::EC2::NatGateway", }, "VpcPublicSubnet1RouteTable6C95E38E": Object { "Properties": Object { "Tags": Array [ Object { "Key": "Name", "Value": "Default/Vpc/PublicSubnet1", }, ], "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::RouteTable", }, "VpcPublicSubnet1RouteTableAssociation97140677": Object { "Properties": Object { "RouteTableId": Object { "Ref": "VpcPublicSubnet1RouteTable6C95E38E", }, "SubnetId": Object { "Ref": "VpcPublicSubnet1Subnet5C2D37C4", }, }, "Type": "AWS::EC2::SubnetRouteTableAssociation", }, "VpcPublicSubnet1Subnet5C2D37C4": Object { "Properties": Object { "AvailabilityZone": Object { "Fn::Select": Array [ 0, Object { "Fn::GetAZs": "", }, ], }, "CidrBlock": "10.0.0.0/18", "MapPublicIpOnLaunch": true, "Tags": Array [ Object { "Key": "aws-cdk:subnet-name", "Value": "Public", }, Object { "Key": "aws-cdk:subnet-type", "Value": "Public", }, Object { "Key": "Name", "Value": "Default/Vpc/PublicSubnet1", }, ], "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::Subnet", }, "VpcPublicSubnet2DefaultRoute97F91067": Object { "DependsOn": Array [ "VpcVPCGWBF912B6E", ], "Properties": Object { "DestinationCidrBlock": "0.0.0.0/0", "GatewayId": Object { "Ref": "VpcIGWD7BA715C", }, "RouteTableId": Object { "Ref": "VpcPublicSubnet2RouteTable94F7E489", }, }, "Type": "AWS::EC2::Route", }, "VpcPublicSubnet2EIP3C605A87": Object { "Properties": Object { "Domain": "vpc", "Tags": Array [ Object { "Key": "Name", "Value": "Default/Vpc/PublicSubnet2", }, ], }, "Type": "AWS::EC2::EIP", }, "VpcPublicSubnet2NATGateway9182C01D": Object { "DependsOn": Array [ "VpcPublicSubnet2DefaultRoute97F91067", "VpcPublicSubnet2RouteTableAssociationDD5762D8", ], "Properties": Object { "AllocationId": Object { "Fn::GetAtt": Array [ "VpcPublicSubnet2EIP3C605A87", "AllocationId", ], }, "SubnetId": Object { "Ref": "VpcPublicSubnet2Subnet691E08A3", }, "Tags": Array [ Object { "Key": "Name", "Value": "Default/Vpc/PublicSubnet2", }, ], }, "Type": "AWS::EC2::NatGateway", }, "VpcPublicSubnet2RouteTable94F7E489": Object { "Properties": Object { "Tags": Array [ Object { "Key": "Name", "Value": "Default/Vpc/PublicSubnet2", }, ], "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::RouteTable", }, "VpcPublicSubnet2RouteTableAssociationDD5762D8": Object { "Properties": Object { "RouteTableId": Object { "Ref": "VpcPublicSubnet2RouteTable94F7E489", }, "SubnetId": Object { "Ref": "VpcPublicSubnet2Subnet691E08A3", }, }, "Type": "AWS::EC2::SubnetRouteTableAssociation", }, "VpcPublicSubnet2Subnet691E08A3": Object { "Properties": Object { "AvailabilityZone": Object { "Fn::Select": Array [ 1, Object { "Fn::GetAZs": "", }, ], }, "CidrBlock": "10.0.64.0/18", "MapPublicIpOnLaunch": true, "Tags": Array [ Object { "Key": "aws-cdk:subnet-name", "Value": "Public", }, Object { "Key": "aws-cdk:subnet-type", "Value": "Public", }, Object { "Key": "Name", "Value": "Default/Vpc/PublicSubnet2", }, ], "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::Subnet", }, "VpcVPCGWBF912B6E": Object { "Properties": Object { "InternetGatewayId": Object { "Ref": "VpcIGWD7BA715C", }, "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::VPCGatewayAttachment", }, }, "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.", }, ], }, }, } `; exports[`MonitoringAspect S3 1`] = ` Object { "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 { "DashboardFactoryAlarmDashboard6286FAD3": Object { "Properties": Object { "DashboardBody": "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[]}", "DashboardName": "DummyDashboard-Alarms", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactoryDashboard3E20AD6E": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### S3 Bucket **[DummyBucket](https://s3.console.aws.amazon.com/s3/buckets/", Object { "Ref": "DummyBucket7EFB6D9F", }, "?region=", Object { "Ref": "AWS::Region", }, "&tab=metrics)**\\"}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":5,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Bucket Size\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/S3\\",\\"BucketSizeBytes\\",\\"BucketName\\",\\"", Object { "Ref": "DummyBucket7EFB6D9F", }, "\\",\\"StorageType\\",\\"StandardStorage\\",{\\"label\\":\\"BucketSizeBytes\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"bytes\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":5,\\"x\\":12,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Object Count\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/S3\\",\\"NumberOfObjects\\",\\"BucketName\\",\\"", Object { "Ref": "DummyBucket7EFB6D9F", }, "\\",\\"StorageType\\",\\"AllStorageTypes\\",{\\"label\\":\\"NumberOfObjects\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactorySummaryDashboard5F4BC8C5": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-P14D\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### S3 Bucket **[DummyBucket](https://s3.console.aws.amazon.com/s3/buckets/", Object { "Ref": "DummyBucket7EFB6D9F", }, "?region=", Object { "Ref": "AWS::Region", }, "&tab=metrics)**\\"}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":6,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Bucket Size\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/S3\\",\\"BucketSizeBytes\\",\\"BucketName\\",\\"", Object { "Ref": "DummyBucket7EFB6D9F", }, "\\",\\"StorageType\\",\\"StandardStorage\\",{\\"label\\":\\"BucketSizeBytes\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"bytes\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":6,\\"x\\":12,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Object Count\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/S3\\",\\"NumberOfObjects\\",\\"BucketName\\",\\"", Object { "Ref": "DummyBucket7EFB6D9F", }, "\\",\\"StorageType\\",\\"AllStorageTypes\\",{\\"label\\":\\"NumberOfObjects\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard-Summary", }, "Type": "AWS::CloudWatch::Dashboard", }, "DummyBucket7EFB6D9F": Object { "DeletionPolicy": "Retain", "Type": "AWS::S3::Bucket", "UpdateReplacePolicy": "Retain", }, }, "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.", }, ], }, }, } `; exports[`MonitoringAspect SNS 1`] = ` Object { "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 { "DashboardFactoryAlarmDashboard6286FAD3": Object { "Properties": Object { "DashboardBody": "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[]}", "DashboardName": "DummyDashboard-Alarms", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactoryDashboard3E20AD6E": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### SNS Topic **[DummyTopic](https://", Object { "Ref": "AWS::Region", }, ".console.aws.amazon.com/sns/v3/home?region=", Object { "Ref": "AWS::Region", }, "#/topic/", Object { "Ref": "DummyTopic75B5E033", }, ")**\\"}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":5,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Message Count\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/SNS\\",\\"NumberOfMessagesPublished\\",\\"TopicName\\",\\"", Object { "Fn::GetAtt": Array [ "DummyTopic75B5E033", "TopicName", ], }, "\\",{\\"label\\":\\"Incoming\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/SNS\\",\\"NumberOfNotificationsDelivered\\",\\"TopicName\\",\\"", Object { "Fn::GetAtt": Array [ "DummyTopic75B5E033", "TopicName", ], }, "\\",{\\"label\\":\\"Outgoing\\",\\"stat\\":\\"Sum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":5,\\"x\\":8,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Message Size\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/SNS\\",\\"PublishSize\\",\\"TopicName\\",\\"", Object { "Fn::GetAtt": Array [ "DummyTopic75B5E033", "TopicName", ], }, "\\",{\\"label\\":\\"Size\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"bytes\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":5,\\"x\\":16,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Message Delivery Failed\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/SNS\\",\\"NumberOfNotificationsFailed\\",\\"TopicName\\",\\"", Object { "Fn::GetAtt": Array [ "DummyTopic75B5E033", "TopicName", ], }, "\\",{\\"label\\":\\"Failed\\",\\"stat\\":\\"Sum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactorySummaryDashboard5F4BC8C5": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-P14D\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### SNS Topic **[DummyTopic](https://", Object { "Ref": "AWS::Region", }, ".console.aws.amazon.com/sns/v3/home?region=", Object { "Ref": "AWS::Region", }, "#/topic/", Object { "Ref": "DummyTopic75B5E033", }, ")**\\"}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":6,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Message Count\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/SNS\\",\\"NumberOfMessagesPublished\\",\\"TopicName\\",\\"", Object { "Fn::GetAtt": Array [ "DummyTopic75B5E033", "TopicName", ], }, "\\",{\\"label\\":\\"Incoming\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/SNS\\",\\"NumberOfNotificationsDelivered\\",\\"TopicName\\",\\"", Object { "Fn::GetAtt": Array [ "DummyTopic75B5E033", "TopicName", ], }, "\\",{\\"label\\":\\"Outgoing\\",\\"stat\\":\\"Sum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":6,\\"x\\":12,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Message Delivery Failed\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/SNS\\",\\"NumberOfNotificationsFailed\\",\\"TopicName\\",\\"", Object { "Fn::GetAtt": Array [ "DummyTopic75B5E033", "TopicName", ], }, "\\",{\\"label\\":\\"Failed\\",\\"stat\\":\\"Sum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard-Summary", }, "Type": "AWS::CloudWatch::Dashboard", }, "DummyTopic75B5E033": Object { "Type": "AWS::SNS::Topic", }, }, "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.", }, ], }, }, } `; exports[`MonitoringAspect SQS 1`] = ` Object { "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 { "DashboardFactoryAlarmDashboard6286FAD3": Object { "Properties": Object { "DashboardBody": "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[]}", "DashboardName": "DummyDashboard-Alarms", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactoryDashboard3E20AD6E": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### SQS Queue **[DummyQueue](https://", Object { "Ref": "AWS::Region", }, ".console.aws.amazon.com/sqs/v2/home?region=", Object { "Ref": "AWS::Region", }, "#/queues/", Object { "Ref": "DummyQueue3EE6D24A", }, ")**\\"}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":5,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Message Count\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/SQS\\",\\"ApproximateNumberOfMessagesVisible\\",\\"QueueName\\",\\"", Object { "Fn::GetAtt": Array [ "DummyQueue3EE6D24A", "QueueName", ], }, "\\",{\\"label\\":\\"Visible\\",\\"stat\\":\\"Maximum\\"}],[\\"AWS/SQS\\",\\"NumberOfMessagesSent\\",\\"QueueName\\",\\"", Object { "Fn::GetAtt": Array [ "DummyQueue3EE6D24A", "QueueName", ], }, "\\",{\\"label\\":\\"Incoming\\",\\"stat\\":\\"Sum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":5,\\"x\\":8,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Oldest Message Age\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/SQS\\",\\"ApproximateAgeOfOldestMessage\\",\\"QueueName\\",\\"", Object { "Fn::GetAtt": Array [ "DummyQueue3EE6D24A", "QueueName", ], }, "\\",{\\"label\\":\\"Age\\",\\"stat\\":\\"Maximum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"sec\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":5,\\"x\\":16,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Message Size\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/SQS\\",\\"SentMessageSize\\",\\"QueueName\\",\\"", Object { "Fn::GetAtt": Array [ "DummyQueue3EE6D24A", "QueueName", ], }, "\\",{\\"label\\":\\"Size\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"bytes\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":5,\\"x\\":0,\\"y\\":6,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Producer vs Consumer (rate)\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[{\\"label\\":\\"Production TPS (avg: \${AVG}, max: \${MAX})\\",\\"expression\\":\\"(productionVolume / PERIOD(productionVolume))\\"}],[\\"AWS/SQS\\",\\"NumberOfMessagesSent\\",\\"QueueName\\",\\"", Object { "Fn::GetAtt": Array [ "DummyQueue3EE6D24A", "QueueName", ], }, "\\",{\\"label\\":\\"Incoming\\",\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"productionVolume\\"}],[{\\"label\\":\\"Consumption TPS (avg: \${AVG}, max: \${MAX})\\",\\"expression\\":\\"(consumptionVolume / PERIOD(consumptionVolume))\\"}],[\\"AWS/SQS\\",\\"NumberOfMessagesDeleted\\",\\"QueueName\\",\\"", Object { "Fn::GetAtt": Array [ "DummyQueue3EE6D24A", "QueueName", ], }, "\\",{\\"label\\":\\"Deleted\\",\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"consumptionVolume\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Rate\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":5,\\"x\\":12,\\"y\\":6,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Time to drain\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[{\\"label\\":\\"Time to Drain (seconds) (avg: \${AVG}, max: \${MAX})\\",\\"expression\\":\\"(visibleMessages / (consumptionVolume - incomingVolume)) * (PERIOD(consumptionVolume))\\"}],[\\"AWS/SQS\\",\\"ApproximateNumberOfMessagesVisible\\",\\"QueueName\\",\\"", Object { "Fn::GetAtt": Array [ "DummyQueue3EE6D24A", "QueueName", ], }, "\\",{\\"label\\":\\"Visible\\",\\"stat\\":\\"Maximum\\",\\"visible\\":false,\\"id\\":\\"visibleMessages\\"}],[\\"AWS/SQS\\",\\"NumberOfMessagesSent\\",\\"QueueName\\",\\"", Object { "Fn::GetAtt": Array [ "DummyQueue3EE6D24A", "QueueName", ], }, "\\",{\\"label\\":\\"Incoming\\",\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"incomingVolume\\"}],[\\"AWS/SQS\\",\\"NumberOfMessagesDeleted\\",\\"QueueName\\",\\"", Object { "Fn::GetAtt": Array [ "DummyQueue3EE6D24A", "QueueName", ], }, "\\",{\\"label\\":\\"Deleted\\",\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"consumptionVolume\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"sec\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactorySummaryDashboard5F4BC8C5": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-P14D\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### SQS Queue **[DummyQueue](https://", Object { "Ref": "AWS::Region", }, ".console.aws.amazon.com/sqs/v2/home?region=", Object { "Ref": "AWS::Region", }, "#/queues/", Object { "Ref": "DummyQueue3EE6D24A", }, ")**\\"}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":6,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Producer vs Consumer (rate)\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[{\\"label\\":\\"Production TPS (avg: \${AVG}, max: \${MAX})\\",\\"expression\\":\\"(productionVolume / PERIOD(productionVolume))\\"}],[\\"AWS/SQS\\",\\"NumberOfMessagesSent\\",\\"QueueName\\",\\"", Object { "Fn::GetAtt": Array [ "DummyQueue3EE6D24A", "QueueName", ], }, "\\",{\\"label\\":\\"Incoming\\",\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"productionVolume\\"}],[{\\"label\\":\\"Consumption TPS (avg: \${AVG}, max: \${MAX})\\",\\"expression\\":\\"(consumptionVolume / PERIOD(consumptionVolume))\\"}],[\\"AWS/SQS\\",\\"NumberOfMessagesDeleted\\",\\"QueueName\\",\\"", Object { "Fn::GetAtt": Array [ "DummyQueue3EE6D24A", "QueueName", ], }, "\\",{\\"label\\":\\"Deleted\\",\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"consumptionVolume\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Rate\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":6,\\"x\\":12,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Time to drain\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[{\\"label\\":\\"Time to Drain (seconds) (avg: \${AVG}, max: \${MAX})\\",\\"expression\\":\\"(visibleMessages / (consumptionVolume - incomingVolume)) * (PERIOD(consumptionVolume))\\"}],[\\"AWS/SQS\\",\\"ApproximateNumberOfMessagesVisible\\",\\"QueueName\\",\\"", Object { "Fn::GetAtt": Array [ "DummyQueue3EE6D24A", "QueueName", ], }, "\\",{\\"label\\":\\"Visible\\",\\"stat\\":\\"Maximum\\",\\"visible\\":false,\\"id\\":\\"visibleMessages\\"}],[\\"AWS/SQS\\",\\"NumberOfMessagesSent\\",\\"QueueName\\",\\"", Object { "Fn::GetAtt": Array [ "DummyQueue3EE6D24A", "QueueName", ], }, "\\",{\\"label\\":\\"Incoming\\",\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"incomingVolume\\"}],[\\"AWS/SQS\\",\\"NumberOfMessagesDeleted\\",\\"QueueName\\",\\"", Object { "Fn::GetAtt": Array [ "DummyQueue3EE6D24A", "QueueName", ], }, "\\",{\\"label\\":\\"Deleted\\",\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"consumptionVolume\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"sec\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":6,\\"x\\":0,\\"y\\":7,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Message Count\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/SQS\\",\\"ApproximateNumberOfMessagesVisible\\",\\"QueueName\\",\\"", Object { "Fn::GetAtt": Array [ "DummyQueue3EE6D24A", "QueueName", ], }, "\\",{\\"label\\":\\"Visible\\",\\"stat\\":\\"Maximum\\"}],[\\"AWS/SQS\\",\\"NumberOfMessagesSent\\",\\"QueueName\\",\\"", Object { "Fn::GetAtt": Array [ "DummyQueue3EE6D24A", "QueueName", ], }, "\\",{\\"label\\":\\"Incoming\\",\\"stat\\":\\"Sum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":6,\\"x\\":12,\\"y\\":7,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Oldest Message Age\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/SQS\\",\\"ApproximateAgeOfOldestMessage\\",\\"QueueName\\",\\"", Object { "Fn::GetAtt": Array [ "DummyQueue3EE6D24A", "QueueName", ], }, "\\",{\\"label\\":\\"Age\\",\\"stat\\":\\"Maximum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"sec\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard-Summary", }, "Type": "AWS::CloudWatch::Dashboard", }, "DummyQueue3EE6D24A": Object { "DeletionPolicy": "Delete", "Type": "AWS::SQS::Queue", "UpdateReplacePolicy": "Delete", }, }, "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.", }, ], }, }, } `; exports[`MonitoringAspect SecretsManager 1`] = ` Object { "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 { "DashboardFactoryAlarmDashboard6286FAD3": Object { "Properties": Object { "DashboardBody": "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[]}", "DashboardName": "DummyDashboard-Alarms", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactoryDashboard3E20AD6E": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### Secret **DummySecret**\\"}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":5,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Days since last change\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"SecretsManager\\",\\"DaysSinceLastChange\\",\\"SecretName\\",\\"", Object { "Fn::Join": Array [ "-", Array [ Object { "Fn::Select": Array [ 0, Object { "Fn::Split": Array [ "-", Object { "Fn::Select": Array [ 6, Object { "Fn::Split": Array [ ":", Object { "Ref": "DummySecretD4900783", }, ], }, ], }, ], }, ], }, Object { "Fn::Select": Array [ 1, Object { "Fn::Split": Array [ "-", Object { "Fn::Select": Array [ 6, Object { "Fn::Split": Array [ ":", Object { "Ref": "DummySecretD4900783", }, ], }, ], }, ], }, ], }, ], ], }, "\\",{\\"label\\":\\"Days\\",\\"stat\\":\\"Maximum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactorySummaryDashboard5F4BC8C5": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-P14D\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### Secret **DummySecret**\\"}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":5,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Days since last change\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"SecretsManager\\",\\"DaysSinceLastChange\\",\\"SecretName\\",\\"", Object { "Fn::Join": Array [ "-", Array [ Object { "Fn::Select": Array [ 0, Object { "Fn::Split": Array [ "-", Object { "Fn::Select": Array [ 6, Object { "Fn::Split": Array [ ":", Object { "Ref": "DummySecretD4900783", }, ], }, ], }, ], }, ], }, Object { "Fn::Select": Array [ 1, Object { "Fn::Split": Array [ "-", Object { "Fn::Select": Array [ 6, Object { "Fn::Split": Array [ ":", Object { "Ref": "DummySecretD4900783", }, ], }, ], }, ], }, ], }, ], ], }, "\\",{\\"label\\":\\"Days\\",\\"stat\\":\\"Maximum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard-Summary", }, "Type": "AWS::CloudWatch::Dashboard", }, "DummySecretD4900783": Object { "DeletionPolicy": "Delete", "Properties": Object { "GenerateSecretString": Object {}, }, "Type": "AWS::SecretsManager::Secret", "UpdateReplacePolicy": "Delete", }, }, "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.", }, ], }, }, } `; exports[`MonitoringAspect StepFunctions 1`] = ` Object { "Mappings": Object { "ServiceprincipalMap": Object { "af-south-1": Object { "states": "states.af-south-1.amazonaws.com", }, "ap-east-1": Object { "states": "states.ap-east-1.amazonaws.com", }, "ap-northeast-1": Object { "states": "states.ap-northeast-1.amazonaws.com", }, "ap-northeast-2": Object { "states": "states.ap-northeast-2.amazonaws.com", }, "ap-northeast-3": Object { "states": "states.ap-northeast-3.amazonaws.com", }, "ap-south-1": Object { "states": "states.ap-south-1.amazonaws.com", }, "ap-south-2": Object { "states": "states.ap-south-2.amazonaws.com", }, "ap-southeast-1": Object { "states": "states.ap-southeast-1.amazonaws.com", }, "ap-southeast-2": Object { "states": "states.ap-southeast-2.amazonaws.com", }, "ap-southeast-3": Object { "states": "states.ap-southeast-3.amazonaws.com", }, "ca-central-1": Object { "states": "states.ca-central-1.amazonaws.com", }, "cn-north-1": Object { "states": "states.cn-north-1.amazonaws.com", }, "cn-northwest-1": Object { "states": "states.cn-northwest-1.amazonaws.com", }, "eu-central-1": Object { "states": "states.eu-central-1.amazonaws.com", }, "eu-central-2": Object { "states": "states.eu-central-2.amazonaws.com", }, "eu-north-1": Object { "states": "states.eu-north-1.amazonaws.com", }, "eu-south-1": Object { "states": "states.eu-south-1.amazonaws.com", }, "eu-south-2": Object { "states": "states.eu-south-2.amazonaws.com", }, "eu-west-1": Object { "states": "states.eu-west-1.amazonaws.com", }, "eu-west-2": Object { "states": "states.eu-west-2.amazonaws.com", }, "eu-west-3": Object { "states": "states.eu-west-3.amazonaws.com", }, "me-central-1": Object { "states": "states.me-central-1.amazonaws.com", }, "me-south-1": Object { "states": "states.me-south-1.amazonaws.com", }, "sa-east-1": Object { "states": "states.sa-east-1.amazonaws.com", }, "us-east-1": Object { "states": "states.us-east-1.amazonaws.com", }, "us-east-2": Object { "states": "states.us-east-2.amazonaws.com", }, "us-gov-east-1": Object { "states": "states.us-gov-east-1.amazonaws.com", }, "us-gov-west-1": Object { "states": "states.us-gov-west-1.amazonaws.com", }, "us-iso-east-1": Object { "states": "states.amazonaws.com", }, "us-iso-west-1": Object { "states": "states.amazonaws.com", }, "us-isob-east-1": Object { "states": "states.amazonaws.com", }, "us-west-1": Object { "states": "states.us-west-1.amazonaws.com", }, "us-west-2": Object { "states": "states.us-west-2.amazonaws.com", }, }, }, "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 { "DashboardFactoryAlarmDashboard6286FAD3": Object { "Properties": Object { "DashboardBody": "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[]}", "DashboardName": "DummyDashboard-Alarms", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactoryDashboard3E20AD6E": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### State Machine **[DummyStateMachine](https://", Object { "Ref": "AWS::Region", }, ".console.aws.amazon.com/states/home?region=", Object { "Ref": "AWS::Region", }, "#/statemachines/view/", Object { "Ref": "DummyStateMachine912BDB94", }, ")**\\"}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Duration\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/States\\",\\"ExecutionTime\\",\\"StateMachineArn\\",\\"", Object { "Ref": "DummyStateMachine912BDB94", }, "\\",{\\"label\\":\\"P50\\",\\"stat\\":\\"p50\\"}],[\\"AWS/States\\",\\"ExecutionTime\\",\\"StateMachineArn\\",\\"", Object { "Ref": "DummyStateMachine912BDB94", }, "\\",{\\"label\\":\\"P90\\",\\"stat\\":\\"p90\\"}],[\\"AWS/States\\",\\"ExecutionTime\\",\\"StateMachineArn\\",\\"", Object { "Ref": "DummyStateMachine912BDB94", }, "\\",{\\"label\\":\\"P99\\",\\"stat\\":\\"p99\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"ms\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":5,\\"x\\":6,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Executions\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/States\\",\\"ExecutionsStarted\\",\\"StateMachineArn\\",\\"", Object { "Ref": "DummyStateMachine912BDB94", }, "\\",{\\"label\\":\\"Started\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/States\\",\\"ExecutionsSucceeded\\",\\"StateMachineArn\\",\\"", Object { "Ref": "DummyStateMachine912BDB94", }, "\\",{\\"label\\":\\"Succeeded\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/States\\",\\"ExecutionsFailed\\",\\"StateMachineArn\\",\\"", Object { "Ref": "DummyStateMachine912BDB94", }, "\\",{\\"label\\":\\"Failed\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/States\\",\\"ExecutionsAborted\\",\\"StateMachineArn\\",\\"", Object { "Ref": "DummyStateMachine912BDB94", }, "\\",{\\"label\\":\\"Aborted\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/States\\",\\"ExecutionThrottled\\",\\"StateMachineArn\\",\\"", Object { "Ref": "DummyStateMachine912BDB94", }, "\\",{\\"label\\":\\"Throttled\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/States\\",\\"ExecutionsTimedOut\\",\\"StateMachineArn\\",\\"", Object { "Ref": "DummyStateMachine912BDB94", }, "\\",{\\"label\\":\\"Timeout\\",\\"stat\\":\\"Sum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":18,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Errors (rate)\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/States\\",\\"ExecutionsFailed\\",\\"StateMachineArn\\",\\"", Object { "Ref": "DummyStateMachine912BDB94", }, "\\",{\\"label\\":\\"Failed (avg)\\"}]],\\"yAxis\\":{}}}]}", ], ], }, "DashboardName": "DummyDashboard", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactorySummaryDashboard5F4BC8C5": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-P14D\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### State Machine **[DummyStateMachine](https://", Object { "Ref": "AWS::Region", }, ".console.aws.amazon.com/states/home?region=", Object { "Ref": "AWS::Region", }, "#/statemachines/view/", Object { "Ref": "DummyStateMachine912BDB94", }, ")**\\"}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":6,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Duration\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/States\\",\\"ExecutionTime\\",\\"StateMachineArn\\",\\"", Object { "Ref": "DummyStateMachine912BDB94", }, "\\",{\\"label\\":\\"P50\\",\\"stat\\":\\"p50\\"}],[\\"AWS/States\\",\\"ExecutionTime\\",\\"StateMachineArn\\",\\"", Object { "Ref": "DummyStateMachine912BDB94", }, "\\",{\\"label\\":\\"P90\\",\\"stat\\":\\"p90\\"}],[\\"AWS/States\\",\\"ExecutionTime\\",\\"StateMachineArn\\",\\"", Object { "Ref": "DummyStateMachine912BDB94", }, "\\",{\\"label\\":\\"P99\\",\\"stat\\":\\"p99\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"ms\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":6,\\"x\\":12,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Executions\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/States\\",\\"ExecutionsStarted\\",\\"StateMachineArn\\",\\"", Object { "Ref": "DummyStateMachine912BDB94", }, "\\",{\\"label\\":\\"Started\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/States\\",\\"ExecutionsSucceeded\\",\\"StateMachineArn\\",\\"", Object { "Ref": "DummyStateMachine912BDB94", }, "\\",{\\"label\\":\\"Succeeded\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/States\\",\\"ExecutionsFailed\\",\\"StateMachineArn\\",\\"", Object { "Ref": "DummyStateMachine912BDB94", }, "\\",{\\"label\\":\\"Failed\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/States\\",\\"ExecutionsAborted\\",\\"StateMachineArn\\",\\"", Object { "Ref": "DummyStateMachine912BDB94", }, "\\",{\\"label\\":\\"Aborted\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/States\\",\\"ExecutionThrottled\\",\\"StateMachineArn\\",\\"", Object { "Ref": "DummyStateMachine912BDB94", }, "\\",{\\"label\\":\\"Throttled\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/States\\",\\"ExecutionsTimedOut\\",\\"StateMachineArn\\",\\"", Object { "Ref": "DummyStateMachine912BDB94", }, "\\",{\\"label\\":\\"Timeout\\",\\"stat\\":\\"Sum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard-Summary", }, "Type": "AWS::CloudWatch::Dashboard", }, "DummyStateMachine912BDB94": Object { "DependsOn": Array [ "DummyStateMachineRoleC6C4FF37", ], "Properties": Object { "DefinitionString": "{\\"StartAt\\":\\"DummyStep\\",\\"States\\":{\\"DummyStep\\":{\\"Type\\":\\"Pass\\",\\"End\\":true}}}", "RoleArn": Object { "Fn::GetAtt": Array [ "DummyStateMachineRoleC6C4FF37", "Arn", ], }, }, "Type": "AWS::StepFunctions::StateMachine", }, "DummyStateMachineRoleC6C4FF37": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": Object { "Fn::FindInMap": Array [ "ServiceprincipalMap", Object { "Ref": "AWS::Region", }, "states", ], }, }, }, ], "Version": "2012-10-17", }, }, "Type": "AWS::IAM::Role", }, }, "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.", }, ], }, }, } `; exports[`MonitoringAspect WAF v2 1`] = ` Object { "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 { "DashboardFactoryAlarmDashboard6286FAD3": Object { "Properties": Object { "DashboardBody": "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[]}", "DashboardName": "DummyDashboard-Alarms", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactoryDashboard3E20AD6E": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-PT8H\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### Web Application Firewall **DummyAcl**\\"}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":5,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Allowed Requests\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/WAFV2\\",\\"AllowedRequests\\",\\"Rule\\",\\"ALL\\",{\\"label\\":\\"Allowed\\",\\"stat\\":\\"Sum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":5,\\"x\\":8,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Blocked Requests\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/WAFV2\\",\\"BlockedRequests\\",\\"Rule\\",\\"ALL\\",{\\"label\\":\\"Blocked\\",\\"stat\\":\\"Sum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":5,\\"x\\":16,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Blocked Requests (rate)\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[{\\"label\\":\\"Blocked (rate)\\",\\"expression\\":\\"100 * (blocked / (allowed + blocked))\\"}],[\\"AWS/WAFV2\\",\\"AllowedRequests\\",\\"Rule\\",\\"ALL\\",{\\"label\\":\\"Allowed\\",\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"allowed\\"}],[\\"AWS/WAFV2\\",\\"BlockedRequests\\",\\"Rule\\",\\"ALL\\",{\\"label\\":\\"Blocked\\",\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"blocked\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Rate\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard", }, "Type": "AWS::CloudWatch::Dashboard", }, "DashboardFactorySummaryDashboard5F4BC8C5": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"start\\":\\"-P14D\\",\\"periodOverride\\":\\"inherit\\",\\"widgets\\":[{\\"type\\":\\"text\\",\\"width\\":24,\\"height\\":1,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"markdown\\":\\"### Web Application Firewall **DummyAcl**\\"}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":6,\\"x\\":0,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Allowed Requests\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/WAFV2\\",\\"AllowedRequests\\",\\"Rule\\",\\"ALL\\",{\\"label\\":\\"Allowed\\",\\"stat\\":\\"Sum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":6,\\"x\\":8,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Blocked Requests\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/WAFV2\\",\\"BlockedRequests\\",\\"Rule\\",\\"ALL\\",{\\"label\\":\\"Blocked\\",\\"stat\\":\\"Sum\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":8,\\"height\\":6,\\"x\\":16,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Blocked Requests (rate)\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[{\\"label\\":\\"Blocked (rate)\\",\\"expression\\":\\"100 * (blocked / (allowed + blocked))\\"}],[\\"AWS/WAFV2\\",\\"AllowedRequests\\",\\"Rule\\",\\"ALL\\",{\\"label\\":\\"Allowed\\",\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"allowed\\"}],[\\"AWS/WAFV2\\",\\"BlockedRequests\\",\\"Rule\\",\\"ALL\\",{\\"label\\":\\"Blocked\\",\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"blocked\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Rate\\",\\"showUnits\\":false}}}}]}", ], ], }, "DashboardName": "DummyDashboard-Summary", }, "Type": "AWS::CloudWatch::Dashboard", }, "DummyAcl": Object { "Properties": Object { "DefaultAction": Object { "Allow": Object {}, }, "Scope": "REGIONAL", "VisibilityConfig": Object { "CloudWatchMetricsEnabled": true, "MetricName": "DummyMetricName", "SampledRequestsEnabled": true, }, }, "Type": "AWS::WAFv2::WebACL", }, }, "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.", }, ], }, }, } `;