// Jest Snapshot v1, https://goo.gl/fbAQLP exports[`Sample snapshot test 1`] = ` Object { "Outputs": Object { "DataSourcesRuleEvaluationResultTopicARN44D5208F": Object { "Value": Object { "Ref": "DataSourcesRuleEvaluationResultTopic5273BF75", }, }, "autoconfigapiAPIEndpoint07B44425": Object { "Value": Object { "Fn::Join": Array [ "", Array [ "https://", Object { "Ref": "autoconfigapiAPI373CEEE7", }, ".execute-api.", Object { "Ref": "AWS::Region", }, ".", Object { "Ref": "AWS::URLSuffix", }, "/", Object { "Ref": "autoconfigapiAPIDeploymentStageprod291BEEF2", }, "/", ], ], }, }, "autoconfigapiadminRoleArnB087DB58": Object { "Value": Object { "Fn::GetAtt": Array [ "autoconfigapiapiadminrole61E8F682", "Arn", ], }, }, "autoconfigautoConfigFunctionScheduler2B44A1E9": Object { "Value": Object { "Ref": "autoconfigautoConfigSchedulerE6836502", }, }, }, "Resources": Object { "CanaryExecutionRole07ED3987": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", ], ], }, Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole", ], ], }, ], "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], }, "Type": "AWS::IAM::Role", }, "CanaryExecutionRoleDefaultPolicyD08AA359": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": "execute-api:Invoke", "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:aws:execute-api:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":", Object { "Ref": "autoconfigapiAPI373CEEE7", }, "/*/GET/*", ], ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "CanaryExecutionRoleDefaultPolicyD08AA359", "Roles": Array [ Object { "Ref": "CanaryExecutionRole07ED3987", }, ], }, "Type": "AWS::IAM::Policy", }, "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F": Object { "DependsOn": Array [ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092", ], "Properties": Object { "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "3f51abb709b8e65167a45aeed02bab11540603d909005d7148230ba5ce6c74d7.zip", }, "Description": Object { "Fn::Join": Array [ "", Array [ "Lambda function for auto-deleting objects in ", Object { "Ref": "canaryCanaryArtifactBucketagsCanaryArtifactBucketB6BAD0ED", }, " S3 bucket.", ], ], }, "Handler": "__entrypoint__.handler", "MemorySize": 128, "Role": Object { "Fn::GetAtt": Array [ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092", "Arn", ], }, "Runtime": "nodejs14.x", "Timeout": 900, }, "Type": "AWS::Lambda::Function", }, "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092": 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::Sub": "arn:\${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", }, ], }, "Type": "AWS::IAM::Role", }, "DataSourcesAuditsTable1F631F88": Object { "DeletionPolicy": "Retain", "Properties": Object { "AttributeDefinitions": Array [ Object { "AttributeName": "id", "AttributeType": "S", }, ], "BillingMode": "PAY_PER_REQUEST", "KeySchema": Array [ Object { "AttributeName": "id", "KeyType": "HASH", }, ], "PointInTimeRecoverySpecification": Object { "PointInTimeRecoveryEnabled": true, }, "SSESpecification": Object { "KMSMasterKeyId": Object { "Fn::GetAtt": Array [ "DataSourcesautoconfigauditencryptionkey24E060F0", "Arn", ], }, "SSEEnabled": true, "SSEType": "KMS", }, "StreamSpecification": Object { "StreamViewType": "NEW_AND_OLD_IMAGES", }, "TableName": "RuleExtensionsAuditTable", "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], }, "Type": "AWS::DynamoDB::Table", "UpdateReplacePolicy": "Retain", }, "DataSourcesObjectsTable3C1B7D58": Object { "DeletionPolicy": "Retain", "Properties": Object { "AttributeDefinitions": Array [ Object { "AttributeName": "id", "AttributeType": "S", }, ], "BillingMode": "PAY_PER_REQUEST", "KeySchema": Array [ Object { "AttributeName": "id", "KeyType": "HASH", }, ], "PointInTimeRecoverySpecification": Object { "PointInTimeRecoveryEnabled": true, }, "SSESpecification": Object { "KMSMasterKeyId": Object { "Fn::GetAtt": Array [ "DataSourcesautoconfigencryptionkey7C2C5A00", "Arn", ], }, "SSEEnabled": true, "SSEType": "KMS", }, "StreamSpecification": Object { "StreamViewType": "NEW_AND_OLD_IMAGES", }, "TableName": "RuleExtensionsObjectTable", "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], }, "Type": "AWS::DynamoDB::Table", "UpdateReplacePolicy": "Retain", }, "DataSourcesRuleBundlesTableEC40370C": Object { "DeletionPolicy": "Retain", "Properties": Object { "AttributeDefinitions": Array [ Object { "AttributeName": "id", "AttributeType": "S", }, ], "BillingMode": "PAY_PER_REQUEST", "KeySchema": Array [ Object { "AttributeName": "id", "KeyType": "HASH", }, ], "PointInTimeRecoverySpecification": Object { "PointInTimeRecoveryEnabled": true, }, "SSESpecification": Object { "KMSMasterKeyId": Object { "Fn::GetAtt": Array [ "DataSourcesautoconfigencryptionkey7C2C5A00", "Arn", ], }, "SSEEnabled": true, "SSEType": "KMS", }, "StreamSpecification": Object { "StreamViewType": "NEW_AND_OLD_IMAGES", }, "TableName": "RuleExtensionsRuleBundleTable", "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], }, "Type": "AWS::DynamoDB::Table", "UpdateReplacePolicy": "Retain", }, "DataSourcesRuleEvaluationResultTopic5273BF75": Object { "Properties": Object { "KmsMasterKeyId": Object { "Fn::GetAtt": Array [ "DataSourcesnotificationsnsencryptionkey0B51B241", "Arn", ], }, "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], }, "Type": "AWS::SNS::Topic", }, "DataSourcesRulesTable1F07B779": Object { "DeletionPolicy": "Retain", "Properties": Object { "AttributeDefinitions": Array [ Object { "AttributeName": "id", "AttributeType": "S", }, Object { "AttributeName": "ruleBundleId", "AttributeType": "S", }, ], "BillingMode": "PAY_PER_REQUEST", "GlobalSecondaryIndexes": Array [ Object { "IndexName": "ruleBundleId", "KeySchema": Array [ Object { "AttributeName": "ruleBundleId", "KeyType": "HASH", }, ], "Projection": Object { "ProjectionType": "ALL", }, }, ], "KeySchema": Array [ Object { "AttributeName": "id", "KeyType": "HASH", }, ], "PointInTimeRecoverySpecification": Object { "PointInTimeRecoveryEnabled": true, }, "SSESpecification": Object { "KMSMasterKeyId": Object { "Fn::GetAtt": Array [ "DataSourcesautoconfigencryptionkey7C2C5A00", "Arn", ], }, "SSEEnabled": true, "SSEType": "KMS", }, "StreamSpecification": Object { "StreamViewType": "NEW_AND_OLD_IMAGES", }, "TableName": "RuleExtensionsRuleTable", "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], }, "Type": "AWS::DynamoDB::Table", "UpdateReplacePolicy": "Retain", }, "DataSourcesautoconfigauditencryptionkey24E060F0": Object { "DeletionPolicy": "Retain", "Properties": Object { "EnableKeyRotation": true, "KeyPolicy": Object { "Statement": Array [ Object { "Action": "kms:*", "Effect": "Allow", "Principal": Object { "AWS": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::", Object { "Ref": "AWS::AccountId", }, ":root", ], ], }, }, "Resource": "*", }, ], "Version": "2012-10-17", }, "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], }, "Type": "AWS::KMS::Key", "UpdateReplacePolicy": "Retain", }, "DataSourcesautoconfigauditencryptionkeyAlias42E61DCF": Object { "Properties": Object { "AliasName": "alias/AutoConfigAuditTablesEncryptionKey", "TargetKeyId": Object { "Fn::GetAtt": Array [ "DataSourcesautoconfigauditencryptionkey24E060F0", "Arn", ], }, }, "Type": "AWS::KMS::Alias", }, "DataSourcesautoconfigencryptionkey7C2C5A00": Object { "DeletionPolicy": "Retain", "Properties": Object { "EnableKeyRotation": true, "KeyPolicy": Object { "Statement": Array [ Object { "Action": "kms:*", "Effect": "Allow", "Principal": Object { "AWS": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::", Object { "Ref": "AWS::AccountId", }, ":root", ], ], }, }, "Resource": "*", }, ], "Version": "2012-10-17", }, "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], }, "Type": "AWS::KMS::Key", "UpdateReplacePolicy": "Retain", }, "DataSourcesautoconfigencryptionkeyAliasE64622D9": Object { "Properties": Object { "AliasName": "alias/AutoConfigTablesEncryptionKey", "TargetKeyId": Object { "Fn::GetAtt": Array [ "DataSourcesautoconfigencryptionkey7C2C5A00", "Arn", ], }, }, "Type": "AWS::KMS::Alias", }, "DataSourcesnotificationsnsencryptionkey0B51B241": Object { "DeletionPolicy": "Delete", "Properties": Object { "EnableKeyRotation": true, "KeyPolicy": Object { "Statement": Array [ Object { "Action": "kms:*", "Effect": "Allow", "Principal": Object { "AWS": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::", Object { "Ref": "AWS::AccountId", }, ":root", ], ], }, }, "Resource": "*", }, ], "Version": "2012-10-17", }, "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], }, "Type": "AWS::KMS::Key", "UpdateReplacePolicy": "Delete", }, "DataSourcesnotificationsnsencryptionkeyAlias7F8429DB": Object { "Properties": Object { "AliasName": "alias/RuleEvaluationResultTopicEncryptionKey", "TargetKeyId": Object { "Fn::GetAtt": Array [ "DataSourcesnotificationsnsencryptionkey0B51B241", "Arn", ], }, }, "Type": "AWS::KMS::Alias", }, "autoconfigExecutionRoleDefaultPolicyF81E1CAB": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "network-firewall:CreateRuleGroup", "network-firewall:ListRuleGroups", "network-firewall:DescribeRuleGroup", "network-firewall:UpdateRuleGroup", ], "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:aws:network-firewall:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":stateful-rulegroup/default-anfwconfig-*", ], ], }, }, Object { "Action": "SNS:Publish", "Effect": "Allow", "Resource": Object { "Ref": "DataSourcesRuleEvaluationResultTopic5273BF75", }, }, Object { "Action": "config:SelectAggregateResourceConfig", "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:aws:config:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":config-aggregator/*", ], ], }, }, Object { "Action": "kms:GenerateDataKey", "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "DataSourcesnotificationsnsencryptionkey0B51B241", "Arn", ], }, }, Object { "Action": "sqs:SendMessage", "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "autoconfigautoConfigFunctionDLQ2146CC6D", "Arn", ], }, }, Object { "Action": Array [ "xray:PutTraceSegments", "xray:PutTelemetryRecords", ], "Effect": "Allow", "Resource": "*", }, Object { "Action": Array [ "dynamodb:BatchGetItem", "dynamodb:GetRecords", "dynamodb:GetShardIterator", "dynamodb:Query", "dynamodb:GetItem", "dynamodb:Scan", "dynamodb:ConditionCheckItem", "dynamodb:BatchWriteItem", "dynamodb:PutItem", "dynamodb:UpdateItem", "dynamodb:DeleteItem", "dynamodb:DescribeTable", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "DataSourcesRulesTable1F07B779", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "DataSourcesRulesTable1F07B779", "Arn", ], }, "/index/*", ], ], }, ], }, Object { "Action": Array [ "kms:Decrypt", "kms:DescribeKey", "kms:Encrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", ], "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "DataSourcesautoconfigencryptionkey7C2C5A00", "Arn", ], }, }, Object { "Action": Array [ "dynamodb:BatchGetItem", "dynamodb:GetRecords", "dynamodb:GetShardIterator", "dynamodb:Query", "dynamodb:GetItem", "dynamodb:Scan", "dynamodb:ConditionCheckItem", "dynamodb:BatchWriteItem", "dynamodb:PutItem", "dynamodb:UpdateItem", "dynamodb:DeleteItem", "dynamodb:DescribeTable", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "DataSourcesObjectsTable3C1B7D58", "Arn", ], }, Object { "Ref": "AWS::NoValue", }, ], }, Object { "Action": Array [ "dynamodb:BatchGetItem", "dynamodb:GetRecords", "dynamodb:GetShardIterator", "dynamodb:Query", "dynamodb:GetItem", "dynamodb:Scan", "dynamodb:ConditionCheckItem", "dynamodb:BatchWriteItem", "dynamodb:PutItem", "dynamodb:UpdateItem", "dynamodb:DeleteItem", "dynamodb:DescribeTable", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "DataSourcesRuleBundlesTableEC40370C", "Arn", ], }, Object { "Ref": "AWS::NoValue", }, ], }, Object { "Action": "sns:Publish", "Effect": "Allow", "Resource": Object { "Ref": "DataSourcesRuleEvaluationResultTopic5273BF75", }, }, Object { "Action": Array [ "kms:Decrypt", "kms:Encrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", ], "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "DataSourcesnotificationsnsencryptionkey0B51B241", "Arn", ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "autoconfigExecutionRoleDefaultPolicyF81E1CAB", "Roles": Array [ Object { "Ref": "autoconfigExecutionRoleFB25D9EC", }, ], }, "Type": "AWS::IAM::Policy", }, "autoconfigExecutionRoleFB25D9EC": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "Description": "Lambda execution role for function", "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", ], ], }, Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole", ], ], }, ], "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], }, "Type": "AWS::IAM::Role", }, "autoconfigTriggerRule1039ECBD": Object { "Properties": Object { "Description": "Trigger auto configure scheduler lambda based on the configured interval value of ruleResolutionInterval", "ScheduleExpression": "rate(10 minutes)", "State": "ENABLED", "Targets": Array [ Object { "Arn": Object { "Fn::GetAtt": Array [ "autoconfigautoConfigSchedulerE6836502", "Arn", ], }, "Id": "Target0", }, ], }, "Type": "AWS::Events::Rule", }, "autoconfigTriggerRuleAllowEventRuleMyTestStackautoconfigautoConfigScheduler449A52B4E72DD146": Object { "Properties": Object { "Action": "lambda:InvokeFunction", "FunctionName": Object { "Fn::GetAtt": Array [ "autoconfigautoConfigSchedulerE6836502", "Arn", ], }, "Principal": "events.amazonaws.com", "SourceArn": Object { "Fn::GetAtt": Array [ "autoconfigTriggerRule1039ECBD", "Arn", ], }, }, "Type": "AWS::Lambda::Permission", }, "autoconfigapiAPI373CEEE7": Object { "Properties": Object { "Description": "Rest Api for Firewall config", "EndpointConfiguration": Object { "Types": Array [ "PRIVATE", ], "VpcEndpointIds": Array [ Object { "Ref": "autoconfigapiapivpcendpointA8A984B6", }, ], }, "Name": "NetworkFirewallObjectExtension-API", "Policy": Object { "Statement": Array [ Object { "Action": "execute-api:Invoke", "Condition": Object { "StringEquals": Object { "aws:PrincipalArn": Object { "Fn::GetAtt": Array [ "autoconfigapiapiadminrole61E8F682", "Arn", ], }, }, }, "Effect": "Allow", "Principal": Object { "AWS": "*", }, "Resource": Array [ "execute-api:/*/GET/audits", "execute-api:/*/POST/objects", "execute-api:/*/GET/objects", "execute-api:/*/GET/objects/{id}", "execute-api:/*/PUT/objects/{id}", "execute-api:/*/DELETE/objects/{id}", "execute-api:/*/POST/rulebundles", "execute-api:/*/GET/rulebundles", "execute-api:/*/PUT/rulebundles/{id}", "execute-api:/*/GET/rulebundles/{id}", "execute-api:/*/POST/rulebundles/{id}/rules", "execute-api:/*/GET/rulebundles/{id}/rules", "execute-api:/*/GET/rulebundles/{id}/rules/{ruleId}", "execute-api:/*/PUT/rulebundles/{id}/rules/{ruleId}", "execute-api:/*/DELETE/rulebundles/{id}/rules/{ruleId}", ], }, Object { "Action": "execute-api:Invoke", "Condition": Object { "ForAllValues:StringNotEquals": Object { "aws:PrincipalArn": Array [ Object { "Fn::GetAtt": Array [ "autoconfigapiapiadminrole61E8F682", "Arn", ], }, Object { "Fn::GetAtt": Array [ "CanaryExecutionRole07ED3987", "Arn", ], }, ], }, }, "Effect": "Deny", "Principal": Object { "AWS": "*", }, "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:aws:execute-api:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":*/*/*", ], ], }, }, Object { "Action": "execute-api:Invoke", "Condition": Object { "StringNotEquals": Object { "aws:sourceVpc": Object { "Ref": "networkobjectextensionVpcB3285E3D", }, }, }, "Effect": "Deny", "Principal": Object { "AWS": "*", }, "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:aws:execute-api:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":*/*/*/*", ], ], }, }, ], "Version": "2012-10-17", }, "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], }, "Type": "AWS::ApiGateway::RestApi", }, "autoconfigapiAPIAPIusageplan0F795AB4": Object { "Properties": Object { "ApiStages": Array [ Object { "ApiId": Object { "Ref": "autoconfigapiAPI373CEEE7", }, "Stage": Object { "Ref": "autoconfigapiAPIDeploymentStageprod291BEEF2", }, "Throttle": Object {}, }, ], "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], }, "Type": "AWS::ApiGateway::UsagePlan", }, "autoconfigapiAPIAccount4D624B77": Object { "DeletionPolicy": "Retain", "DependsOn": Array [ "autoconfigapiAPI373CEEE7", ], "Properties": Object { "CloudWatchRoleArn": Object { "Fn::GetAtt": Array [ "autoconfigapiAPICloudWatchRoleEA4D305D", "Arn", ], }, }, "Type": "AWS::ApiGateway::Account", "UpdateReplacePolicy": "Retain", }, "autoconfigapiAPICloudWatchRoleEA4D305D": 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", ], ], }, ], "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], }, "Type": "AWS::IAM::Role", "UpdateReplacePolicy": "Retain", }, "autoconfigapiAPIDeployment11680BD92e87096866d699999ec03e4abf7f7a35": Object { "DependsOn": Array [ "autoconfigapiAPIauditsGETD57B8DA6", "autoconfigapiAPIauditsOPTIONSE2CB20D4", "autoconfigapiAPIaudits03DCB3D4", "autoconfigapiAPIobjectsidDELETEBE572E18", "autoconfigapiAPIobjectsidGET4D59E25D", "autoconfigapiAPIobjectsidOPTIONS95DFC6AF", "autoconfigapiAPIobjectsidPUT68EBBE80", "autoconfigapiAPIobjectsidE222F0A4", "autoconfigapiAPIobjectsGETC365091C", "autoconfigapiAPIobjectsOPTIONSE5BF1847", "autoconfigapiAPIobjectsPOST469CD1A1", "autoconfigapiAPIobjects84BAEDAB", "autoconfigapiAPIOPTIONS9D403FA4", "autoconfigapiAPIrulebundlesidDELETE3E34B751", "autoconfigapiAPIrulebundlesidGET996A4D15", "autoconfigapiAPIrulebundlesidOPTIONS6324A884", "autoconfigapiAPIrulebundlesidPUT6CA26AA3", "autoconfigapiAPIrulebundlesid6A1E18C6", "autoconfigapiAPIrulebundlesidrulesruleIdDELETEB6D51F5E", "autoconfigapiAPIrulebundlesidrulesruleIdGETD301FF36", "autoconfigapiAPIrulebundlesidrulesruleIdOPTIONSEC62CF6B", "autoconfigapiAPIrulebundlesidrulesruleIdPUTE81C53E8", "autoconfigapiAPIrulebundlesidrulesruleId9AC1DF55", "autoconfigapiAPIrulebundlesidrulesGETBD86CD2C", "autoconfigapiAPIrulebundlesidrulesOPTIONSECCBF5EE", "autoconfigapiAPIrulebundlesidrulesPOSTA02706B0", "autoconfigapiAPIrulebundlesidrules01D9743B", "autoconfigapiAPIrulebundlesGETF0DBC5AB", "autoconfigapiAPIrulebundlesOPTIONS25BF9971", "autoconfigapiAPIrulebundlesPOSTA17ADCD4", "autoconfigapiAPIrulebundles4FAA7FE8", ], "Properties": Object { "Description": "Rest Api for Firewall config", "RestApiId": Object { "Ref": "autoconfigapiAPI373CEEE7", }, }, "Type": "AWS::ApiGateway::Deployment", }, "autoconfigapiAPIDeploymentStageprod291BEEF2": Object { "DependsOn": Array [ "autoconfigapiAPIAccount4D624B77", ], "Properties": Object { "AccessLogSetting": Object { "DestinationArn": Object { "Fn::GetAtt": Array [ "autoconfigapiApiGatewayAccessLogs94F3AB07", "Arn", ], }, "Format": "{\\"requestId\\":\\"$context.requestId\\",\\"ip\\":\\"$context.identity.sourceIp\\",\\"user\\":\\"$context.identity.user\\",\\"caller\\":\\"$context.identity.caller\\",\\"requestTime\\":\\"$context.requestTime\\",\\"httpMethod\\":\\"$context.httpMethod\\",\\"resourcePath\\":\\"$context.resourcePath\\",\\"status\\":\\"$context.status\\",\\"protocol\\":\\"$context.protocol\\",\\"responseLength\\":\\"$context.responseLength\\"}", }, "DeploymentId": Object { "Ref": "autoconfigapiAPIDeployment11680BD92e87096866d699999ec03e4abf7f7a35", }, "MethodSettings": Array [ Object { "DataTraceEnabled": false, "HttpMethod": "*", "MetricsEnabled": true, "ResourcePath": "/*", }, ], "RestApiId": Object { "Ref": "autoconfigapiAPI373CEEE7", }, "StageName": "prod", "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], "TracingEnabled": true, }, "Type": "AWS::ApiGateway::Stage", }, "autoconfigapiAPIOPTIONS9D403FA4": Object { "Properties": Object { "AuthorizationType": "NONE", "HttpMethod": "OPTIONS", "Integration": Object { "IntegrationResponses": Array [ Object { "ResponseParameters": Object { "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'", "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "StatusCode": "204", }, ], "RequestTemplates": Object { "application/json": "{ statusCode: 200 }", }, "Type": "MOCK", }, "MethodResponses": Array [ Object { "ResponseParameters": Object { "method.response.header.Access-Control-Allow-Headers": true, "method.response.header.Access-Control-Allow-Methods": true, "method.response.header.Access-Control-Allow-Origin": true, }, "StatusCode": "204", }, ], "ResourceId": Object { "Fn::GetAtt": Array [ "autoconfigapiAPI373CEEE7", "RootResourceId", ], }, "RestApiId": Object { "Ref": "autoconfigapiAPI373CEEE7", }, }, "Type": "AWS::ApiGateway::Method", }, "autoconfigapiAPIaudits03DCB3D4": Object { "Properties": Object { "ParentId": Object { "Fn::GetAtt": Array [ "autoconfigapiAPI373CEEE7", "RootResourceId", ], }, "PathPart": "audits", "RestApiId": Object { "Ref": "autoconfigapiAPI373CEEE7", }, }, "Type": "AWS::ApiGateway::Resource", }, "autoconfigapiAPIauditsGETApiPermissionMyTestStackautoconfigapiAPI2E3572E2GETauditsFE67F4EF": Object { "Properties": Object { "Action": "lambda:InvokeFunction", "FunctionName": Object { "Fn::GetAtt": Array [ "autoconfigapiautoConfig13F74724", "Arn", ], }, "Principal": "apigateway.amazonaws.com", "SourceArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":execute-api:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":", Object { "Ref": "autoconfigapiAPI373CEEE7", }, "/", Object { "Ref": "autoconfigapiAPIDeploymentStageprod291BEEF2", }, "/GET/audits", ], ], }, }, "Type": "AWS::Lambda::Permission", }, "autoconfigapiAPIauditsGETD57B8DA6": Object { "Properties": Object { "AuthorizationType": "AWS_IAM", "HttpMethod": "GET", "Integration": Object { "IntegrationHttpMethod": "POST", "Type": "AWS_PROXY", "Uri": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":apigateway:", Object { "Ref": "AWS::Region", }, ":lambda:path/2015-03-31/functions/", Object { "Fn::GetAtt": Array [ "autoconfigapiautoConfig13F74724", "Arn", ], }, "/invocations", ], ], }, }, "ResourceId": Object { "Ref": "autoconfigapiAPIaudits03DCB3D4", }, "RestApiId": Object { "Ref": "autoconfigapiAPI373CEEE7", }, }, "Type": "AWS::ApiGateway::Method", }, "autoconfigapiAPIauditsOPTIONSE2CB20D4": Object { "Properties": Object { "AuthorizationType": "NONE", "HttpMethod": "OPTIONS", "Integration": Object { "IntegrationResponses": Array [ Object { "ResponseParameters": Object { "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'", "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "StatusCode": "204", }, ], "RequestTemplates": Object { "application/json": "{ statusCode: 200 }", }, "Type": "MOCK", }, "MethodResponses": Array [ Object { "ResponseParameters": Object { "method.response.header.Access-Control-Allow-Headers": true, "method.response.header.Access-Control-Allow-Methods": true, "method.response.header.Access-Control-Allow-Origin": true, }, "StatusCode": "204", }, ], "ResourceId": Object { "Ref": "autoconfigapiAPIaudits03DCB3D4", }, "RestApiId": Object { "Ref": "autoconfigapiAPI373CEEE7", }, }, "Type": "AWS::ApiGateway::Method", }, "autoconfigapiAPIobjects84BAEDAB": Object { "Properties": Object { "ParentId": Object { "Fn::GetAtt": Array [ "autoconfigapiAPI373CEEE7", "RootResourceId", ], }, "PathPart": "objects", "RestApiId": Object { "Ref": "autoconfigapiAPI373CEEE7", }, }, "Type": "AWS::ApiGateway::Resource", }, "autoconfigapiAPIobjectsGETApiPermissionMyTestStackautoconfigapiAPI2E3572E2GETobjectsFA2F169A": Object { "Properties": Object { "Action": "lambda:InvokeFunction", "FunctionName": Object { "Fn::GetAtt": Array [ "autoconfigapiautoConfig13F74724", "Arn", ], }, "Principal": "apigateway.amazonaws.com", "SourceArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":execute-api:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":", Object { "Ref": "autoconfigapiAPI373CEEE7", }, "/", Object { "Ref": "autoconfigapiAPIDeploymentStageprod291BEEF2", }, "/GET/objects", ], ], }, }, "Type": "AWS::Lambda::Permission", }, "autoconfigapiAPIobjectsGETC365091C": Object { "Properties": Object { "AuthorizationType": "AWS_IAM", "HttpMethod": "GET", "Integration": Object { "IntegrationHttpMethod": "POST", "Type": "AWS_PROXY", "Uri": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":apigateway:", Object { "Ref": "AWS::Region", }, ":lambda:path/2015-03-31/functions/", Object { "Fn::GetAtt": Array [ "autoconfigapiautoConfig13F74724", "Arn", ], }, "/invocations", ], ], }, }, "ResourceId": Object { "Ref": "autoconfigapiAPIobjects84BAEDAB", }, "RestApiId": Object { "Ref": "autoconfigapiAPI373CEEE7", }, }, "Type": "AWS::ApiGateway::Method", }, "autoconfigapiAPIobjectsOPTIONSE5BF1847": Object { "Properties": Object { "AuthorizationType": "NONE", "HttpMethod": "OPTIONS", "Integration": Object { "IntegrationResponses": Array [ Object { "ResponseParameters": Object { "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'", "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "StatusCode": "204", }, ], "RequestTemplates": Object { "application/json": "{ statusCode: 200 }", }, "Type": "MOCK", }, "MethodResponses": Array [ Object { "ResponseParameters": Object { "method.response.header.Access-Control-Allow-Headers": true, "method.response.header.Access-Control-Allow-Methods": true, "method.response.header.Access-Control-Allow-Origin": true, }, "StatusCode": "204", }, ], "ResourceId": Object { "Ref": "autoconfigapiAPIobjects84BAEDAB", }, "RestApiId": Object { "Ref": "autoconfigapiAPI373CEEE7", }, }, "Type": "AWS::ApiGateway::Method", }, "autoconfigapiAPIobjectsPOST469CD1A1": Object { "Properties": Object { "AuthorizationType": "AWS_IAM", "HttpMethod": "POST", "Integration": Object { "IntegrationHttpMethod": "POST", "Type": "AWS_PROXY", "Uri": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":apigateway:", Object { "Ref": "AWS::Region", }, ":lambda:path/2015-03-31/functions/", Object { "Fn::GetAtt": Array [ "autoconfigapiautoConfig13F74724", "Arn", ], }, "/invocations", ], ], }, }, "ResourceId": Object { "Ref": "autoconfigapiAPIobjects84BAEDAB", }, "RestApiId": Object { "Ref": "autoconfigapiAPI373CEEE7", }, }, "Type": "AWS::ApiGateway::Method", }, "autoconfigapiAPIobjectsPOSTApiPermissionMyTestStackautoconfigapiAPI2E3572E2POSTobjectsCAFEDEF3": Object { "Properties": Object { "Action": "lambda:InvokeFunction", "FunctionName": Object { "Fn::GetAtt": Array [ "autoconfigapiautoConfig13F74724", "Arn", ], }, "Principal": "apigateway.amazonaws.com", "SourceArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":execute-api:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":", Object { "Ref": "autoconfigapiAPI373CEEE7", }, "/", Object { "Ref": "autoconfigapiAPIDeploymentStageprod291BEEF2", }, "/POST/objects", ], ], }, }, "Type": "AWS::Lambda::Permission", }, "autoconfigapiAPIobjectsidDELETEApiPermissionMyTestStackautoconfigapiAPI2E3572E2DELETEobjectsid96AD7D68": Object { "Properties": Object { "Action": "lambda:InvokeFunction", "FunctionName": Object { "Fn::GetAtt": Array [ "autoconfigapiautoConfig13F74724", "Arn", ], }, "Principal": "apigateway.amazonaws.com", "SourceArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":execute-api:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":", Object { "Ref": "autoconfigapiAPI373CEEE7", }, "/", Object { "Ref": "autoconfigapiAPIDeploymentStageprod291BEEF2", }, "/DELETE/objects/*", ], ], }, }, "Type": "AWS::Lambda::Permission", }, "autoconfigapiAPIobjectsidDELETEBE572E18": Object { "Properties": Object { "AuthorizationType": "AWS_IAM", "HttpMethod": "DELETE", "Integration": Object { "IntegrationHttpMethod": "POST", "Type": "AWS_PROXY", "Uri": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":apigateway:", Object { "Ref": "AWS::Region", }, ":lambda:path/2015-03-31/functions/", Object { "Fn::GetAtt": Array [ "autoconfigapiautoConfig13F74724", "Arn", ], }, "/invocations", ], ], }, }, "ResourceId": Object { "Ref": "autoconfigapiAPIobjectsidE222F0A4", }, "RestApiId": Object { "Ref": "autoconfigapiAPI373CEEE7", }, }, "Type": "AWS::ApiGateway::Method", }, "autoconfigapiAPIobjectsidE222F0A4": Object { "Properties": Object { "ParentId": Object { "Ref": "autoconfigapiAPIobjects84BAEDAB", }, "PathPart": "{id}", "RestApiId": Object { "Ref": "autoconfigapiAPI373CEEE7", }, }, "Type": "AWS::ApiGateway::Resource", }, "autoconfigapiAPIobjectsidGET4D59E25D": Object { "Properties": Object { "AuthorizationType": "AWS_IAM", "HttpMethod": "GET", "Integration": Object { "IntegrationHttpMethod": "POST", "Type": "AWS_PROXY", "Uri": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":apigateway:", Object { "Ref": "AWS::Region", }, ":lambda:path/2015-03-31/functions/", Object { "Fn::GetAtt": Array [ "autoconfigapiautoConfig13F74724", "Arn", ], }, "/invocations", ], ], }, }, "ResourceId": Object { "Ref": "autoconfigapiAPIobjectsidE222F0A4", }, "RestApiId": Object { "Ref": "autoconfigapiAPI373CEEE7", }, }, "Type": "AWS::ApiGateway::Method", }, "autoconfigapiAPIobjectsidGETApiPermissionMyTestStackautoconfigapiAPI2E3572E2GETobjectsid6025EC28": Object { "Properties": Object { "Action": "lambda:InvokeFunction", "FunctionName": Object { "Fn::GetAtt": Array [ "autoconfigapiautoConfig13F74724", "Arn", ], }, "Principal": "apigateway.amazonaws.com", "SourceArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":execute-api:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":", Object { "Ref": "autoconfigapiAPI373CEEE7", }, "/", Object { "Ref": "autoconfigapiAPIDeploymentStageprod291BEEF2", }, "/GET/objects/*", ], ], }, }, "Type": "AWS::Lambda::Permission", }, "autoconfigapiAPIobjectsidOPTIONS95DFC6AF": Object { "Properties": Object { "AuthorizationType": "NONE", "HttpMethod": "OPTIONS", "Integration": Object { "IntegrationResponses": Array [ Object { "ResponseParameters": Object { "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'", "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "StatusCode": "204", }, ], "RequestTemplates": Object { "application/json": "{ statusCode: 200 }", }, "Type": "MOCK", }, "MethodResponses": Array [ Object { "ResponseParameters": Object { "method.response.header.Access-Control-Allow-Headers": true, "method.response.header.Access-Control-Allow-Methods": true, "method.response.header.Access-Control-Allow-Origin": true, }, "StatusCode": "204", }, ], "ResourceId": Object { "Ref": "autoconfigapiAPIobjectsidE222F0A4", }, "RestApiId": Object { "Ref": "autoconfigapiAPI373CEEE7", }, }, "Type": "AWS::ApiGateway::Method", }, "autoconfigapiAPIobjectsidPUT68EBBE80": Object { "Properties": Object { "AuthorizationType": "AWS_IAM", "HttpMethod": "PUT", "Integration": Object { "IntegrationHttpMethod": "POST", "Type": "AWS_PROXY", "Uri": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":apigateway:", Object { "Ref": "AWS::Region", }, ":lambda:path/2015-03-31/functions/", Object { "Fn::GetAtt": Array [ "autoconfigapiautoConfig13F74724", "Arn", ], }, "/invocations", ], ], }, }, "ResourceId": Object { "Ref": "autoconfigapiAPIobjectsidE222F0A4", }, "RestApiId": Object { "Ref": "autoconfigapiAPI373CEEE7", }, }, "Type": "AWS::ApiGateway::Method", }, "autoconfigapiAPIobjectsidPUTApiPermissionMyTestStackautoconfigapiAPI2E3572E2PUTobjectsid592E23B8": Object { "Properties": Object { "Action": "lambda:InvokeFunction", "FunctionName": Object { "Fn::GetAtt": Array [ "autoconfigapiautoConfig13F74724", "Arn", ], }, "Principal": "apigateway.amazonaws.com", "SourceArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":execute-api:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":", Object { "Ref": "autoconfigapiAPI373CEEE7", }, "/", Object { "Ref": "autoconfigapiAPIDeploymentStageprod291BEEF2", }, "/PUT/objects/*", ], ], }, }, "Type": "AWS::Lambda::Permission", }, "autoconfigapiAPIrulebundles4FAA7FE8": Object { "Properties": Object { "ParentId": Object { "Fn::GetAtt": Array [ "autoconfigapiAPI373CEEE7", "RootResourceId", ], }, "PathPart": "rulebundles", "RestApiId": Object { "Ref": "autoconfigapiAPI373CEEE7", }, }, "Type": "AWS::ApiGateway::Resource", }, "autoconfigapiAPIrulebundlesGETApiPermissionMyTestStackautoconfigapiAPI2E3572E2GETrulebundlesD3BD45D6": Object { "Properties": Object { "Action": "lambda:InvokeFunction", "FunctionName": Object { "Fn::GetAtt": Array [ "autoconfigapiautoConfig13F74724", "Arn", ], }, "Principal": "apigateway.amazonaws.com", "SourceArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":execute-api:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":", Object { "Ref": "autoconfigapiAPI373CEEE7", }, "/", Object { "Ref": "autoconfigapiAPIDeploymentStageprod291BEEF2", }, "/GET/rulebundles", ], ], }, }, "Type": "AWS::Lambda::Permission", }, "autoconfigapiAPIrulebundlesGETF0DBC5AB": Object { "Properties": Object { "AuthorizationType": "AWS_IAM", "HttpMethod": "GET", "Integration": Object { "IntegrationHttpMethod": "POST", "Type": "AWS_PROXY", "Uri": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":apigateway:", Object { "Ref": "AWS::Region", }, ":lambda:path/2015-03-31/functions/", Object { "Fn::GetAtt": Array [ "autoconfigapiautoConfig13F74724", "Arn", ], }, "/invocations", ], ], }, }, "ResourceId": Object { "Ref": "autoconfigapiAPIrulebundles4FAA7FE8", }, "RestApiId": Object { "Ref": "autoconfigapiAPI373CEEE7", }, }, "Type": "AWS::ApiGateway::Method", }, "autoconfigapiAPIrulebundlesOPTIONS25BF9971": Object { "Properties": Object { "AuthorizationType": "NONE", "HttpMethod": "OPTIONS", "Integration": Object { "IntegrationResponses": Array [ Object { "ResponseParameters": Object { "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'", "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "StatusCode": "204", }, ], "RequestTemplates": Object { "application/json": "{ statusCode: 200 }", }, "Type": "MOCK", }, "MethodResponses": Array [ Object { "ResponseParameters": Object { "method.response.header.Access-Control-Allow-Headers": true, "method.response.header.Access-Control-Allow-Methods": true, "method.response.header.Access-Control-Allow-Origin": true, }, "StatusCode": "204", }, ], "ResourceId": Object { "Ref": "autoconfigapiAPIrulebundles4FAA7FE8", }, "RestApiId": Object { "Ref": "autoconfigapiAPI373CEEE7", }, }, "Type": "AWS::ApiGateway::Method", }, "autoconfigapiAPIrulebundlesPOSTA17ADCD4": Object { "Properties": Object { "AuthorizationType": "AWS_IAM", "HttpMethod": "POST", "Integration": Object { "IntegrationHttpMethod": "POST", "Type": "AWS_PROXY", "Uri": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":apigateway:", Object { "Ref": "AWS::Region", }, ":lambda:path/2015-03-31/functions/", Object { "Fn::GetAtt": Array [ "autoconfigapiautoConfig13F74724", "Arn", ], }, "/invocations", ], ], }, }, "ResourceId": Object { "Ref": "autoconfigapiAPIrulebundles4FAA7FE8", }, "RestApiId": Object { "Ref": "autoconfigapiAPI373CEEE7", }, }, "Type": "AWS::ApiGateway::Method", }, "autoconfigapiAPIrulebundlesPOSTApiPermissionMyTestStackautoconfigapiAPI2E3572E2POSTrulebundles0C648C27": Object { "Properties": Object { "Action": "lambda:InvokeFunction", "FunctionName": Object { "Fn::GetAtt": Array [ "autoconfigapiautoConfig13F74724", "Arn", ], }, "Principal": "apigateway.amazonaws.com", "SourceArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":execute-api:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":", Object { "Ref": "autoconfigapiAPI373CEEE7", }, "/", Object { "Ref": "autoconfigapiAPIDeploymentStageprod291BEEF2", }, "/POST/rulebundles", ], ], }, }, "Type": "AWS::Lambda::Permission", }, "autoconfigapiAPIrulebundlesid6A1E18C6": Object { "Properties": Object { "ParentId": Object { "Ref": "autoconfigapiAPIrulebundles4FAA7FE8", }, "PathPart": "{id}", "RestApiId": Object { "Ref": "autoconfigapiAPI373CEEE7", }, }, "Type": "AWS::ApiGateway::Resource", }, "autoconfigapiAPIrulebundlesidDELETE3E34B751": Object { "Properties": Object { "AuthorizationType": "AWS_IAM", "HttpMethod": "DELETE", "Integration": Object { "IntegrationHttpMethod": "POST", "Type": "AWS_PROXY", "Uri": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":apigateway:", Object { "Ref": "AWS::Region", }, ":lambda:path/2015-03-31/functions/", Object { "Fn::GetAtt": Array [ "autoconfigapiautoConfig13F74724", "Arn", ], }, "/invocations", ], ], }, }, "ResourceId": Object { "Ref": "autoconfigapiAPIrulebundlesid6A1E18C6", }, "RestApiId": Object { "Ref": "autoconfigapiAPI373CEEE7", }, }, "Type": "AWS::ApiGateway::Method", }, "autoconfigapiAPIrulebundlesidDELETEApiPermissionMyTestStackautoconfigapiAPI2E3572E2DELETErulebundlesidF94191A0": Object { "Properties": Object { "Action": "lambda:InvokeFunction", "FunctionName": Object { "Fn::GetAtt": Array [ "autoconfigapiautoConfig13F74724", "Arn", ], }, "Principal": "apigateway.amazonaws.com", "SourceArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":execute-api:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":", Object { "Ref": "autoconfigapiAPI373CEEE7", }, "/", Object { "Ref": "autoconfigapiAPIDeploymentStageprod291BEEF2", }, "/DELETE/rulebundles/*", ], ], }, }, "Type": "AWS::Lambda::Permission", }, "autoconfigapiAPIrulebundlesidGET996A4D15": Object { "Properties": Object { "AuthorizationType": "AWS_IAM", "HttpMethod": "GET", "Integration": Object { "IntegrationHttpMethod": "POST", "Type": "AWS_PROXY", "Uri": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":apigateway:", Object { "Ref": "AWS::Region", }, ":lambda:path/2015-03-31/functions/", Object { "Fn::GetAtt": Array [ "autoconfigapiautoConfig13F74724", "Arn", ], }, "/invocations", ], ], }, }, "ResourceId": Object { "Ref": "autoconfigapiAPIrulebundlesid6A1E18C6", }, "RestApiId": Object { "Ref": "autoconfigapiAPI373CEEE7", }, }, "Type": "AWS::ApiGateway::Method", }, "autoconfigapiAPIrulebundlesidGETApiPermissionMyTestStackautoconfigapiAPI2E3572E2GETrulebundlesid710DA23F": Object { "Properties": Object { "Action": "lambda:InvokeFunction", "FunctionName": Object { "Fn::GetAtt": Array [ "autoconfigapiautoConfig13F74724", "Arn", ], }, "Principal": "apigateway.amazonaws.com", "SourceArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":execute-api:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":", Object { "Ref": "autoconfigapiAPI373CEEE7", }, "/", Object { "Ref": "autoconfigapiAPIDeploymentStageprod291BEEF2", }, "/GET/rulebundles/*", ], ], }, }, "Type": "AWS::Lambda::Permission", }, "autoconfigapiAPIrulebundlesidOPTIONS6324A884": Object { "Properties": Object { "AuthorizationType": "NONE", "HttpMethod": "OPTIONS", "Integration": Object { "IntegrationResponses": Array [ Object { "ResponseParameters": Object { "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'", "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "StatusCode": "204", }, ], "RequestTemplates": Object { "application/json": "{ statusCode: 200 }", }, "Type": "MOCK", }, "MethodResponses": Array [ Object { "ResponseParameters": Object { "method.response.header.Access-Control-Allow-Headers": true, "method.response.header.Access-Control-Allow-Methods": true, "method.response.header.Access-Control-Allow-Origin": true, }, "StatusCode": "204", }, ], "ResourceId": Object { "Ref": "autoconfigapiAPIrulebundlesid6A1E18C6", }, "RestApiId": Object { "Ref": "autoconfigapiAPI373CEEE7", }, }, "Type": "AWS::ApiGateway::Method", }, "autoconfigapiAPIrulebundlesidPUT6CA26AA3": Object { "Properties": Object { "AuthorizationType": "AWS_IAM", "HttpMethod": "PUT", "Integration": Object { "IntegrationHttpMethod": "POST", "Type": "AWS_PROXY", "Uri": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":apigateway:", Object { "Ref": "AWS::Region", }, ":lambda:path/2015-03-31/functions/", Object { "Fn::GetAtt": Array [ "autoconfigapiautoConfig13F74724", "Arn", ], }, "/invocations", ], ], }, }, "ResourceId": Object { "Ref": "autoconfigapiAPIrulebundlesid6A1E18C6", }, "RestApiId": Object { "Ref": "autoconfigapiAPI373CEEE7", }, }, "Type": "AWS::ApiGateway::Method", }, "autoconfigapiAPIrulebundlesidPUTApiPermissionMyTestStackautoconfigapiAPI2E3572E2PUTrulebundlesidB591C215": Object { "Properties": Object { "Action": "lambda:InvokeFunction", "FunctionName": Object { "Fn::GetAtt": Array [ "autoconfigapiautoConfig13F74724", "Arn", ], }, "Principal": "apigateway.amazonaws.com", "SourceArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":execute-api:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":", Object { "Ref": "autoconfigapiAPI373CEEE7", }, "/", Object { "Ref": "autoconfigapiAPIDeploymentStageprod291BEEF2", }, "/PUT/rulebundles/*", ], ], }, }, "Type": "AWS::Lambda::Permission", }, "autoconfigapiAPIrulebundlesidrules01D9743B": Object { "Properties": Object { "ParentId": Object { "Ref": "autoconfigapiAPIrulebundlesid6A1E18C6", }, "PathPart": "rules", "RestApiId": Object { "Ref": "autoconfigapiAPI373CEEE7", }, }, "Type": "AWS::ApiGateway::Resource", }, "autoconfigapiAPIrulebundlesidrulesGETApiPermissionMyTestStackautoconfigapiAPI2E3572E2GETrulebundlesidrulesF680772E": Object { "Properties": Object { "Action": "lambda:InvokeFunction", "FunctionName": Object { "Fn::GetAtt": Array [ "autoconfigapiautoConfig13F74724", "Arn", ], }, "Principal": "apigateway.amazonaws.com", "SourceArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":execute-api:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":", Object { "Ref": "autoconfigapiAPI373CEEE7", }, "/", Object { "Ref": "autoconfigapiAPIDeploymentStageprod291BEEF2", }, "/GET/rulebundles/*/rules", ], ], }, }, "Type": "AWS::Lambda::Permission", }, "autoconfigapiAPIrulebundlesidrulesGETBD86CD2C": Object { "Properties": Object { "AuthorizationType": "AWS_IAM", "HttpMethod": "GET", "Integration": Object { "IntegrationHttpMethod": "POST", "Type": "AWS_PROXY", "Uri": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":apigateway:", Object { "Ref": "AWS::Region", }, ":lambda:path/2015-03-31/functions/", Object { "Fn::GetAtt": Array [ "autoconfigapiautoConfig13F74724", "Arn", ], }, "/invocations", ], ], }, }, "ResourceId": Object { "Ref": "autoconfigapiAPIrulebundlesidrules01D9743B", }, "RestApiId": Object { "Ref": "autoconfigapiAPI373CEEE7", }, }, "Type": "AWS::ApiGateway::Method", }, "autoconfigapiAPIrulebundlesidrulesOPTIONSECCBF5EE": Object { "Properties": Object { "AuthorizationType": "NONE", "HttpMethod": "OPTIONS", "Integration": Object { "IntegrationResponses": Array [ Object { "ResponseParameters": Object { "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'", "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "StatusCode": "204", }, ], "RequestTemplates": Object { "application/json": "{ statusCode: 200 }", }, "Type": "MOCK", }, "MethodResponses": Array [ Object { "ResponseParameters": Object { "method.response.header.Access-Control-Allow-Headers": true, "method.response.header.Access-Control-Allow-Methods": true, "method.response.header.Access-Control-Allow-Origin": true, }, "StatusCode": "204", }, ], "ResourceId": Object { "Ref": "autoconfigapiAPIrulebundlesidrules01D9743B", }, "RestApiId": Object { "Ref": "autoconfigapiAPI373CEEE7", }, }, "Type": "AWS::ApiGateway::Method", }, "autoconfigapiAPIrulebundlesidrulesPOSTA02706B0": Object { "Properties": Object { "AuthorizationType": "AWS_IAM", "HttpMethod": "POST", "Integration": Object { "IntegrationHttpMethod": "POST", "Type": "AWS_PROXY", "Uri": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":apigateway:", Object { "Ref": "AWS::Region", }, ":lambda:path/2015-03-31/functions/", Object { "Fn::GetAtt": Array [ "autoconfigapiautoConfig13F74724", "Arn", ], }, "/invocations", ], ], }, }, "ResourceId": Object { "Ref": "autoconfigapiAPIrulebundlesidrules01D9743B", }, "RestApiId": Object { "Ref": "autoconfigapiAPI373CEEE7", }, }, "Type": "AWS::ApiGateway::Method", }, "autoconfigapiAPIrulebundlesidrulesPOSTApiPermissionMyTestStackautoconfigapiAPI2E3572E2POSTrulebundlesidrules077121CA": Object { "Properties": Object { "Action": "lambda:InvokeFunction", "FunctionName": Object { "Fn::GetAtt": Array [ "autoconfigapiautoConfig13F74724", "Arn", ], }, "Principal": "apigateway.amazonaws.com", "SourceArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":execute-api:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":", Object { "Ref": "autoconfigapiAPI373CEEE7", }, "/", Object { "Ref": "autoconfigapiAPIDeploymentStageprod291BEEF2", }, "/POST/rulebundles/*/rules", ], ], }, }, "Type": "AWS::Lambda::Permission", }, "autoconfigapiAPIrulebundlesidrulesruleId9AC1DF55": Object { "Properties": Object { "ParentId": Object { "Ref": "autoconfigapiAPIrulebundlesidrules01D9743B", }, "PathPart": "{ruleId}", "RestApiId": Object { "Ref": "autoconfigapiAPI373CEEE7", }, }, "Type": "AWS::ApiGateway::Resource", }, "autoconfigapiAPIrulebundlesidrulesruleIdDELETEApiPermissionMyTestStackautoconfigapiAPI2E3572E2DELETErulebundlesidrulesruleId48CAD358": Object { "Properties": Object { "Action": "lambda:InvokeFunction", "FunctionName": Object { "Fn::GetAtt": Array [ "autoconfigapiautoConfig13F74724", "Arn", ], }, "Principal": "apigateway.amazonaws.com", "SourceArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":execute-api:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":", Object { "Ref": "autoconfigapiAPI373CEEE7", }, "/", Object { "Ref": "autoconfigapiAPIDeploymentStageprod291BEEF2", }, "/DELETE/rulebundles/*/rules/*", ], ], }, }, "Type": "AWS::Lambda::Permission", }, "autoconfigapiAPIrulebundlesidrulesruleIdDELETEB6D51F5E": Object { "Properties": Object { "AuthorizationType": "AWS_IAM", "HttpMethod": "DELETE", "Integration": Object { "IntegrationHttpMethod": "POST", "Type": "AWS_PROXY", "Uri": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":apigateway:", Object { "Ref": "AWS::Region", }, ":lambda:path/2015-03-31/functions/", Object { "Fn::GetAtt": Array [ "autoconfigapiautoConfig13F74724", "Arn", ], }, "/invocations", ], ], }, }, "ResourceId": Object { "Ref": "autoconfigapiAPIrulebundlesidrulesruleId9AC1DF55", }, "RestApiId": Object { "Ref": "autoconfigapiAPI373CEEE7", }, }, "Type": "AWS::ApiGateway::Method", }, "autoconfigapiAPIrulebundlesidrulesruleIdGETApiPermissionMyTestStackautoconfigapiAPI2E3572E2GETrulebundlesidrulesruleId5E9217DA": Object { "Properties": Object { "Action": "lambda:InvokeFunction", "FunctionName": Object { "Fn::GetAtt": Array [ "autoconfigapiautoConfig13F74724", "Arn", ], }, "Principal": "apigateway.amazonaws.com", "SourceArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":execute-api:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":", Object { "Ref": "autoconfigapiAPI373CEEE7", }, "/", Object { "Ref": "autoconfigapiAPIDeploymentStageprod291BEEF2", }, "/GET/rulebundles/*/rules/*", ], ], }, }, "Type": "AWS::Lambda::Permission", }, "autoconfigapiAPIrulebundlesidrulesruleIdGETD301FF36": Object { "Properties": Object { "AuthorizationType": "AWS_IAM", "HttpMethod": "GET", "Integration": Object { "IntegrationHttpMethod": "POST", "Type": "AWS_PROXY", "Uri": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":apigateway:", Object { "Ref": "AWS::Region", }, ":lambda:path/2015-03-31/functions/", Object { "Fn::GetAtt": Array [ "autoconfigapiautoConfig13F74724", "Arn", ], }, "/invocations", ], ], }, }, "ResourceId": Object { "Ref": "autoconfigapiAPIrulebundlesidrulesruleId9AC1DF55", }, "RestApiId": Object { "Ref": "autoconfigapiAPI373CEEE7", }, }, "Type": "AWS::ApiGateway::Method", }, "autoconfigapiAPIrulebundlesidrulesruleIdOPTIONSEC62CF6B": Object { "Properties": Object { "AuthorizationType": "NONE", "HttpMethod": "OPTIONS", "Integration": Object { "IntegrationResponses": Array [ Object { "ResponseParameters": Object { "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'", "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "StatusCode": "204", }, ], "RequestTemplates": Object { "application/json": "{ statusCode: 200 }", }, "Type": "MOCK", }, "MethodResponses": Array [ Object { "ResponseParameters": Object { "method.response.header.Access-Control-Allow-Headers": true, "method.response.header.Access-Control-Allow-Methods": true, "method.response.header.Access-Control-Allow-Origin": true, }, "StatusCode": "204", }, ], "ResourceId": Object { "Ref": "autoconfigapiAPIrulebundlesidrulesruleId9AC1DF55", }, "RestApiId": Object { "Ref": "autoconfigapiAPI373CEEE7", }, }, "Type": "AWS::ApiGateway::Method", }, "autoconfigapiAPIrulebundlesidrulesruleIdPUTApiPermissionMyTestStackautoconfigapiAPI2E3572E2PUTrulebundlesidrulesruleIdC7494622": Object { "Properties": Object { "Action": "lambda:InvokeFunction", "FunctionName": Object { "Fn::GetAtt": Array [ "autoconfigapiautoConfig13F74724", "Arn", ], }, "Principal": "apigateway.amazonaws.com", "SourceArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":execute-api:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":", Object { "Ref": "autoconfigapiAPI373CEEE7", }, "/", Object { "Ref": "autoconfigapiAPIDeploymentStageprod291BEEF2", }, "/PUT/rulebundles/*/rules/*", ], ], }, }, "Type": "AWS::Lambda::Permission", }, "autoconfigapiAPIrulebundlesidrulesruleIdPUTE81C53E8": Object { "Properties": Object { "AuthorizationType": "AWS_IAM", "HttpMethod": "PUT", "Integration": Object { "IntegrationHttpMethod": "POST", "Type": "AWS_PROXY", "Uri": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":apigateway:", Object { "Ref": "AWS::Region", }, ":lambda:path/2015-03-31/functions/", Object { "Fn::GetAtt": Array [ "autoconfigapiautoConfig13F74724", "Arn", ], }, "/invocations", ], ], }, }, "ResourceId": Object { "Ref": "autoconfigapiAPIrulebundlesidrulesruleId9AC1DF55", }, "RestApiId": Object { "Ref": "autoconfigapiAPI373CEEE7", }, }, "Type": "AWS::ApiGateway::Method", }, "autoconfigapiApiGatewayAccessLogs94F3AB07": Object { "DeletionPolicy": "Retain", "Properties": Object { "KmsKeyId": Object { "Fn::GetAtt": Array [ "autoconfigapiVpcFlowLogsKeyDE2F82C3", "Arn", ], }, "RetentionInDays": 731, "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], }, "Type": "AWS::Logs::LogGroup", "UpdateReplacePolicy": "Retain", }, "autoconfigapiExecutionRole3A140D76": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "Description": "Lambda execution role for function", "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", ], ], }, Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole", ], ], }, ], "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], }, "Type": "AWS::IAM::Role", }, "autoconfigapiExecutionRoleDefaultPolicyAC210897": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "network-firewall:ListRuleGroups", "network-firewall:DescribeRuleGroup", "network-firewall:UpdateRuleGroup", ], "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:aws:network-firewall:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":stateful-rulegroup/default-anfwconfig-rule-*", ], ], }, }, Object { "Action": Array [ "config:SelectAggregateResourceConfig", "config:DescribeConfigurationAggregators", ], "Effect": "Allow", "Resource": "*", }, Object { "Action": "sqs:SendMessage", "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "autoconfigapiapiFunctionDLQ0A903B94", "Arn", ], }, }, Object { "Action": Array [ "xray:PutTraceSegments", "xray:PutTelemetryRecords", ], "Effect": "Allow", "Resource": "*", }, Object { "Action": Array [ "dynamodb:BatchGetItem", "dynamodb:GetRecords", "dynamodb:GetShardIterator", "dynamodb:Query", "dynamodb:GetItem", "dynamodb:Scan", "dynamodb:ConditionCheckItem", "dynamodb:BatchWriteItem", "dynamodb:PutItem", "dynamodb:UpdateItem", "dynamodb:DeleteItem", "dynamodb:DescribeTable", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "DataSourcesObjectsTable3C1B7D58", "Arn", ], }, Object { "Ref": "AWS::NoValue", }, ], }, Object { "Action": Array [ "kms:Decrypt", "kms:DescribeKey", "kms:Encrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", ], "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "DataSourcesautoconfigencryptionkey7C2C5A00", "Arn", ], }, }, Object { "Action": Array [ "dynamodb:BatchGetItem", "dynamodb:GetRecords", "dynamodb:GetShardIterator", "dynamodb:Query", "dynamodb:GetItem", "dynamodb:Scan", "dynamodb:ConditionCheckItem", "dynamodb:BatchWriteItem", "dynamodb:PutItem", "dynamodb:UpdateItem", "dynamodb:DeleteItem", "dynamodb:DescribeTable", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "DataSourcesRuleBundlesTableEC40370C", "Arn", ], }, Object { "Ref": "AWS::NoValue", }, ], }, Object { "Action": Array [ "dynamodb:BatchGetItem", "dynamodb:GetRecords", "dynamodb:GetShardIterator", "dynamodb:Query", "dynamodb:GetItem", "dynamodb:Scan", "dynamodb:ConditionCheckItem", "dynamodb:BatchWriteItem", "dynamodb:PutItem", "dynamodb:UpdateItem", "dynamodb:DeleteItem", "dynamodb:DescribeTable", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "DataSourcesRulesTable1F07B779", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "DataSourcesRulesTable1F07B779", "Arn", ], }, "/index/*", ], ], }, ], }, Object { "Action": Array [ "dynamodb:BatchGetItem", "dynamodb:GetRecords", "dynamodb:GetShardIterator", "dynamodb:Query", "dynamodb:GetItem", "dynamodb:Scan", "dynamodb:ConditionCheckItem", "dynamodb:BatchWriteItem", "dynamodb:PutItem", "dynamodb:UpdateItem", "dynamodb:DeleteItem", "dynamodb:DescribeTable", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "DataSourcesAuditsTable1F631F88", "Arn", ], }, Object { "Ref": "AWS::NoValue", }, ], }, Object { "Action": Array [ "kms:Decrypt", "kms:DescribeKey", "kms:Encrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", ], "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "DataSourcesautoconfigauditencryptionkey24E060F0", "Arn", ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "autoconfigapiExecutionRoleDefaultPolicyAC210897", "Roles": Array [ Object { "Ref": "autoconfigapiExecutionRole3A140D76", }, ], }, "Type": "AWS::IAM::Policy", }, "autoconfigapiSecurityGroup842A12D5": Object { "Properties": Object { "GroupDescription": "Security group for fire fly Lambda Function MyTestStackautoconfigapiCA3C19D7", "SecurityGroupEgress": Array [ Object { "CidrIp": "0.0.0.0/0", "Description": "Allow all outbound traffic by default", "IpProtocol": "-1", }, ], "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], "VpcId": Object { "Ref": "networkobjectextensionVpcB3285E3D", }, }, "Type": "AWS::EC2::SecurityGroup", }, "autoconfigapiVpcFlowLogsKeyDE2F82C3": Object { "DeletionPolicy": "Delete", "Properties": Object { "EnableKeyRotation": true, "KeyPolicy": Object { "Statement": Array [ Object { "Action": "kms:*", "Effect": "Allow", "Principal": Object { "AWS": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::", Object { "Ref": "AWS::AccountId", }, ":root", ], ], }, }, "Resource": "*", }, Object { "Action": Array [ "kms:ReEncrypt", "kms:GenerateDataKey", "kms:Encrypt", "kms:DescribeKey", "kms:Decrypt", ], "Effect": "Allow", "Principal": Object { "Service": Object { "Fn::Join": Array [ "", Array [ "logs.", Object { "Ref": "AWS::Region", }, ".amazonaws.com", ], ], }, }, "Resource": "*", "Sid": "Allow Access Logs to use the key", }, ], "Version": "2012-10-17", }, "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], }, "Type": "AWS::KMS::Key", "UpdateReplacePolicy": "Delete", }, "autoconfigapiapiFunctionDLQ0A903B94": Object { "DeletionPolicy": "Delete", "Properties": Object { "KmsMasterKeyId": "alias/aws/sqs", "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], }, "Type": "AWS::SQS::Queue", "UpdateReplacePolicy": "Delete", }, "autoconfigapiapiadminrole61E8F682": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "AWS": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::", Object { "Ref": "AWS::AccountId", }, ":root", ], ], }, }, }, ], "Version": "2012-10-17", }, "RoleName": Object { "Fn::Join": Array [ "", Array [ "ObjectExtensionSecOpsAdminRole-", Object { "Ref": "AWS::Region", }, ], ], }, "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], }, "Type": "AWS::IAM::Role", }, "autoconfigapiapiadminroleDefaultPolicy9D264F5A": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": "execute-api:Invoke", "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:aws:execute-api:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":", Object { "Ref": "autoconfigapiAPI373CEEE7", }, "/*/*/*", ], ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "autoconfigapiapiadminroleDefaultPolicy9D264F5A", "Roles": Array [ Object { "Ref": "autoconfigapiapiadminrole61E8F682", }, ], }, "Type": "AWS::IAM::Policy", }, "autoconfigapiapiappownerrole851CB441": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "AWS": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::", Object { "Ref": "AWS::AccountId", }, ":root", ], ], }, }, }, ], "Version": "2012-10-17", }, "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], }, "Type": "AWS::IAM::Role", }, "autoconfigapiapigwvpcendpointsgD9540BF3": Object { "Properties": Object { "GroupDescription": "MyTestStack/auto-config-api/apigw-vpc-endpoint-sg", "SecurityGroupEgress": Array [ Object { "CidrIp": Object { "Fn::GetAtt": Array [ "networkobjectextensionVpcB3285E3D", "CidrBlock", ], }, "Description": Object { "Fn::Join": Array [ "", Array [ "from ", Object { "Fn::GetAtt": Array [ "networkobjectextensionVpcB3285E3D", "CidrBlock", ], }, ":443", ], ], }, "FromPort": 443, "IpProtocol": "tcp", "ToPort": 443, }, ], "SecurityGroupIngress": Array [ Object { "CidrIp": Object { "Fn::GetAtt": Array [ "networkobjectextensionVpcB3285E3D", "CidrBlock", ], }, "Description": Object { "Fn::Join": Array [ "", Array [ "from ", Object { "Fn::GetAtt": Array [ "networkobjectextensionVpcB3285E3D", "CidrBlock", ], }, ":443", ], ], }, "FromPort": 443, "IpProtocol": "tcp", "ToPort": 443, }, ], "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], "VpcId": Object { "Ref": "networkobjectextensionVpcB3285E3D", }, }, "Type": "AWS::EC2::SecurityGroup", }, "autoconfigapiapivpcendpointA8A984B6": Object { "Properties": Object { "PrivateDnsEnabled": true, "SecurityGroupIds": Array [ Object { "Fn::GetAtt": Array [ "autoconfigapiapigwvpcendpointsgD9540BF3", "GroupId", ], }, ], "ServiceName": Object { "Fn::Join": Array [ "", Array [ "com.amazonaws.", Object { "Ref": "AWS::Region", }, ".execute-api", ], ], }, "SubnetIds": Array [ Object { "Ref": "networkobjectextensionVpcPrivateSubnetASubnet1SubnetE5FAF545", }, Object { "Ref": "networkobjectextensionVpcPrivateSubnetASubnet2SubnetCEA49EBF", }, ], "VpcEndpointType": "Interface", "VpcId": Object { "Ref": "networkobjectextensionVpcB3285E3D", }, }, "Type": "AWS::EC2::VPCEndpoint", }, "autoconfigapiautoConfig13F74724": Object { "DependsOn": Array [ "autoconfigapiExecutionRoleDefaultPolicyAC210897", "autoconfigapiExecutionRole3A140D76", "networkobjectextensionVpcPrivateSubnetASubnet1DefaultRouteD53AF693", "networkobjectextensionVpcPrivateSubnetASubnet1RouteTableAssociation4919BA17", "networkobjectextensionVpcPrivateSubnetASubnet2DefaultRoute68DC2904", "networkobjectextensionVpcPrivateSubnetASubnet2RouteTableAssociationDC02E6FE", ], "Properties": Object { "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "50d58b23a05b87dad777f48eaec9c3b63ac2c78485bc99ce1bc52ff2dbb4bb4b.zip", }, "DeadLetterConfig": Object { "TargetArn": Object { "Fn::GetAtt": Array [ "autoconfigapiapiFunctionDLQ0A903B94", "Arn", ], }, }, "Environment": Object { "Variables": Object { "ADMINISTRATOR_ROLE": Object { "Fn::GetAtt": Array [ "autoconfigapiapiadminrole61E8F682", "Arn", ], }, "APPLICATION_OWNER_ROLES": Object { "Fn::GetAtt": Array [ "autoconfigapiapiappownerrole851CB441", "Arn", ], }, "AUDITS_TABLE_NAME": Object { "Ref": "DataSourcesAuditsTable1F631F88", }, "CROSS_ACCOUNT_ANFW_ROLE": "", "CROSS_ACCOUNT_CONFIG_ROLE": "", "DEFAULT_AGGREGATOR_NAME": "org-replicator", "LOGLEVEL": "DEBUG", "OBJECTS_TABLE_NAME": Object { "Ref": "DataSourcesObjectsTable3C1B7D58", }, "OPA_POLICY_LIST": "forbidden_cross_object_reference,forbidden_create_modify_deny_rules_for_non_admin", "RULEBUNDLES_TABLE_NAME": Object { "Ref": "DataSourcesRuleBundlesTableEC40370C", }, "RULES_TABLE_NAME": Object { "Ref": "DataSourcesRulesTable1F07B779", }, "SOLUTION_ID": "solution-id", "VERSION": "1.1.0", }, }, "Handler": "app.lambdaHandler", "MemorySize": 3008, "Role": Object { "Fn::GetAtt": Array [ "autoconfigapiExecutionRole3A140D76", "Arn", ], }, "Runtime": "nodejs14.x", "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], "Timeout": 30, "TracingConfig": Object { "Mode": "Active", }, "VpcConfig": Object { "SecurityGroupIds": Array [ Object { "Fn::GetAtt": Array [ "autoconfigapiSecurityGroup842A12D5", "GroupId", ], }, ], "SubnetIds": Array [ Object { "Ref": "networkobjectextensionVpcPrivateSubnetASubnet1SubnetE5FAF545", }, Object { "Ref": "networkobjectextensionVpcPrivateSubnetASubnet2SubnetCEA49EBF", }, ], }, }, "Type": "AWS::Lambda::Function", }, "autoconfigapidashboardErrorAlarm8021A608": Object { "Properties": Object { "AlarmActions": Array [ Object { "Ref": "DataSourcesRuleEvaluationResultTopic5273BF75", }, ], "AlarmDescription": "Too many error on scheduler", "ComparisonOperator": "GreaterThanThreshold", "Dimensions": Array [ Object { "Name": "FunctionName", "Value": Object { "Ref": "autoconfigautoConfigSchedulerE6836502", }, }, ], "EvaluationPeriods": 2, "MetricName": "Errors", "Namespace": "AWS/Lambda", "Period": 600, "Statistic": "Sum", "Threshold": 1, }, "Type": "AWS::CloudWatch::Alarm", }, "autoconfigapidashboardNonInvocationAlarm2EB527F3": Object { "Properties": Object { "AlarmActions": Array [ Object { "Ref": "DataSourcesRuleEvaluationResultTopic5273BF75", }, ], "ComparisonOperator": "LessThanThreshold", "Dimensions": Array [ Object { "Name": "FunctionName", "Value": Object { "Ref": "autoconfigautoConfigSchedulerE6836502", }, }, ], "EvaluationPeriods": 1, "MetricName": "Invocations", "Namespace": "AWS/Lambda", "Period": 3600, "Statistic": "Sum", "Threshold": 1, }, "Type": "AWS::CloudWatch::Alarm", }, "autoconfigapidashboardservicedashboardautoconfigapidashboard7667462E": Object { "Properties": Object { "DashboardBody": Object { "Fn::Join": Array [ "", Array [ "{\\"widgets\\":[{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":6,\\"x\\":0,\\"y\\":0,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"API Invocation\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ApiGateway\\",\\"Count\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"GET\\",\\"Resource\\",\\"/audits\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"GET /audits\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApiGateway\\",\\"Count\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"POST\\",\\"Resource\\",\\"/objects\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"POST /objects\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApiGateway\\",\\"Count\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"GET\\",\\"Resource\\",\\"/objects\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"GET /objects\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApiGateway\\",\\"Count\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"GET\\",\\"Resource\\",\\"/objects/{id}\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"GET /objects/{id}\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApiGateway\\",\\"Count\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"PUT\\",\\"Resource\\",\\"/objects/{id}\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"PUT /objects/{id}\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApiGateway\\",\\"Count\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"POST\\",\\"Resource\\",\\"/rulebundles\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"POST /rulebundles\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApiGateway\\",\\"Count\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"GET\\",\\"Resource\\",\\"/rulebundles\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"GET /rulebundles\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApiGateway\\",\\"Count\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"PUT\\",\\"Resource\\",\\"/rulebundles/{id}\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"PUT /rulebundles/{id}\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApiGateway\\",\\"Count\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"GET\\",\\"Resource\\",\\"/rulebundles/{id}\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"GET /rulebundles/{id}\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApiGateway\\",\\"Count\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"POST\\",\\"Resource\\",\\"/rulebundles/{id}/rules\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"POST /rulebundles/{id}/rules\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApiGateway\\",\\"Count\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"GET\\",\\"Resource\\",\\"/rulebundles/{id}/rules\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"GET /rulebundles/{id}/rules\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApiGateway\\",\\"Count\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"GET\\",\\"Resource\\",\\"/rulebundles/{id}/rules/{ruleId}\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"GET /rulebundles/{id}/rules/{ruleId}\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApiGateway\\",\\"Count\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"PUT\\",\\"Resource\\",\\"/rulebundles/{id}/rules/{ruleId}\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"PUT /rulebundles/{id}/rules/{ruleId}\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApiGateway\\",\\"Count\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"DELETE\\",\\"Resource\\",\\"/rulebundles/{id}/rules/{ruleId}\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"DELETE /rulebundles/{id}/rules/{ruleId}\\",\\"stat\\":\\"Sum\\"}]],\\"yAxis\\":{\\"left\\":{},\\"right\\":{}},\\"liveData\\":true}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":6,\\"x\\":6,\\"y\\":0,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"API Latency\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ApiGateway\\",\\"Latency\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"GET\\",\\"Resource\\",\\"/audits\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"GET /audits\\"}],[\\"AWS/ApiGateway\\",\\"Latency\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"POST\\",\\"Resource\\",\\"/objects\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"POST /objects\\"}],[\\"AWS/ApiGateway\\",\\"Latency\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"GET\\",\\"Resource\\",\\"/objects\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"GET /objects\\"}],[\\"AWS/ApiGateway\\",\\"Latency\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"GET\\",\\"Resource\\",\\"/objects/{id}\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"GET /objects/{id}\\"}],[\\"AWS/ApiGateway\\",\\"Latency\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"PUT\\",\\"Resource\\",\\"/objects/{id}\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"PUT /objects/{id}\\"}],[\\"AWS/ApiGateway\\",\\"Latency\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"POST\\",\\"Resource\\",\\"/rulebundles\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"POST /rulebundles\\"}],[\\"AWS/ApiGateway\\",\\"Latency\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"GET\\",\\"Resource\\",\\"/rulebundles\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"GET /rulebundles\\"}],[\\"AWS/ApiGateway\\",\\"Latency\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"PUT\\",\\"Resource\\",\\"/rulebundles/{id}\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"PUT /rulebundles/{id}\\"}],[\\"AWS/ApiGateway\\",\\"Latency\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"GET\\",\\"Resource\\",\\"/rulebundles/{id}\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"GET /rulebundles/{id}\\"}],[\\"AWS/ApiGateway\\",\\"Latency\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"POST\\",\\"Resource\\",\\"/rulebundles/{id}/rules\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"POST /rulebundles/{id}/rules\\"}],[\\"AWS/ApiGateway\\",\\"Latency\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"GET\\",\\"Resource\\",\\"/rulebundles/{id}/rules\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"GET /rulebundles/{id}/rules\\"}],[\\"AWS/ApiGateway\\",\\"Latency\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"GET\\",\\"Resource\\",\\"/rulebundles/{id}/rules/{ruleId}\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"GET /rulebundles/{id}/rules/{ruleId}\\"}],[\\"AWS/ApiGateway\\",\\"Latency\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"PUT\\",\\"Resource\\",\\"/rulebundles/{id}/rules/{ruleId}\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"PUT /rulebundles/{id}/rules/{ruleId}\\"}],[\\"AWS/ApiGateway\\",\\"Latency\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"DELETE\\",\\"Resource\\",\\"/rulebundles/{id}/rules/{ruleId}\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"DELETE /rulebundles/{id}/rules/{ruleId}\\"}]],\\"yAxis\\":{\\"left\\":{},\\"right\\":{}},\\"liveData\\":true}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":6,\\"x\\":12,\\"y\\":0,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"API Errors\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/ApiGateway\\",\\"4XXError\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"GET\\",\\"Resource\\",\\"/audits\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"GET /audits\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApiGateway\\",\\"4XXError\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"POST\\",\\"Resource\\",\\"/objects\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"POST /objects\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApiGateway\\",\\"4XXError\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"GET\\",\\"Resource\\",\\"/objects\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"GET /objects\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApiGateway\\",\\"4XXError\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"GET\\",\\"Resource\\",\\"/objects/{id}\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"GET /objects/{id}\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApiGateway\\",\\"4XXError\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"PUT\\",\\"Resource\\",\\"/objects/{id}\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"PUT /objects/{id}\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApiGateway\\",\\"4XXError\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"POST\\",\\"Resource\\",\\"/rulebundles\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"POST /rulebundles\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApiGateway\\",\\"4XXError\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"GET\\",\\"Resource\\",\\"/rulebundles\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"GET /rulebundles\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApiGateway\\",\\"4XXError\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"PUT\\",\\"Resource\\",\\"/rulebundles/{id}\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"PUT /rulebundles/{id}\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApiGateway\\",\\"4XXError\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"GET\\",\\"Resource\\",\\"/rulebundles/{id}\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"GET /rulebundles/{id}\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApiGateway\\",\\"4XXError\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"POST\\",\\"Resource\\",\\"/rulebundles/{id}/rules\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"POST /rulebundles/{id}/rules\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApiGateway\\",\\"4XXError\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"GET\\",\\"Resource\\",\\"/rulebundles/{id}/rules\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"GET /rulebundles/{id}/rules\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApiGateway\\",\\"4XXError\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"GET\\",\\"Resource\\",\\"/rulebundles/{id}/rules/{ruleId}\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"GET /rulebundles/{id}/rules/{ruleId}\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApiGateway\\",\\"4XXError\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"PUT\\",\\"Resource\\",\\"/rulebundles/{id}/rules/{ruleId}\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"PUT /rulebundles/{id}/rules/{ruleId}\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApiGateway\\",\\"4XXError\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"DELETE\\",\\"Resource\\",\\"/rulebundles/{id}/rules/{ruleId}\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"DELETE /rulebundles/{id}/rules/{ruleId}\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApiGateway\\",\\"5XXError\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"GET\\",\\"Resource\\",\\"/audits\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"GET /audits\\",\\"stat\\":\\"Sum\\",\\"yAxis\\":\\"right\\"}],[\\"AWS/ApiGateway\\",\\"5XXError\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"POST\\",\\"Resource\\",\\"/objects\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"POST /objects\\",\\"stat\\":\\"Sum\\",\\"yAxis\\":\\"right\\"}],[\\"AWS/ApiGateway\\",\\"5XXError\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"GET\\",\\"Resource\\",\\"/objects\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"GET /objects\\",\\"stat\\":\\"Sum\\",\\"yAxis\\":\\"right\\"}],[\\"AWS/ApiGateway\\",\\"5XXError\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"GET\\",\\"Resource\\",\\"/objects/{id}\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"GET /objects/{id}\\",\\"stat\\":\\"Sum\\",\\"yAxis\\":\\"right\\"}],[\\"AWS/ApiGateway\\",\\"5XXError\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"PUT\\",\\"Resource\\",\\"/objects/{id}\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"PUT /objects/{id}\\",\\"stat\\":\\"Sum\\",\\"yAxis\\":\\"right\\"}],[\\"AWS/ApiGateway\\",\\"5XXError\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"POST\\",\\"Resource\\",\\"/rulebundles\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"POST /rulebundles\\",\\"stat\\":\\"Sum\\",\\"yAxis\\":\\"right\\"}],[\\"AWS/ApiGateway\\",\\"5XXError\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"GET\\",\\"Resource\\",\\"/rulebundles\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"GET /rulebundles\\",\\"stat\\":\\"Sum\\",\\"yAxis\\":\\"right\\"}],[\\"AWS/ApiGateway\\",\\"5XXError\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"PUT\\",\\"Resource\\",\\"/rulebundles/{id}\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"PUT /rulebundles/{id}\\",\\"stat\\":\\"Sum\\",\\"yAxis\\":\\"right\\"}],[\\"AWS/ApiGateway\\",\\"5XXError\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"GET\\",\\"Resource\\",\\"/rulebundles/{id}\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"GET /rulebundles/{id}\\",\\"stat\\":\\"Sum\\",\\"yAxis\\":\\"right\\"}],[\\"AWS/ApiGateway\\",\\"5XXError\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"POST\\",\\"Resource\\",\\"/rulebundles/{id}/rules\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"POST /rulebundles/{id}/rules\\",\\"stat\\":\\"Sum\\",\\"yAxis\\":\\"right\\"}],[\\"AWS/ApiGateway\\",\\"5XXError\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"GET\\",\\"Resource\\",\\"/rulebundles/{id}/rules\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"GET /rulebundles/{id}/rules\\",\\"stat\\":\\"Sum\\",\\"yAxis\\":\\"right\\"}],[\\"AWS/ApiGateway\\",\\"5XXError\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"GET\\",\\"Resource\\",\\"/rulebundles/{id}/rules/{ruleId}\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"GET /rulebundles/{id}/rules/{ruleId}\\",\\"stat\\":\\"Sum\\",\\"yAxis\\":\\"right\\"}],[\\"AWS/ApiGateway\\",\\"5XXError\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"PUT\\",\\"Resource\\",\\"/rulebundles/{id}/rules/{ruleId}\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"PUT /rulebundles/{id}/rules/{ruleId}\\",\\"stat\\":\\"Sum\\",\\"yAxis\\":\\"right\\"}],[\\"AWS/ApiGateway\\",\\"5XXError\\",\\"ApiName\\",\\"NetworkFirewallObjectExtension-API\\",\\"Method\\",\\"DELETE\\",\\"Resource\\",\\"/rulebundles/{id}/rules/{ruleId}\\",\\"Stage\\",\\"prod\\",{\\"label\\":\\"DELETE /rulebundles/{id}/rules/{ruleId}\\",\\"stat\\":\\"Sum\\",\\"yAxis\\":\\"right\\"}]],\\"yAxis\\":{\\"left\\":{\\"label\\":\\"4XX Errors\\"},\\"right\\":{\\"label\\":\\"5XX Errors\\"}},\\"liveData\\":true}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":6,\\"x\\":0,\\"y\\":6,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"firewall-object-rule-api - Duration\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/Lambda\\",\\"Duration\\",\\"FunctionName\\",\\"", Object { "Ref": "autoconfigapiautoConfig13F74724", }, "\\",{\\"label\\":\\"Minimum\\",\\"stat\\":\\"Minimum\\"}],[\\"AWS/Lambda\\",\\"Duration\\",\\"FunctionName\\",\\"", Object { "Ref": "autoconfigapiautoConfig13F74724", }, "\\",{\\"label\\":\\"Maximum\\",\\"stat\\":\\"Maximum\\"}],[\\"AWS/Lambda\\",\\"Duration\\",\\"FunctionName\\",\\"", Object { "Ref": "autoconfigapiautoConfig13F74724", }, "\\",{\\"label\\":\\"Average\\"}]],\\"yAxis\\":{},\\"liveData\\":true}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":6,\\"x\\":6,\\"y\\":6,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"firewall-object-rule-api - Success Rate\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[{\\"label\\":\\"Success rate\\",\\"expression\\":\\"100 - 100 * errors / MAX([errors, invocations])\\"}],[\\"AWS/Lambda\\",\\"Errors\\",\\"FunctionName\\",\\"", Object { "Ref": "autoconfigapiautoConfig13F74724", }, "\\",{\\"label\\":\\"Error\\",\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"errors\\"}],[\\"AWS/Lambda\\",\\"Invocations\\",\\"FunctionName\\",\\"", Object { "Ref": "autoconfigapiautoConfig13F74724", }, "\\",{\\"label\\":\\"Invocations\\",\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"invocations\\"}]],\\"yAxis\\":{\\"left\\":{\\"max\\":100,\\"min\\":0,\\"label\\":\\"Percent\\",\\"showUnits\\":false}},\\"liveData\\":true}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":6,\\"x\\":12,\\"y\\":6,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"firewall-object-rule-scheduler - Duration\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/Lambda\\",\\"Duration\\",\\"FunctionName\\",\\"", Object { "Ref": "autoconfigautoConfigSchedulerE6836502", }, "\\",{\\"label\\":\\"Minimum\\",\\"stat\\":\\"Minimum\\"}],[\\"AWS/Lambda\\",\\"Duration\\",\\"FunctionName\\",\\"", Object { "Ref": "autoconfigautoConfigSchedulerE6836502", }, "\\",{\\"label\\":\\"Maximum\\",\\"stat\\":\\"Maximum\\"}],[\\"AWS/Lambda\\",\\"Duration\\",\\"FunctionName\\",\\"", Object { "Ref": "autoconfigautoConfigSchedulerE6836502", }, "\\",{\\"label\\":\\"Average\\"}]],\\"yAxis\\":{},\\"liveData\\":true}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":6,\\"x\\":18,\\"y\\":6,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"firewall-object-rule-scheduler - Success Rate\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[{\\"label\\":\\"Success rate\\",\\"expression\\":\\"100 - 100 * errors / MAX([errors, invocations])\\"}],[\\"AWS/Lambda\\",\\"Errors\\",\\"FunctionName\\",\\"", Object { "Ref": "autoconfigautoConfigSchedulerE6836502", }, "\\",{\\"label\\":\\"Error\\",\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"errors\\"}],[\\"AWS/Lambda\\",\\"Invocations\\",\\"FunctionName\\",\\"", Object { "Ref": "autoconfigautoConfigSchedulerE6836502", }, "\\",{\\"label\\":\\"Invocations\\",\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"invocations\\"}]],\\"yAxis\\":{\\"left\\":{\\"max\\":100,\\"min\\":0,\\"label\\":\\"Percent\\",\\"showUnits\\":false}},\\"liveData\\":true}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":6,\\"x\\":0,\\"y\\":12,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Objects - Capacity\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/DynamoDB\\",\\"ProvisionedReadCapacityUnits\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesObjectsTable3C1B7D58", }, "\\",{\\"label\\":\\"Provisioned Read\\"}],[\\"AWS/DynamoDB\\",\\"ConsumedReadCapacityUnits\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesObjectsTable3C1B7D58", }, "\\",{\\"label\\":\\"Consumed Read\\"}],[\\"AWS/DynamoDB\\",\\"ProvisionedWriteCapacityUnits\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesObjectsTable3C1B7D58", }, "\\",{\\"label\\":\\"Provisioned Read\\"}],[\\"AWS/DynamoDB\\",\\"ConsumedWriteCapacityUnits\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesObjectsTable3C1B7D58", }, "\\",{\\"label\\":\\"Consumed Read\\"}]],\\"yAxis\\":{},\\"liveData\\":true}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":6,\\"x\\":6,\\"y\\":12,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Objects - Latency\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/DynamoDB\\",\\"SuccessfulRequestLatency\\",\\"Operation\\",\\"GetItem\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesObjectsTable3C1B7D58", }, "\\",{\\"label\\":\\"Get Latency\\"}],[\\"AWS/DynamoDB\\",\\"SuccessfulRequestLatency\\",\\"Operation\\",\\"PutItem\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesObjectsTable3C1B7D58", }, "\\",{\\"label\\":\\"Put Latency\\"}],[\\"AWS/DynamoDB\\",\\"SuccessfulRequestLatency\\",\\"Operation\\",\\"Scan\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesObjectsTable3C1B7D58", }, "\\",{\\"label\\":\\"Scan Latency\\"}],[\\"AWS/DynamoDB\\",\\"SuccessfulRequestLatency\\",\\"Operation\\",\\"Query\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesObjectsTable3C1B7D58", }, "\\",{\\"label\\":\\"Query Latency\\"}]],\\"yAxis\\":{},\\"liveData\\":true}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":6,\\"x\\":12,\\"y\\":12,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Objects - Errors\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/DynamoDB\\",\\"SystemErrors\\",\\"Operation\\",\\"GetItem\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesObjectsTable3C1B7D58", }, "\\",{\\"label\\":\\"Get\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/DynamoDB\\",\\"SystemErrors\\",\\"Operation\\",\\"BatchGetItem\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesObjectsTable3C1B7D58", }, "\\",{\\"label\\":\\"Batch Get\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/DynamoDB\\",\\"SystemErrors\\",\\"Operation\\",\\"Scan\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesObjectsTable3C1B7D58", }, "\\",{\\"label\\":\\"Scan\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/DynamoDB\\",\\"SystemErrors\\",\\"Operation\\",\\"Query\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesObjectsTable3C1B7D58", }, "\\",{\\"label\\":\\"Query\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/DynamoDB\\",\\"SystemErrors\\",\\"Operation\\",\\"PutItem\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesObjectsTable3C1B7D58", }, "\\",{\\"label\\":\\"Put\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/DynamoDB\\",\\"SystemErrors\\",\\"Operation\\",\\"BatchWriteItem\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesObjectsTable3C1B7D58", }, "\\",{\\"label\\":\\"Batch Write\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/DynamoDB\\",\\"SystemErrors\\",\\"Operation\\",\\"UpdateItem\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesObjectsTable3C1B7D58", }, "\\",{\\"label\\":\\"Update\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/DynamoDB\\",\\"SystemErrors\\",\\"Operation\\",\\"DeleteItem\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesObjectsTable3C1B7D58", }, "\\",{\\"label\\":\\"Delete\\",\\"stat\\":\\"Sum\\"}]],\\"yAxis\\":{},\\"liveData\\":true}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":6,\\"x\\":18,\\"y\\":12,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Objects - Throttled Requests\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/DynamoDB\\",\\"ThrottledRequests\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesObjectsTable3C1B7D58", }, "\\",{\\"label\\":\\"Throttled Requests\\",\\"stat\\":\\"Sum\\"}]],\\"yAxis\\":{},\\"liveData\\":true}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":6,\\"x\\":0,\\"y\\":18,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Audits - Capacity\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/DynamoDB\\",\\"ProvisionedReadCapacityUnits\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesAuditsTable1F631F88", }, "\\",{\\"label\\":\\"Provisioned Read\\"}],[\\"AWS/DynamoDB\\",\\"ConsumedReadCapacityUnits\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesAuditsTable1F631F88", }, "\\",{\\"label\\":\\"Consumed Read\\"}],[\\"AWS/DynamoDB\\",\\"ProvisionedWriteCapacityUnits\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesAuditsTable1F631F88", }, "\\",{\\"label\\":\\"Provisioned Read\\"}],[\\"AWS/DynamoDB\\",\\"ConsumedWriteCapacityUnits\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesAuditsTable1F631F88", }, "\\",{\\"label\\":\\"Consumed Read\\"}]],\\"yAxis\\":{},\\"liveData\\":true}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":6,\\"x\\":6,\\"y\\":18,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Audits - Latency\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/DynamoDB\\",\\"SuccessfulRequestLatency\\",\\"Operation\\",\\"GetItem\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesAuditsTable1F631F88", }, "\\",{\\"label\\":\\"Get Latency\\"}],[\\"AWS/DynamoDB\\",\\"SuccessfulRequestLatency\\",\\"Operation\\",\\"PutItem\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesAuditsTable1F631F88", }, "\\",{\\"label\\":\\"Put Latency\\"}],[\\"AWS/DynamoDB\\",\\"SuccessfulRequestLatency\\",\\"Operation\\",\\"Scan\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesAuditsTable1F631F88", }, "\\",{\\"label\\":\\"Scan Latency\\"}],[\\"AWS/DynamoDB\\",\\"SuccessfulRequestLatency\\",\\"Operation\\",\\"Query\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesAuditsTable1F631F88", }, "\\",{\\"label\\":\\"Query Latency\\"}]],\\"yAxis\\":{},\\"liveData\\":true}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":6,\\"x\\":12,\\"y\\":18,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Audits - Errors\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/DynamoDB\\",\\"SystemErrors\\",\\"Operation\\",\\"GetItem\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesAuditsTable1F631F88", }, "\\",{\\"label\\":\\"Get\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/DynamoDB\\",\\"SystemErrors\\",\\"Operation\\",\\"BatchGetItem\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesAuditsTable1F631F88", }, "\\",{\\"label\\":\\"Batch Get\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/DynamoDB\\",\\"SystemErrors\\",\\"Operation\\",\\"Scan\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesAuditsTable1F631F88", }, "\\",{\\"label\\":\\"Scan\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/DynamoDB\\",\\"SystemErrors\\",\\"Operation\\",\\"Query\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesAuditsTable1F631F88", }, "\\",{\\"label\\":\\"Query\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/DynamoDB\\",\\"SystemErrors\\",\\"Operation\\",\\"PutItem\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesAuditsTable1F631F88", }, "\\",{\\"label\\":\\"Put\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/DynamoDB\\",\\"SystemErrors\\",\\"Operation\\",\\"BatchWriteItem\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesAuditsTable1F631F88", }, "\\",{\\"label\\":\\"Batch Write\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/DynamoDB\\",\\"SystemErrors\\",\\"Operation\\",\\"UpdateItem\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesAuditsTable1F631F88", }, "\\",{\\"label\\":\\"Update\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/DynamoDB\\",\\"SystemErrors\\",\\"Operation\\",\\"DeleteItem\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesAuditsTable1F631F88", }, "\\",{\\"label\\":\\"Delete\\",\\"stat\\":\\"Sum\\"}]],\\"yAxis\\":{},\\"liveData\\":true}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":6,\\"x\\":18,\\"y\\":18,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Audits - Throttled Requests\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/DynamoDB\\",\\"ThrottledRequests\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesAuditsTable1F631F88", }, "\\",{\\"label\\":\\"Throttled Requests\\",\\"stat\\":\\"Sum\\"}]],\\"yAxis\\":{},\\"liveData\\":true}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":6,\\"x\\":0,\\"y\\":24,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Rules - Capacity\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/DynamoDB\\",\\"ProvisionedReadCapacityUnits\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesRulesTable1F07B779", }, "\\",{\\"label\\":\\"Provisioned Read\\"}],[\\"AWS/DynamoDB\\",\\"ConsumedReadCapacityUnits\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesRulesTable1F07B779", }, "\\",{\\"label\\":\\"Consumed Read\\"}],[\\"AWS/DynamoDB\\",\\"ProvisionedWriteCapacityUnits\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesRulesTable1F07B779", }, "\\",{\\"label\\":\\"Provisioned Read\\"}],[\\"AWS/DynamoDB\\",\\"ConsumedWriteCapacityUnits\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesRulesTable1F07B779", }, "\\",{\\"label\\":\\"Consumed Read\\"}]],\\"yAxis\\":{},\\"liveData\\":true}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":6,\\"x\\":6,\\"y\\":24,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Rules - Latency\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/DynamoDB\\",\\"SuccessfulRequestLatency\\",\\"Operation\\",\\"GetItem\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesRulesTable1F07B779", }, "\\",{\\"label\\":\\"Get Latency\\"}],[\\"AWS/DynamoDB\\",\\"SuccessfulRequestLatency\\",\\"Operation\\",\\"PutItem\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesRulesTable1F07B779", }, "\\",{\\"label\\":\\"Put Latency\\"}],[\\"AWS/DynamoDB\\",\\"SuccessfulRequestLatency\\",\\"Operation\\",\\"Scan\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesRulesTable1F07B779", }, "\\",{\\"label\\":\\"Scan Latency\\"}],[\\"AWS/DynamoDB\\",\\"SuccessfulRequestLatency\\",\\"Operation\\",\\"Query\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesRulesTable1F07B779", }, "\\",{\\"label\\":\\"Query Latency\\"}]],\\"yAxis\\":{},\\"liveData\\":true}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":6,\\"x\\":12,\\"y\\":24,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Rules - Errors\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/DynamoDB\\",\\"SystemErrors\\",\\"Operation\\",\\"GetItem\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesRulesTable1F07B779", }, "\\",{\\"label\\":\\"Get\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/DynamoDB\\",\\"SystemErrors\\",\\"Operation\\",\\"BatchGetItem\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesRulesTable1F07B779", }, "\\",{\\"label\\":\\"Batch Get\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/DynamoDB\\",\\"SystemErrors\\",\\"Operation\\",\\"Scan\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesRulesTable1F07B779", }, "\\",{\\"label\\":\\"Scan\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/DynamoDB\\",\\"SystemErrors\\",\\"Operation\\",\\"Query\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesRulesTable1F07B779", }, "\\",{\\"label\\":\\"Query\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/DynamoDB\\",\\"SystemErrors\\",\\"Operation\\",\\"PutItem\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesRulesTable1F07B779", }, "\\",{\\"label\\":\\"Put\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/DynamoDB\\",\\"SystemErrors\\",\\"Operation\\",\\"BatchWriteItem\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesRulesTable1F07B779", }, "\\",{\\"label\\":\\"Batch Write\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/DynamoDB\\",\\"SystemErrors\\",\\"Operation\\",\\"UpdateItem\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesRulesTable1F07B779", }, "\\",{\\"label\\":\\"Update\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/DynamoDB\\",\\"SystemErrors\\",\\"Operation\\",\\"DeleteItem\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesRulesTable1F07B779", }, "\\",{\\"label\\":\\"Delete\\",\\"stat\\":\\"Sum\\"}]],\\"yAxis\\":{},\\"liveData\\":true}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":6,\\"x\\":18,\\"y\\":24,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Rules - Throttled Requests\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/DynamoDB\\",\\"ThrottledRequests\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesRulesTable1F07B779", }, "\\",{\\"label\\":\\"Throttled Requests\\",\\"stat\\":\\"Sum\\"}]],\\"yAxis\\":{},\\"liveData\\":true}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":6,\\"x\\":0,\\"y\\":30,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"RuleBundles - Capacity\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/DynamoDB\\",\\"ProvisionedReadCapacityUnits\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesRuleBundlesTableEC40370C", }, "\\",{\\"label\\":\\"Provisioned Read\\"}],[\\"AWS/DynamoDB\\",\\"ConsumedReadCapacityUnits\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesRuleBundlesTableEC40370C", }, "\\",{\\"label\\":\\"Consumed Read\\"}],[\\"AWS/DynamoDB\\",\\"ProvisionedWriteCapacityUnits\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesRuleBundlesTableEC40370C", }, "\\",{\\"label\\":\\"Provisioned Read\\"}],[\\"AWS/DynamoDB\\",\\"ConsumedWriteCapacityUnits\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesRuleBundlesTableEC40370C", }, "\\",{\\"label\\":\\"Consumed Read\\"}]],\\"yAxis\\":{},\\"liveData\\":true}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":6,\\"x\\":6,\\"y\\":30,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"RuleBundles - Latency\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/DynamoDB\\",\\"SuccessfulRequestLatency\\",\\"Operation\\",\\"GetItem\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesRuleBundlesTableEC40370C", }, "\\",{\\"label\\":\\"Get Latency\\"}],[\\"AWS/DynamoDB\\",\\"SuccessfulRequestLatency\\",\\"Operation\\",\\"PutItem\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesRuleBundlesTableEC40370C", }, "\\",{\\"label\\":\\"Put Latency\\"}],[\\"AWS/DynamoDB\\",\\"SuccessfulRequestLatency\\",\\"Operation\\",\\"Scan\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesRuleBundlesTableEC40370C", }, "\\",{\\"label\\":\\"Scan Latency\\"}],[\\"AWS/DynamoDB\\",\\"SuccessfulRequestLatency\\",\\"Operation\\",\\"Query\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesRuleBundlesTableEC40370C", }, "\\",{\\"label\\":\\"Query Latency\\"}]],\\"yAxis\\":{},\\"liveData\\":true}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":6,\\"x\\":12,\\"y\\":30,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"RuleBundles - Errors\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/DynamoDB\\",\\"SystemErrors\\",\\"Operation\\",\\"GetItem\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesRuleBundlesTableEC40370C", }, "\\",{\\"label\\":\\"Get\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/DynamoDB\\",\\"SystemErrors\\",\\"Operation\\",\\"BatchGetItem\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesRuleBundlesTableEC40370C", }, "\\",{\\"label\\":\\"Batch Get\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/DynamoDB\\",\\"SystemErrors\\",\\"Operation\\",\\"Scan\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesRuleBundlesTableEC40370C", }, "\\",{\\"label\\":\\"Scan\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/DynamoDB\\",\\"SystemErrors\\",\\"Operation\\",\\"Query\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesRuleBundlesTableEC40370C", }, "\\",{\\"label\\":\\"Query\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/DynamoDB\\",\\"SystemErrors\\",\\"Operation\\",\\"PutItem\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesRuleBundlesTableEC40370C", }, "\\",{\\"label\\":\\"Put\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/DynamoDB\\",\\"SystemErrors\\",\\"Operation\\",\\"BatchWriteItem\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesRuleBundlesTableEC40370C", }, "\\",{\\"label\\":\\"Batch Write\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/DynamoDB\\",\\"SystemErrors\\",\\"Operation\\",\\"UpdateItem\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesRuleBundlesTableEC40370C", }, "\\",{\\"label\\":\\"Update\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/DynamoDB\\",\\"SystemErrors\\",\\"Operation\\",\\"DeleteItem\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesRuleBundlesTableEC40370C", }, "\\",{\\"label\\":\\"Delete\\",\\"stat\\":\\"Sum\\"}]],\\"yAxis\\":{},\\"liveData\\":true}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":6,\\"x\\":18,\\"y\\":30,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"RuleBundles - Throttled Requests\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, "\\",\\"metrics\\":[[\\"AWS/DynamoDB\\",\\"ThrottledRequests\\",\\"TableName\\",\\"", Object { "Ref": "DataSourcesRuleBundlesTableEC40370C", }, "\\",{\\"label\\":\\"Throttled Requests\\",\\"stat\\":\\"Sum\\"}]],\\"yAxis\\":{},\\"liveData\\":true}}]}", ], ], }, "DashboardName": Object { "Fn::Join": Array [ "", Array [ "RuleExtensionServiceDashboard", Object { "Ref": "AWS::Region", }, ], ], }, }, "Type": "AWS::CloudWatch::Dashboard", }, "autoconfigautoConfig3D9E0388": Object { "DependsOn": Array [ "autoconfigExecutionRoleDefaultPolicyF81E1CAB", "autoconfigExecutionRoleFB25D9EC", "networkobjectextensionVpcPrivateSubnetASubnet1DefaultRouteD53AF693", "networkobjectextensionVpcPrivateSubnetASubnet1RouteTableAssociation4919BA17", "networkobjectextensionVpcPrivateSubnetASubnet2DefaultRoute68DC2904", "networkobjectextensionVpcPrivateSubnetASubnet2RouteTableAssociationDC02E6FE", ], "Properties": Object { "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "437729fdf3e2da81e507373d7a023195399d0a13d8ceccbafc1161ddd079bcb6.zip", }, "DeadLetterConfig": Object { "TargetArn": Object { "Fn::GetAtt": Array [ "autoconfigautoConfigFunctionDLQ2146CC6D", "Arn", ], }, }, "Description": "Firewall object extension rule resolution and application lambda, periodically triggered by schedule lambda to translate cloud resource reference into network firewall rules", "Environment": Object { "Variables": Object { "CROSS_ACCOUNT_ANFW_ROLE": "", "CROSS_ACCOUNT_CONFIG_ROLE": "", "DEFAULT_AGGREGATOR_NAME": "org-replicator", "LOGLEVEL": "DEBUG", "OBJECTS_TABLE_NAME": Object { "Ref": "DataSourcesObjectsTable3C1B7D58", }, "RULEBUNDLES_TABLE_NAME": Object { "Ref": "DataSourcesRuleBundlesTableEC40370C", }, "RULES_TABLE_NAME": Object { "Ref": "DataSourcesRulesTable1F07B779", }, "RULE_NOTIFICATION_TOPIC_ARN": Object { "Ref": "DataSourcesRuleEvaluationResultTopic5273BF75", }, "SOLUTION_ID": "solution-id", "VERSION": "1.1.0", }, }, "Handler": "app.lambdaHandler", "MemorySize": 3008, "Role": Object { "Fn::GetAtt": Array [ "autoconfigExecutionRoleFB25D9EC", "Arn", ], }, "Runtime": "nodejs14.x", "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], "Timeout": 900, "TracingConfig": Object { "Mode": "Active", }, "VpcConfig": Object { "SecurityGroupIds": Array [ Object { "Fn::GetAtt": Array [ "autoconfigautoConfigSecurityGroupAF540975", "GroupId", ], }, ], "SubnetIds": Array [ Object { "Ref": "networkobjectextensionVpcPrivateSubnetASubnet1SubnetE5FAF545", }, Object { "Ref": "networkobjectextensionVpcPrivateSubnetASubnet2SubnetCEA49EBF", }, ], }, }, "Type": "AWS::Lambda::Function", }, "autoconfigautoConfigFunctionDLQ2146CC6D": Object { "DeletionPolicy": "Delete", "Properties": Object { "KmsMasterKeyId": "alias/aws/sqs", "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], }, "Type": "AWS::SQS::Queue", "UpdateReplacePolicy": "Delete", }, "autoconfigautoConfigSchedulerE6836502": Object { "DependsOn": Array [ "autoconfigscheduleFunctionExecutionRoleDefaultPolicy1D57AE03", "autoconfigscheduleFunctionExecutionRole88B49F22", "networkobjectextensionVpcPrivateSubnetASubnet1DefaultRouteD53AF693", "networkobjectextensionVpcPrivateSubnetASubnet1RouteTableAssociation4919BA17", "networkobjectextensionVpcPrivateSubnetASubnet2DefaultRoute68DC2904", "networkobjectextensionVpcPrivateSubnetASubnet2RouteTableAssociationDC02E6FE", ], "Properties": Object { "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "41142b0945da6ee59d11d15c2018f31e7f6773c34d00dca7ab884699001d644f.zip", }, "DeadLetterConfig": Object { "TargetArn": Object { "Fn::GetAtt": Array [ "autoconfigschedulerFunctionDLQD39FD7D7", "Arn", ], }, }, "Description": "Firewall object extension scheduler lambda, periodically triggered to get all the rule bundles", "Environment": Object { "Variables": Object { "AUTO_CONFIG_FUNCTION_NAME": Object { "Ref": "autoconfigautoConfig3D9E0388", }, "LOGLEVEL": "DEBUG", "RULEBUNDLES_TABLE_NAME": Object { "Ref": "DataSourcesRuleBundlesTableEC40370C", }, "SOLUTION_ID": "solution-id", "VERSION": "1.1.0", }, }, "Handler": "app.lambdaHandler", "MemorySize": 1024, "Role": Object { "Fn::GetAtt": Array [ "autoconfigscheduleFunctionExecutionRole88B49F22", "Arn", ], }, "Runtime": "nodejs14.x", "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], "Timeout": 600, "TracingConfig": Object { "Mode": "Active", }, "VpcConfig": Object { "SecurityGroupIds": Array [ Object { "Fn::GetAtt": Array [ "autoconfigautoConfigSchedulerSecurityGroupB91B99C2", "GroupId", ], }, ], "SubnetIds": Array [ Object { "Ref": "networkobjectextensionVpcPrivateSubnetASubnet1SubnetE5FAF545", }, Object { "Ref": "networkobjectextensionVpcPrivateSubnetASubnet2SubnetCEA49EBF", }, ], }, }, "Type": "AWS::Lambda::Function", }, "autoconfigautoConfigSchedulerSecurityGroupB91B99C2": Object { "DependsOn": Array [ "networkobjectextensionVpcPrivateSubnetASubnet1DefaultRouteD53AF693", "networkobjectextensionVpcPrivateSubnetASubnet1RouteTableAssociation4919BA17", "networkobjectextensionVpcPrivateSubnetASubnet2DefaultRoute68DC2904", "networkobjectextensionVpcPrivateSubnetASubnet2RouteTableAssociationDC02E6FE", ], "Properties": Object { "GroupDescription": "Automatic security group for Lambda Function MyTestStackautoconfigautoConfigScheduler449A52B4", "SecurityGroupEgress": Array [ Object { "CidrIp": "0.0.0.0/0", "Description": "Allow all outbound traffic by default", "IpProtocol": "-1", }, ], "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], "VpcId": Object { "Ref": "networkobjectextensionVpcB3285E3D", }, }, "Type": "AWS::EC2::SecurityGroup", }, "autoconfigautoConfigSecurityGroupAF540975": Object { "DependsOn": Array [ "networkobjectextensionVpcPrivateSubnetASubnet1DefaultRouteD53AF693", "networkobjectextensionVpcPrivateSubnetASubnet1RouteTableAssociation4919BA17", "networkobjectextensionVpcPrivateSubnetASubnet2DefaultRoute68DC2904", "networkobjectextensionVpcPrivateSubnetASubnet2RouteTableAssociationDC02E6FE", ], "Properties": Object { "GroupDescription": "Automatic security group for Lambda Function MyTestStackautoconfigautoConfig11768BC5", "SecurityGroupEgress": Array [ Object { "CidrIp": "0.0.0.0/0", "Description": "Allow all outbound traffic by default", "IpProtocol": "-1", }, ], "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], "VpcId": Object { "Ref": "networkobjectextensionVpcB3285E3D", }, }, "Type": "AWS::EC2::SecurityGroup", }, "autoconfigscheduleFunctionExecutionRole88B49F22": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "Description": "Lambda execution role for lambda", "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", ], ], }, Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole", ], ], }, ], "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], }, "Type": "AWS::IAM::Role", }, "autoconfigscheduleFunctionExecutionRoleDefaultPolicy1D57AE03": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": "sqs:SendMessage", "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "autoconfigschedulerFunctionDLQD39FD7D7", "Arn", ], }, }, Object { "Action": Array [ "xray:PutTraceSegments", "xray:PutTelemetryRecords", ], "Effect": "Allow", "Resource": "*", }, Object { "Action": "lambda:InvokeFunction", "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "autoconfigautoConfig3D9E0388", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "autoconfigautoConfig3D9E0388", "Arn", ], }, ":*", ], ], }, ], }, Object { "Action": Array [ "dynamodb:BatchGetItem", "dynamodb:GetRecords", "dynamodb:GetShardIterator", "dynamodb:Query", "dynamodb:GetItem", "dynamodb:Scan", "dynamodb:ConditionCheckItem", "dynamodb:BatchWriteItem", "dynamodb:PutItem", "dynamodb:UpdateItem", "dynamodb:DeleteItem", "dynamodb:DescribeTable", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "DataSourcesRuleBundlesTableEC40370C", "Arn", ], }, Object { "Ref": "AWS::NoValue", }, ], }, Object { "Action": Array [ "kms:Decrypt", "kms:DescribeKey", "kms:Encrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", ], "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "DataSourcesautoconfigencryptionkey7C2C5A00", "Arn", ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "autoconfigscheduleFunctionExecutionRoleDefaultPolicy1D57AE03", "Roles": Array [ Object { "Ref": "autoconfigscheduleFunctionExecutionRole88B49F22", }, ], }, "Type": "AWS::IAM::Policy", }, "autoconfigschedulerFunctionDLQD39FD7D7": Object { "DeletionPolicy": "Delete", "Properties": Object { "KmsMasterKeyId": "alias/aws/sqs", "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], }, "Type": "AWS::SQS::Queue", "UpdateReplacePolicy": "Delete", }, "canaryCanaryArtifactBucketagsCanaryArtifactBucketAutoDeleteObjectsCustomResource061689C1": Object { "DeletionPolicy": "Delete", "DependsOn": Array [ "canaryCanaryArtifactBucketagsCanaryArtifactBucketPolicy74598E1B", ], "Properties": Object { "BucketName": Object { "Ref": "canaryCanaryArtifactBucketagsCanaryArtifactBucketB6BAD0ED", }, "ServiceToken": Object { "Fn::GetAtt": Array [ "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F", "Arn", ], }, }, "Type": "Custom::S3AutoDeleteObjects", "UpdateReplacePolicy": "Delete", }, "canaryCanaryArtifactBucketagsCanaryArtifactBucketB6BAD0ED": Object { "DeletionPolicy": "Delete", "Properties": Object { "AccessControl": "LogDeliveryWrite", "BucketEncryption": Object { "ServerSideEncryptionConfiguration": Array [ Object { "ServerSideEncryptionByDefault": Object { "KMSMasterKeyID": Object { "Fn::GetAtt": Array [ "canaryCanaryArtifactBucketencryptionkeyCanaryArtifactBucketFB61B633", "Arn", ], }, "SSEAlgorithm": "aws:kms", }, }, ], }, "LoggingConfiguration": Object { "LogFilePrefix": "access-log", }, "PublicAccessBlockConfiguration": Object { "BlockPublicAcls": true, "BlockPublicPolicy": true, "IgnorePublicAcls": true, "RestrictPublicBuckets": true, }, "Tags": Array [ Object { "Key": "aws-cdk:auto-delete-objects", "Value": "true", }, Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], "VersioningConfiguration": Object { "Status": "Enabled", }, }, "Type": "AWS::S3::Bucket", "UpdateReplacePolicy": "Delete", }, "canaryCanaryArtifactBucketagsCanaryArtifactBucketPolicy74598E1B": Object { "Properties": Object { "Bucket": Object { "Ref": "canaryCanaryArtifactBucketagsCanaryArtifactBucketB6BAD0ED", }, "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "s3:GetBucket*", "s3:List*", "s3:DeleteObject*", ], "Effect": "Allow", "Principal": Object { "AWS": Object { "Fn::GetAtt": Array [ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092", "Arn", ], }, }, "Resource": Array [ Object { "Fn::GetAtt": Array [ "canaryCanaryArtifactBucketagsCanaryArtifactBucketB6BAD0ED", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "canaryCanaryArtifactBucketagsCanaryArtifactBucketB6BAD0ED", "Arn", ], }, "/*", ], ], }, ], }, Object { "Action": "*", "Condition": Object { "Bool": Object { "aws:SecureTransport": "false", }, }, "Effect": "Deny", "Principal": Object { "AWS": "*", }, "Resource": Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "canaryCanaryArtifactBucketagsCanaryArtifactBucketB6BAD0ED", "Arn", ], }, "/*", ], ], }, "Sid": "HttpsOnly", }, ], "Version": "2012-10-17", }, }, "Type": "AWS::S3::BucketPolicy", }, "canaryCanaryArtifactBucketencryptionkeyCanaryArtifactBucketFB61B633": Object { "DeletionPolicy": "Delete", "Properties": Object { "EnableKeyRotation": true, "KeyPolicy": Object { "Statement": Array [ Object { "Action": "kms:*", "Effect": "Allow", "Principal": Object { "AWS": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::", Object { "Ref": "AWS::AccountId", }, ":root", ], ], }, }, "Resource": "*", }, ], "Version": "2012-10-17", }, "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], }, "Type": "AWS::KMS::Key", "UpdateReplacePolicy": "Delete", }, "canarycanaryPolicyF0BB6A4A": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": "s3:ListAllMyBuckets", "Effect": "Allow", "Resource": "arn:aws:s3:::*", }, Object { "Action": Array [ "s3:PutObject", "s3:GetBucketLocation", ], "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "canaryCanaryArtifactBucketagsCanaryArtifactBucketB6BAD0ED", "Arn", ], }, "/*", ], ], }, }, Object { "Action": "s3:GetBucketLocation", "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "canaryCanaryArtifactBucketagsCanaryArtifactBucketB6BAD0ED", "Arn", ], }, }, Object { "Action": "cloudwatch:PutMetricData", "Condition": Object { "StringEquals": Object { "cloudwatch:namespace": "CloudWatchSynthetics", }, }, "Effect": "Allow", "Resource": "*", }, Object { "Action": "xray:PutTraceSegments", "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:::*", ], ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "canarycanaryPolicyF0BB6A4A", "Roles": Array [ Object { "Ref": "CanaryExecutionRole07ED3987", }, ], }, "Type": "AWS::IAM::Policy", }, "metricscollectorconstruct906DBEA5": Object { "DeletionPolicy": "Delete", "Properties": Object { "ServiceToken": Object { "Fn::GetAtt": Array [ "metricscollectorconstructmetricsCollectorCrProviderframeworkonEvent2053A6CE", "Arn", ], }, "enabledOpa": false, "importedVpc": false, "privateEndpoint": false, "sendAnonymousMetric": "Yes", }, "Type": "AWS::CloudFormation::CustomResource", "UpdateReplacePolicy": "Delete", }, "metricscollectorconstructCustomResourceFunction93E34BD8": Object { "DependsOn": Array [ "metricscollectorconstructCustomResourceFunctionServiceRole731C3913", ], "Properties": Object { "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "18ce6f6f8f7bd036698967510e67d44e9f8226b7f38571df6f2dc8cacf0c28c9.zip", }, "Description": "Dynamic Object and Rule Extensions for AWS Network Firewall (1.1.0): Custom resource", "Environment": Object { "Variables": Object { "SOLUTION_ID": "solution-id", "SOLUTION_VERSION": "1.1.0", }, }, "Handler": "app.lambdaHandler", "MemorySize": 128, "Role": Object { "Fn::GetAtt": Array [ "metricscollectorconstructCustomResourceFunctionServiceRole731C3913", "Arn", ], }, "Runtime": "nodejs14.x", "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], "Timeout": 60, }, "Type": "AWS::Lambda::Function", }, "metricscollectorconstructCustomResourceFunctionServiceRole731C3913": 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", ], ], }, ], "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], }, "Type": "AWS::IAM::Role", }, "metricscollectorconstructmetricsCollectorCrProviderframeworkonEvent2053A6CE": Object { "DependsOn": Array [ "metricscollectorconstructmetricsCollectorCrProviderframeworkonEventServiceRoleDefaultPolicy986F6844", "metricscollectorconstructmetricsCollectorCrProviderframeworkonEventServiceRole815DEDF6", ], "Properties": Object { "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "6ff23d2800aac27308e31c227529dc13854507c3b2598d2433fcf82604fa054d.zip", }, "Description": "AWS CDK resource provider framework - onEvent (MyTestStack/metrics-collector-construct/metricsCollectorCrProvider)", "Environment": Object { "Variables": Object { "USER_ON_EVENT_FUNCTION_ARN": Object { "Fn::GetAtt": Array [ "metricscollectorconstructCustomResourceFunction93E34BD8", "Arn", ], }, }, }, "Handler": "framework.onEvent", "Role": Object { "Fn::GetAtt": Array [ "metricscollectorconstructmetricsCollectorCrProviderframeworkonEventServiceRole815DEDF6", "Arn", ], }, "Runtime": "nodejs14.x", "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], "Timeout": 900, }, "Type": "AWS::Lambda::Function", }, "metricscollectorconstructmetricsCollectorCrProviderframeworkonEventServiceRole815DEDF6": 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", ], ], }, ], "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], }, "Type": "AWS::IAM::Role", }, "metricscollectorconstructmetricsCollectorCrProviderframeworkonEventServiceRoleDefaultPolicy986F6844": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": "lambda:InvokeFunction", "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "metricscollectorconstructCustomResourceFunction93E34BD8", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "metricscollectorconstructCustomResourceFunction93E34BD8", "Arn", ], }, ":*", ], ], }, ], }, ], "Version": "2012-10-17", }, "PolicyName": "metricscollectorconstructmetricsCollectorCrProviderframeworkonEventServiceRoleDefaultPolicy986F6844", "Roles": Array [ Object { "Ref": "metricscollectorconstructmetricsCollectorCrProviderframeworkonEventServiceRole815DEDF6", }, ], }, "Type": "AWS::IAM::Policy", }, "networkVpcFlowLogs792D55D1": Object { "DeletionPolicy": "Retain", "Properties": Object { "KmsKeyId": Object { "Fn::GetAtt": Array [ "networkVpcFlowLogsKey2419E0F7", "Arn", ], }, "RetentionInDays": 3653, "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], }, "Type": "AWS::Logs::LogGroup", "UpdateReplacePolicy": "Retain", }, "networkVpcFlowLogsKey2419E0F7": Object { "DeletionPolicy": "Delete", "Properties": Object { "EnableKeyRotation": true, "KeyPolicy": Object { "Statement": Array [ Object { "Action": "kms:*", "Effect": "Allow", "Principal": Object { "AWS": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::", Object { "Ref": "AWS::AccountId", }, ":root", ], ], }, }, "Resource": "*", }, Object { "Action": Array [ "kms:ReEncrypt", "kms:GenerateDataKey", "kms:Encrypt", "kms:DescribeKey", "kms:Decrypt", ], "Effect": "Allow", "Principal": Object { "Service": Object { "Fn::Join": Array [ "", Array [ "logs.", Object { "Ref": "AWS::Region", }, ".amazonaws.com", ], ], }, }, "Resource": "*", "Sid": "Allow VPC Flow Logs to use the key", }, ], "Version": "2012-10-17", }, "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], }, "Type": "AWS::KMS::Key", "UpdateReplacePolicy": "Delete", }, "networkVpcFlowLogsPolicy4FE3A9F4": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogGroups", "logs:DescribeLogStreams", ], "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "networkVpcFlowLogs792D55D1", "Arn", ], }, }, Object { "Action": Array [ "kms:Encrypt*", "kms:Decrypt*", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:Describe*", ], "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "networkVpcFlowLogsKey2419E0F7", "Arn", ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "networkVpcFlowLogsPolicy4FE3A9F4", "Roles": Array [ Object { "Ref": "networkVpcFlowLogsRole1E2F6B20", }, ], }, "Type": "AWS::IAM::Policy", }, "networkVpcFlowLogsRole1E2F6B20": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "vpc-flow-logs.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], }, "Type": "AWS::IAM::Role", }, "networkVpcFlowLogsRoleDefaultPolicyA61F49D2": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams", ], "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "networkVpcFlowLogs792D55D1", "Arn", ], }, }, Object { "Action": "iam:PassRole", "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "networkVpcFlowLogsRole1E2F6B20", "Arn", ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "networkVpcFlowLogsRoleDefaultPolicyA61F49D2", "Roles": Array [ Object { "Ref": "networkVpcFlowLogsRole1E2F6B20", }, ], }, "Type": "AWS::IAM::Policy", }, "networkobjectextensionVpcB3285E3D": Object { "Properties": Object { "CidrBlock": "10.0.0.0/16", "EnableDnsHostnames": true, "EnableDnsSupport": true, "InstanceTenancy": "default", "Tags": Array [ Object { "Key": "Name", "Value": "MyTestStack/network/object-extension-Vpc", }, Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], }, "Type": "AWS::EC2::VPC", }, "networkobjectextensionVpcFlowLogsToCloudWatchFlowLog97D245A5": Object { "Properties": Object { "DeliverLogsPermissionArn": Object { "Fn::GetAtt": Array [ "networkVpcFlowLogsRole1E2F6B20", "Arn", ], }, "LogDestinationType": "cloud-watch-logs", "LogGroupName": Object { "Ref": "networkVpcFlowLogs792D55D1", }, "ResourceId": Object { "Ref": "networkobjectextensionVpcB3285E3D", }, "ResourceType": "VPC", "Tags": Array [ Object { "Key": "Name", "Value": "MyTestStack/network/object-extension-Vpc", }, Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], "TrafficType": "ALL", }, "Type": "AWS::EC2::FlowLog", }, "networkobjectextensionVpcIGW567B3100": Object { "Properties": Object { "Tags": Array [ Object { "Key": "Name", "Value": "MyTestStack/network/object-extension-Vpc", }, Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], }, "Type": "AWS::EC2::InternetGateway", }, "networkobjectextensionVpcPrivateSubnetASubnet1DefaultRouteD53AF693": Object { "Properties": Object { "DestinationCidrBlock": "0.0.0.0/0", "NatGatewayId": Object { "Ref": "networkobjectextensionVpcPublicSubnetASubnet1NATGateway80602F56", }, "RouteTableId": Object { "Ref": "networkobjectextensionVpcPrivateSubnetASubnet1RouteTableE4C2BEB8", }, }, "Type": "AWS::EC2::Route", }, "networkobjectextensionVpcPrivateSubnetASubnet1RouteTableAssociation4919BA17": Object { "Properties": Object { "RouteTableId": Object { "Ref": "networkobjectextensionVpcPrivateSubnetASubnet1RouteTableE4C2BEB8", }, "SubnetId": Object { "Ref": "networkobjectextensionVpcPrivateSubnetASubnet1SubnetE5FAF545", }, }, "Type": "AWS::EC2::SubnetRouteTableAssociation", }, "networkobjectextensionVpcPrivateSubnetASubnet1RouteTableE4C2BEB8": Object { "Properties": Object { "Tags": Array [ Object { "Key": "Name", "Value": "MyTestStack/network/object-extension-Vpc/PrivateSubnetASubnet1", }, Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], "VpcId": Object { "Ref": "networkobjectextensionVpcB3285E3D", }, }, "Type": "AWS::EC2::RouteTable", }, "networkobjectextensionVpcPrivateSubnetASubnet1SubnetE5FAF545": Object { "Properties": Object { "AvailabilityZone": Object { "Fn::Select": Array [ 0, Object { "Fn::GetAZs": "", }, ], }, "CidrBlock": "10.0.0.0/24", "MapPublicIpOnLaunch": false, "Tags": Array [ Object { "Key": "aws-cdk:subnet-name", "Value": "PrivateSubnetA", }, Object { "Key": "aws-cdk:subnet-type", "Value": "Private", }, Object { "Key": "Name", "Value": "MyTestStack/network/object-extension-Vpc/PrivateSubnetASubnet1", }, Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], "VpcId": Object { "Ref": "networkobjectextensionVpcB3285E3D", }, }, "Type": "AWS::EC2::Subnet", }, "networkobjectextensionVpcPrivateSubnetASubnet2DefaultRoute68DC2904": Object { "Properties": Object { "DestinationCidrBlock": "0.0.0.0/0", "NatGatewayId": Object { "Ref": "networkobjectextensionVpcPublicSubnetASubnet2NATGatewayA0650273", }, "RouteTableId": Object { "Ref": "networkobjectextensionVpcPrivateSubnetASubnet2RouteTable3DBCAB68", }, }, "Type": "AWS::EC2::Route", }, "networkobjectextensionVpcPrivateSubnetASubnet2RouteTable3DBCAB68": Object { "Properties": Object { "Tags": Array [ Object { "Key": "Name", "Value": "MyTestStack/network/object-extension-Vpc/PrivateSubnetASubnet2", }, Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], "VpcId": Object { "Ref": "networkobjectextensionVpcB3285E3D", }, }, "Type": "AWS::EC2::RouteTable", }, "networkobjectextensionVpcPrivateSubnetASubnet2RouteTableAssociationDC02E6FE": Object { "Properties": Object { "RouteTableId": Object { "Ref": "networkobjectextensionVpcPrivateSubnetASubnet2RouteTable3DBCAB68", }, "SubnetId": Object { "Ref": "networkobjectextensionVpcPrivateSubnetASubnet2SubnetCEA49EBF", }, }, "Type": "AWS::EC2::SubnetRouteTableAssociation", }, "networkobjectextensionVpcPrivateSubnetASubnet2SubnetCEA49EBF": Object { "Properties": Object { "AvailabilityZone": Object { "Fn::Select": Array [ 1, Object { "Fn::GetAZs": "", }, ], }, "CidrBlock": "10.0.1.0/24", "MapPublicIpOnLaunch": false, "Tags": Array [ Object { "Key": "aws-cdk:subnet-name", "Value": "PrivateSubnetA", }, Object { "Key": "aws-cdk:subnet-type", "Value": "Private", }, Object { "Key": "Name", "Value": "MyTestStack/network/object-extension-Vpc/PrivateSubnetASubnet2", }, Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], "VpcId": Object { "Ref": "networkobjectextensionVpcB3285E3D", }, }, "Type": "AWS::EC2::Subnet", }, "networkobjectextensionVpcPublicSubnetASubnet1DefaultRoute0EF8E9D7": Object { "DependsOn": Array [ "networkobjectextensionVpcVPCGW62BC8C63", ], "Properties": Object { "DestinationCidrBlock": "0.0.0.0/0", "GatewayId": Object { "Ref": "networkobjectextensionVpcIGW567B3100", }, "RouteTableId": Object { "Ref": "networkobjectextensionVpcPublicSubnetASubnet1RouteTable57E10886", }, }, "Type": "AWS::EC2::Route", }, "networkobjectextensionVpcPublicSubnetASubnet1EIP359C836E": Object { "Properties": Object { "Domain": "vpc", "Tags": Array [ Object { "Key": "Name", "Value": "MyTestStack/network/object-extension-Vpc/PublicSubnetASubnet1", }, Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], }, "Type": "AWS::EC2::EIP", }, "networkobjectextensionVpcPublicSubnetASubnet1NATGateway80602F56": Object { "DependsOn": Array [ "networkobjectextensionVpcPublicSubnetASubnet1DefaultRoute0EF8E9D7", "networkobjectextensionVpcPublicSubnetASubnet1RouteTableAssociationDF1EC0D0", ], "Properties": Object { "AllocationId": Object { "Fn::GetAtt": Array [ "networkobjectextensionVpcPublicSubnetASubnet1EIP359C836E", "AllocationId", ], }, "SubnetId": Object { "Ref": "networkobjectextensionVpcPublicSubnetASubnet1Subnet00D1AE4B", }, "Tags": Array [ Object { "Key": "Name", "Value": "MyTestStack/network/object-extension-Vpc/PublicSubnetASubnet1", }, Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], }, "Type": "AWS::EC2::NatGateway", }, "networkobjectextensionVpcPublicSubnetASubnet1RouteTable57E10886": Object { "Properties": Object { "Tags": Array [ Object { "Key": "Name", "Value": "MyTestStack/network/object-extension-Vpc/PublicSubnetASubnet1", }, Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], "VpcId": Object { "Ref": "networkobjectextensionVpcB3285E3D", }, }, "Type": "AWS::EC2::RouteTable", }, "networkobjectextensionVpcPublicSubnetASubnet1RouteTableAssociationDF1EC0D0": Object { "Properties": Object { "RouteTableId": Object { "Ref": "networkobjectextensionVpcPublicSubnetASubnet1RouteTable57E10886", }, "SubnetId": Object { "Ref": "networkobjectextensionVpcPublicSubnetASubnet1Subnet00D1AE4B", }, }, "Type": "AWS::EC2::SubnetRouteTableAssociation", }, "networkobjectextensionVpcPublicSubnetASubnet1Subnet00D1AE4B": Object { "Properties": Object { "AvailabilityZone": Object { "Fn::Select": Array [ 0, Object { "Fn::GetAZs": "", }, ], }, "CidrBlock": "10.0.2.0/24", "MapPublicIpOnLaunch": true, "Tags": Array [ Object { "Key": "aws-cdk:subnet-name", "Value": "PublicSubnetA", }, Object { "Key": "aws-cdk:subnet-type", "Value": "Public", }, Object { "Key": "Name", "Value": "MyTestStack/network/object-extension-Vpc/PublicSubnetASubnet1", }, Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], "VpcId": Object { "Ref": "networkobjectextensionVpcB3285E3D", }, }, "Type": "AWS::EC2::Subnet", }, "networkobjectextensionVpcPublicSubnetASubnet2DefaultRouteE422D12B": Object { "DependsOn": Array [ "networkobjectextensionVpcVPCGW62BC8C63", ], "Properties": Object { "DestinationCidrBlock": "0.0.0.0/0", "GatewayId": Object { "Ref": "networkobjectextensionVpcIGW567B3100", }, "RouteTableId": Object { "Ref": "networkobjectextensionVpcPublicSubnetASubnet2RouteTable35D8F3B2", }, }, "Type": "AWS::EC2::Route", }, "networkobjectextensionVpcPublicSubnetASubnet2EIPED00FB95": Object { "Properties": Object { "Domain": "vpc", "Tags": Array [ Object { "Key": "Name", "Value": "MyTestStack/network/object-extension-Vpc/PublicSubnetASubnet2", }, Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], }, "Type": "AWS::EC2::EIP", }, "networkobjectextensionVpcPublicSubnetASubnet2NATGatewayA0650273": Object { "DependsOn": Array [ "networkobjectextensionVpcPublicSubnetASubnet2DefaultRouteE422D12B", "networkobjectextensionVpcPublicSubnetASubnet2RouteTableAssociationFECD1C7A", ], "Properties": Object { "AllocationId": Object { "Fn::GetAtt": Array [ "networkobjectextensionVpcPublicSubnetASubnet2EIPED00FB95", "AllocationId", ], }, "SubnetId": Object { "Ref": "networkobjectextensionVpcPublicSubnetASubnet2Subnet08AB9279", }, "Tags": Array [ Object { "Key": "Name", "Value": "MyTestStack/network/object-extension-Vpc/PublicSubnetASubnet2", }, Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], }, "Type": "AWS::EC2::NatGateway", }, "networkobjectextensionVpcPublicSubnetASubnet2RouteTable35D8F3B2": Object { "Properties": Object { "Tags": Array [ Object { "Key": "Name", "Value": "MyTestStack/network/object-extension-Vpc/PublicSubnetASubnet2", }, Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], "VpcId": Object { "Ref": "networkobjectextensionVpcB3285E3D", }, }, "Type": "AWS::EC2::RouteTable", }, "networkobjectextensionVpcPublicSubnetASubnet2RouteTableAssociationFECD1C7A": Object { "Properties": Object { "RouteTableId": Object { "Ref": "networkobjectextensionVpcPublicSubnetASubnet2RouteTable35D8F3B2", }, "SubnetId": Object { "Ref": "networkobjectextensionVpcPublicSubnetASubnet2Subnet08AB9279", }, }, "Type": "AWS::EC2::SubnetRouteTableAssociation", }, "networkobjectextensionVpcPublicSubnetASubnet2Subnet08AB9279": Object { "Properties": Object { "AvailabilityZone": Object { "Fn::Select": Array [ 1, Object { "Fn::GetAZs": "", }, ], }, "CidrBlock": "10.0.3.0/24", "MapPublicIpOnLaunch": true, "Tags": Array [ Object { "Key": "aws-cdk:subnet-name", "Value": "PublicSubnetA", }, Object { "Key": "aws-cdk:subnet-type", "Value": "Public", }, Object { "Key": "Name", "Value": "MyTestStack/network/object-extension-Vpc/PublicSubnetASubnet2", }, Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], "VpcId": Object { "Ref": "networkobjectextensionVpcB3285E3D", }, }, "Type": "AWS::EC2::Subnet", }, "networkobjectextensionVpcS38F8D4174": Object { "Properties": Object { "RouteTableIds": Array [ Object { "Ref": "networkobjectextensionVpcPrivateSubnetASubnet1RouteTableE4C2BEB8", }, Object { "Ref": "networkobjectextensionVpcPrivateSubnetASubnet2RouteTable3DBCAB68", }, Object { "Ref": "networkobjectextensionVpcPublicSubnetASubnet1RouteTable57E10886", }, Object { "Ref": "networkobjectextensionVpcPublicSubnetASubnet2RouteTable35D8F3B2", }, ], "ServiceName": Object { "Fn::Join": Array [ "", Array [ "com.amazonaws.", Object { "Ref": "AWS::Region", }, ".s3", ], ], }, "VpcEndpointType": "Gateway", "VpcId": Object { "Ref": "networkobjectextensionVpcB3285E3D", }, }, "Type": "AWS::EC2::VPCEndpoint", }, "networkobjectextensionVpcVPCGW62BC8C63": Object { "Properties": Object { "InternetGatewayId": Object { "Ref": "networkobjectextensionVpcIGW567B3100", }, "VpcId": Object { "Ref": "networkobjectextensionVpcB3285E3D", }, }, "Type": "AWS::EC2::VPCGatewayAttachment", }, "networkobjectextensiontrailDEEC007F": Object { "DependsOn": Array [ "networktrailbucketagstrailbucketPolicy72763D75", ], "Properties": Object { "EnableLogFileValidation": true, "EventSelectors": Array [ Object { "DataResources": Array [ Object { "Type": "AWS::Lambda::Function", "Values": Array [ Object { "Fn::GetAtt": Array [ "autoconfigautoConfigSchedulerE6836502", "Arn", ], }, Object { "Fn::GetAtt": Array [ "autoconfigautoConfig3D9E0388", "Arn", ], }, ], }, ], }, Object { "DataResources": Array [ Object { "Type": "AWS::Lambda::Function", "Values": Array [ Object { "Fn::GetAtt": Array [ "autoconfigapiautoConfig13F74724", "Arn", ], }, ], }, ], }, ], "IncludeGlobalServiceEvents": true, "IsLogging": true, "IsMultiRegionTrail": true, "KMSKeyId": Object { "Fn::GetAtt": Array [ "networkobjectextensiontraillogkey8077FB75", "Arn", ], }, "S3BucketName": Object { "Ref": "networktrailbucketagstrailbucketE7002E8C", }, "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], }, "Type": "AWS::CloudTrail::Trail", }, "networkobjectextensiontraillogkey8077FB75": Object { "DeletionPolicy": "Delete", "Properties": Object { "EnableKeyRotation": true, "KeyPolicy": Object { "Statement": Array [ Object { "Action": "kms:*", "Effect": "Allow", "Principal": Object { "AWS": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::", Object { "Ref": "AWS::AccountId", }, ":root", ], ], }, }, "Resource": "*", }, Object { "Action": Array [ "kms:Decrypt", "kms:Encrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", ], "Effect": "Allow", "Principal": Object { "Service": "cloudtrail.amazonaws.com", }, "Resource": "*", }, ], "Version": "2012-10-17", }, "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], }, "Type": "AWS::KMS::Key", "UpdateReplacePolicy": "Delete", }, "networks3vpcendpointsg470E38D1": Object { "Properties": Object { "GroupDescription": "MyTestStack/network/s3-vpc-endpoint-sg", "SecurityGroupEgress": Array [ Object { "CidrIp": Object { "Fn::GetAtt": Array [ "networkobjectextensionVpcB3285E3D", "CidrBlock", ], }, "Description": Object { "Fn::Join": Array [ "", Array [ "from ", Object { "Fn::GetAtt": Array [ "networkobjectextensionVpcB3285E3D", "CidrBlock", ], }, ":443", ], ], }, "FromPort": 443, "IpProtocol": "tcp", "ToPort": 443, }, ], "SecurityGroupIngress": Array [ Object { "CidrIp": Object { "Fn::GetAtt": Array [ "networkobjectextensionVpcB3285E3D", "CidrBlock", ], }, "Description": Object { "Fn::Join": Array [ "", Array [ "from ", Object { "Fn::GetAtt": Array [ "networkobjectextensionVpcB3285E3D", "CidrBlock", ], }, ":443", ], ], }, "FromPort": 443, "IpProtocol": "tcp", "ToPort": 443, }, ], "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], "VpcId": Object { "Ref": "networkobjectextensionVpcB3285E3D", }, }, "Type": "AWS::EC2::SecurityGroup", }, "networktrailbucketagstrailbucketE7002E8C": Object { "DeletionPolicy": "Retain", "Properties": Object { "AccessControl": "LogDeliveryWrite", "BucketEncryption": Object { "ServerSideEncryptionConfiguration": Array [ Object { "ServerSideEncryptionByDefault": Object { "KMSMasterKeyID": Object { "Fn::GetAtt": Array [ "networktrailbucketencryptionkeytrailbucketE4AB88E1", "Arn", ], }, "SSEAlgorithm": "aws:kms", }, }, ], }, "LoggingConfiguration": Object { "LogFilePrefix": "access-log", }, "PublicAccessBlockConfiguration": Object { "BlockPublicAcls": true, "BlockPublicPolicy": true, "IgnorePublicAcls": true, "RestrictPublicBuckets": true, }, "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], "VersioningConfiguration": Object { "Status": "Enabled", }, }, "Type": "AWS::S3::Bucket", "UpdateReplacePolicy": "Retain", }, "networktrailbucketagstrailbucketPolicy72763D75": Object { "Properties": Object { "Bucket": Object { "Ref": "networktrailbucketagstrailbucketE7002E8C", }, "PolicyDocument": Object { "Statement": Array [ Object { "Action": "*", "Condition": Object { "Bool": Object { "aws:SecureTransport": "false", }, }, "Effect": "Deny", "Principal": Object { "AWS": "*", }, "Resource": Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "networktrailbucketagstrailbucketE7002E8C", "Arn", ], }, "/*", ], ], }, "Sid": "HttpsOnly", }, Object { "Action": "s3:GetBucketAcl", "Effect": "Allow", "Principal": Object { "Service": "cloudtrail.amazonaws.com", }, "Resource": Object { "Fn::GetAtt": Array [ "networktrailbucketagstrailbucketE7002E8C", "Arn", ], }, }, Object { "Action": "s3:PutObject", "Condition": Object { "StringEquals": Object { "s3:x-amz-acl": "bucket-owner-full-control", }, }, "Effect": "Allow", "Principal": Object { "Service": "cloudtrail.amazonaws.com", }, "Resource": Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "networktrailbucketagstrailbucketE7002E8C", "Arn", ], }, "/AWSLogs/", Object { "Ref": "AWS::AccountId", }, "/*", ], ], }, }, ], "Version": "2012-10-17", }, }, "Type": "AWS::S3::BucketPolicy", }, "networktrailbucketencryptionkeytrailbucketE4AB88E1": Object { "DeletionPolicy": "Retain", "Properties": Object { "EnableKeyRotation": true, "KeyPolicy": Object { "Statement": Array [ Object { "Action": "kms:*", "Effect": "Allow", "Principal": Object { "AWS": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::", Object { "Ref": "AWS::AccountId", }, ":root", ], ], }, }, "Resource": "*", }, ], "Version": "2012-10-17", }, "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], }, "Type": "AWS::KMS::Key", "UpdateReplacePolicy": "Retain", }, "networkvpcEndpointAWSConfig2AE4A672": Object { "Properties": Object { "PrivateDnsEnabled": true, "SecurityGroupIds": Array [ Object { "Fn::GetAtt": Array [ "networkvpcEndpointAWSConfigSecurityGroup454CEACE", "GroupId", ], }, ], "ServiceName": Object { "Fn::Join": Array [ "", Array [ "com.amazonaws.", Object { "Ref": "AWS::Region", }, ".config", ], ], }, "SubnetIds": Array [ Object { "Ref": "networkobjectextensionVpcPrivateSubnetASubnet1SubnetE5FAF545", }, Object { "Ref": "networkobjectextensionVpcPrivateSubnetASubnet2SubnetCEA49EBF", }, ], "VpcEndpointType": "Interface", "VpcId": Object { "Ref": "networkobjectextensionVpcB3285E3D", }, }, "Type": "AWS::EC2::VPCEndpoint", }, "networkvpcEndpointAWSConfigSecurityGroup454CEACE": Object { "Properties": Object { "GroupDescription": "MyTestStack/network/vpcEndpointAWSConfig/SecurityGroup", "SecurityGroupEgress": Array [ Object { "CidrIp": "0.0.0.0/0", "Description": "Allow all outbound traffic by default", "IpProtocol": "-1", }, ], "SecurityGroupIngress": Array [ Object { "CidrIp": Object { "Fn::GetAtt": Array [ "networkobjectextensionVpcB3285E3D", "CidrBlock", ], }, "Description": Object { "Fn::Join": Array [ "", Array [ "from ", Object { "Fn::GetAtt": Array [ "networkobjectextensionVpcB3285E3D", "CidrBlock", ], }, ":443", ], ], }, "FromPort": 443, "IpProtocol": "tcp", "ToPort": 443, }, ], "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], "VpcId": Object { "Ref": "networkobjectextensionVpcB3285E3D", }, }, "Type": "AWS::EC2::SecurityGroup", }, "networkvpcEndpointCloudWatch2CE340CF": Object { "Properties": Object { "PrivateDnsEnabled": true, "SecurityGroupIds": Array [ Object { "Fn::GetAtt": Array [ "networkvpcEndpointCloudWatchSecurityGroup914A2E61", "GroupId", ], }, ], "ServiceName": Object { "Fn::Join": Array [ "", Array [ "com.amazonaws.", Object { "Ref": "AWS::Region", }, ".monitoring", ], ], }, "SubnetIds": Array [ Object { "Ref": "networkobjectextensionVpcPrivateSubnetASubnet1SubnetE5FAF545", }, Object { "Ref": "networkobjectextensionVpcPrivateSubnetASubnet2SubnetCEA49EBF", }, ], "VpcEndpointType": "Interface", "VpcId": Object { "Ref": "networkobjectextensionVpcB3285E3D", }, }, "Type": "AWS::EC2::VPCEndpoint", }, "networkvpcEndpointCloudWatchLogs8028B180": Object { "Properties": Object { "PrivateDnsEnabled": true, "SecurityGroupIds": Array [ Object { "Fn::GetAtt": Array [ "networkvpcEndpointCloudWatchLogsSecurityGroup16037CE5", "GroupId", ], }, ], "ServiceName": Object { "Fn::Join": Array [ "", Array [ "com.amazonaws.", Object { "Ref": "AWS::Region", }, ".logs", ], ], }, "SubnetIds": Array [ Object { "Ref": "networkobjectextensionVpcPrivateSubnetASubnet1SubnetE5FAF545", }, Object { "Ref": "networkobjectextensionVpcPrivateSubnetASubnet2SubnetCEA49EBF", }, ], "VpcEndpointType": "Interface", "VpcId": Object { "Ref": "networkobjectextensionVpcB3285E3D", }, }, "Type": "AWS::EC2::VPCEndpoint", }, "networkvpcEndpointCloudWatchLogsSecurityGroup16037CE5": Object { "Properties": Object { "GroupDescription": "MyTestStack/network/vpcEndpointCloudWatchLogs/SecurityGroup", "SecurityGroupEgress": Array [ Object { "CidrIp": "0.0.0.0/0", "Description": "Allow all outbound traffic by default", "IpProtocol": "-1", }, ], "SecurityGroupIngress": Array [ Object { "CidrIp": Object { "Fn::GetAtt": Array [ "networkobjectextensionVpcB3285E3D", "CidrBlock", ], }, "Description": Object { "Fn::Join": Array [ "", Array [ "from ", Object { "Fn::GetAtt": Array [ "networkobjectextensionVpcB3285E3D", "CidrBlock", ], }, ":443", ], ], }, "FromPort": 443, "IpProtocol": "tcp", "ToPort": 443, }, ], "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], "VpcId": Object { "Ref": "networkobjectextensionVpcB3285E3D", }, }, "Type": "AWS::EC2::SecurityGroup", }, "networkvpcEndpointCloudWatchSecurityGroup914A2E61": Object { "Properties": Object { "GroupDescription": "MyTestStack/network/vpcEndpointCloudWatch/SecurityGroup", "SecurityGroupEgress": Array [ Object { "CidrIp": "0.0.0.0/0", "Description": "Allow all outbound traffic by default", "IpProtocol": "-1", }, ], "SecurityGroupIngress": Array [ Object { "CidrIp": Object { "Fn::GetAtt": Array [ "networkobjectextensionVpcB3285E3D", "CidrBlock", ], }, "Description": Object { "Fn::Join": Array [ "", Array [ "from ", Object { "Fn::GetAtt": Array [ "networkobjectextensionVpcB3285E3D", "CidrBlock", ], }, ":443", ], ], }, "FromPort": 443, "IpProtocol": "tcp", "ToPort": 443, }, ], "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], "VpcId": Object { "Ref": "networkobjectextensionVpcB3285E3D", }, }, "Type": "AWS::EC2::SecurityGroup", }, "networkvpcEndpointDynamoDBCAD57968": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": "dynamodb:*", "Condition": Object { "ArnEquals": Object { "aws:PrincipalArn": Object { "Fn::GetAtt": Array [ "autoconfigapiExecutionRole3A140D76", "Arn", ], }, }, }, "Effect": "Allow", "Principal": Object { "AWS": "*", }, "Resource": Array [ Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "DataSourcesAuditsTable1F631F88", "Arn", ], }, "/index/*", ], ], }, Object { "Fn::GetAtt": Array [ "DataSourcesAuditsTable1F631F88", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "DataSourcesObjectsTable3C1B7D58", "Arn", ], }, "/index/*", ], ], }, Object { "Fn::GetAtt": Array [ "DataSourcesObjectsTable3C1B7D58", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "DataSourcesRuleBundlesTableEC40370C", "Arn", ], }, "/index/*", ], ], }, Object { "Fn::GetAtt": Array [ "DataSourcesRuleBundlesTableEC40370C", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "DataSourcesRulesTable1F07B779", "Arn", ], }, "/index/*", ], ], }, Object { "Fn::GetAtt": Array [ "DataSourcesRulesTable1F07B779", "Arn", ], }, ], }, Object { "Action": "dynamodb:*", "Condition": Object { "ArnEquals": Object { "aws:PrincipalArn": Object { "Fn::GetAtt": Array [ "autoconfigscheduleFunctionExecutionRole88B49F22", "Arn", ], }, }, }, "Effect": "Allow", "Principal": Object { "AWS": "*", }, "Resource": Array [ Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "DataSourcesAuditsTable1F631F88", "Arn", ], }, "/index/*", ], ], }, Object { "Fn::GetAtt": Array [ "DataSourcesAuditsTable1F631F88", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "DataSourcesObjectsTable3C1B7D58", "Arn", ], }, "/index/*", ], ], }, Object { "Fn::GetAtt": Array [ "DataSourcesObjectsTable3C1B7D58", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "DataSourcesRuleBundlesTableEC40370C", "Arn", ], }, "/index/*", ], ], }, Object { "Fn::GetAtt": Array [ "DataSourcesRuleBundlesTableEC40370C", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "DataSourcesRulesTable1F07B779", "Arn", ], }, "/index/*", ], ], }, Object { "Fn::GetAtt": Array [ "DataSourcesRulesTable1F07B779", "Arn", ], }, ], }, Object { "Action": "dynamodb:*", "Condition": Object { "ArnEquals": Object { "aws:PrincipalArn": Object { "Fn::GetAtt": Array [ "autoconfigExecutionRoleFB25D9EC", "Arn", ], }, }, }, "Effect": "Allow", "Principal": Object { "AWS": "*", }, "Resource": Array [ Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "DataSourcesAuditsTable1F631F88", "Arn", ], }, "/index/*", ], ], }, Object { "Fn::GetAtt": Array [ "DataSourcesAuditsTable1F631F88", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "DataSourcesObjectsTable3C1B7D58", "Arn", ], }, "/index/*", ], ], }, Object { "Fn::GetAtt": Array [ "DataSourcesObjectsTable3C1B7D58", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "DataSourcesRuleBundlesTableEC40370C", "Arn", ], }, "/index/*", ], ], }, Object { "Fn::GetAtt": Array [ "DataSourcesRuleBundlesTableEC40370C", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "DataSourcesRulesTable1F07B779", "Arn", ], }, "/index/*", ], ], }, Object { "Fn::GetAtt": Array [ "DataSourcesRulesTable1F07B779", "Arn", ], }, ], }, ], "Version": "2012-10-17", }, "RouteTableIds": Array [ Object { "Ref": "networkobjectextensionVpcPrivateSubnetASubnet1RouteTableE4C2BEB8", }, Object { "Ref": "networkobjectextensionVpcPrivateSubnetASubnet2RouteTable3DBCAB68", }, ], "ServiceName": Object { "Fn::Join": Array [ "", Array [ "com.amazonaws.", Object { "Ref": "AWS::Region", }, ".dynamodb", ], ], }, "VpcEndpointType": "Gateway", "VpcId": Object { "Ref": "networkobjectextensionVpcB3285E3D", }, }, "Type": "AWS::EC2::VPCEndpoint", }, "networkvpcEndpointEC20570E7B3": Object { "Properties": Object { "PrivateDnsEnabled": true, "SecurityGroupIds": Array [ Object { "Fn::GetAtt": Array [ "networkvpcEndpointEC2SecurityGroup2B2FBDFE", "GroupId", ], }, ], "ServiceName": Object { "Fn::Join": Array [ "", Array [ "com.amazonaws.", Object { "Ref": "AWS::Region", }, ".ec2", ], ], }, "SubnetIds": Array [ Object { "Ref": "networkobjectextensionVpcPrivateSubnetASubnet1SubnetE5FAF545", }, Object { "Ref": "networkobjectextensionVpcPrivateSubnetASubnet2SubnetCEA49EBF", }, ], "VpcEndpointType": "Interface", "VpcId": Object { "Ref": "networkobjectextensionVpcB3285E3D", }, }, "Type": "AWS::EC2::VPCEndpoint", }, "networkvpcEndpointEC2MESSAGES4A87EE41": Object { "Properties": Object { "PrivateDnsEnabled": true, "SecurityGroupIds": Array [ Object { "Fn::GetAtt": Array [ "networkvpcEndpointEC2MESSAGESSecurityGroup3E83DAD4", "GroupId", ], }, ], "ServiceName": Object { "Fn::Join": Array [ "", Array [ "com.amazonaws.", Object { "Ref": "AWS::Region", }, ".ec2messages", ], ], }, "SubnetIds": Array [ Object { "Ref": "networkobjectextensionVpcPrivateSubnetASubnet1SubnetE5FAF545", }, Object { "Ref": "networkobjectextensionVpcPrivateSubnetASubnet2SubnetCEA49EBF", }, ], "VpcEndpointType": "Interface", "VpcId": Object { "Ref": "networkobjectextensionVpcB3285E3D", }, }, "Type": "AWS::EC2::VPCEndpoint", }, "networkvpcEndpointEC2MESSAGESSecurityGroup3E83DAD4": Object { "Properties": Object { "GroupDescription": "MyTestStack/network/vpcEndpointEC2MESSAGES/SecurityGroup", "SecurityGroupEgress": Array [ Object { "CidrIp": "0.0.0.0/0", "Description": "Allow all outbound traffic by default", "IpProtocol": "-1", }, ], "SecurityGroupIngress": Array [ Object { "CidrIp": Object { "Fn::GetAtt": Array [ "networkobjectextensionVpcB3285E3D", "CidrBlock", ], }, "Description": Object { "Fn::Join": Array [ "", Array [ "from ", Object { "Fn::GetAtt": Array [ "networkobjectextensionVpcB3285E3D", "CidrBlock", ], }, ":443", ], ], }, "FromPort": 443, "IpProtocol": "tcp", "ToPort": 443, }, ], "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], "VpcId": Object { "Ref": "networkobjectextensionVpcB3285E3D", }, }, "Type": "AWS::EC2::SecurityGroup", }, "networkvpcEndpointEC2SecurityGroup2B2FBDFE": Object { "Properties": Object { "GroupDescription": "MyTestStack/network/vpcEndpointEC2/SecurityGroup", "SecurityGroupEgress": Array [ Object { "CidrIp": "0.0.0.0/0", "Description": "Allow all outbound traffic by default", "IpProtocol": "-1", }, ], "SecurityGroupIngress": Array [ Object { "CidrIp": Object { "Fn::GetAtt": Array [ "networkobjectextensionVpcB3285E3D", "CidrBlock", ], }, "Description": Object { "Fn::Join": Array [ "", Array [ "from ", Object { "Fn::GetAtt": Array [ "networkobjectextensionVpcB3285E3D", "CidrBlock", ], }, ":443", ], ], }, "FromPort": 443, "IpProtocol": "tcp", "ToPort": 443, }, ], "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], "VpcId": Object { "Ref": "networkobjectextensionVpcB3285E3D", }, }, "Type": "AWS::EC2::SecurityGroup", }, "networkvpcEndpointKMSB826187B": Object { "Properties": Object { "PrivateDnsEnabled": true, "SecurityGroupIds": Array [ Object { "Fn::GetAtt": Array [ "networkvpcEndpointKMSSecurityGroup1BA76D20", "GroupId", ], }, ], "ServiceName": Object { "Fn::Join": Array [ "", Array [ "com.amazonaws.", Object { "Ref": "AWS::Region", }, ".kms", ], ], }, "SubnetIds": Array [ Object { "Ref": "networkobjectextensionVpcPrivateSubnetASubnet1SubnetE5FAF545", }, Object { "Ref": "networkobjectextensionVpcPrivateSubnetASubnet2SubnetCEA49EBF", }, ], "VpcEndpointType": "Interface", "VpcId": Object { "Ref": "networkobjectextensionVpcB3285E3D", }, }, "Type": "AWS::EC2::VPCEndpoint", }, "networkvpcEndpointKMSSecurityGroup1BA76D20": Object { "Properties": Object { "GroupDescription": "MyTestStack/network/vpcEndpointKMS/SecurityGroup", "SecurityGroupEgress": Array [ Object { "CidrIp": "0.0.0.0/0", "Description": "Allow all outbound traffic by default", "IpProtocol": "-1", }, ], "SecurityGroupIngress": Array [ Object { "CidrIp": Object { "Fn::GetAtt": Array [ "networkobjectextensionVpcB3285E3D", "CidrBlock", ], }, "Description": Object { "Fn::Join": Array [ "", Array [ "from ", Object { "Fn::GetAtt": Array [ "networkobjectextensionVpcB3285E3D", "CidrBlock", ], }, ":443", ], ], }, "FromPort": 443, "IpProtocol": "tcp", "ToPort": 443, }, ], "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], "VpcId": Object { "Ref": "networkobjectextensionVpcB3285E3D", }, }, "Type": "AWS::EC2::SecurityGroup", }, "networkvpcEndpointLambda3825BE15": Object { "Properties": Object { "PrivateDnsEnabled": true, "SecurityGroupIds": Array [ Object { "Fn::GetAtt": Array [ "networkvpcEndpointLambdaSecurityGroupAB985BEA", "GroupId", ], }, ], "ServiceName": Object { "Fn::Join": Array [ "", Array [ "com.amazonaws.", Object { "Ref": "AWS::Region", }, ".lambda", ], ], }, "SubnetIds": Array [ Object { "Ref": "networkobjectextensionVpcPrivateSubnetASubnet1SubnetE5FAF545", }, Object { "Ref": "networkobjectextensionVpcPrivateSubnetASubnet2SubnetCEA49EBF", }, ], "VpcEndpointType": "Interface", "VpcId": Object { "Ref": "networkobjectextensionVpcB3285E3D", }, }, "Type": "AWS::EC2::VPCEndpoint", }, "networkvpcEndpointLambdaSecurityGroupAB985BEA": Object { "Properties": Object { "GroupDescription": "MyTestStack/network/vpcEndpointLambda/SecurityGroup", "SecurityGroupEgress": Array [ Object { "CidrIp": "0.0.0.0/0", "Description": "Allow all outbound traffic by default", "IpProtocol": "-1", }, ], "SecurityGroupIngress": Array [ Object { "CidrIp": Object { "Fn::GetAtt": Array [ "networkobjectextensionVpcB3285E3D", "CidrBlock", ], }, "Description": Object { "Fn::Join": Array [ "", Array [ "from ", Object { "Fn::GetAtt": Array [ "networkobjectextensionVpcB3285E3D", "CidrBlock", ], }, ":443", ], ], }, "FromPort": 443, "IpProtocol": "tcp", "ToPort": 443, }, ], "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], "VpcId": Object { "Ref": "networkobjectextensionVpcB3285E3D", }, }, "Type": "AWS::EC2::SecurityGroup", }, "networkvpcEndpointSNSC3189655": Object { "Properties": Object { "PrivateDnsEnabled": true, "SecurityGroupIds": Array [ Object { "Fn::GetAtt": Array [ "networkvpcEndpointSNSSecurityGroup5F2F1466", "GroupId", ], }, ], "ServiceName": Object { "Fn::Join": Array [ "", Array [ "com.amazonaws.", Object { "Ref": "AWS::Region", }, ".sns", ], ], }, "SubnetIds": Array [ Object { "Ref": "networkobjectextensionVpcPrivateSubnetASubnet1SubnetE5FAF545", }, Object { "Ref": "networkobjectextensionVpcPrivateSubnetASubnet2SubnetCEA49EBF", }, ], "VpcEndpointType": "Interface", "VpcId": Object { "Ref": "networkobjectextensionVpcB3285E3D", }, }, "Type": "AWS::EC2::VPCEndpoint", }, "networkvpcEndpointSNSSecurityGroup5F2F1466": Object { "Properties": Object { "GroupDescription": "MyTestStack/network/vpcEndpointSNS/SecurityGroup", "SecurityGroupEgress": Array [ Object { "CidrIp": "0.0.0.0/0", "Description": "Allow all outbound traffic by default", "IpProtocol": "-1", }, ], "SecurityGroupIngress": Array [ Object { "CidrIp": Object { "Fn::GetAtt": Array [ "networkobjectextensionVpcB3285E3D", "CidrBlock", ], }, "Description": Object { "Fn::Join": Array [ "", Array [ "from ", Object { "Fn::GetAtt": Array [ "networkobjectextensionVpcB3285E3D", "CidrBlock", ], }, ":443", ], ], }, "FromPort": 443, "IpProtocol": "tcp", "ToPort": 443, }, ], "Tags": Array [ Object { "Key": "SOLUTION-ID", "Value": "solution-id", }, Object { "Key": "VERSION", "Value": "1.1.0", }, ], "VpcId": Object { "Ref": "networkobjectextensionVpcB3285E3D", }, }, "Type": "AWS::EC2::SecurityGroup", }, }, } `;