From bccc71b90531fb6bba8465b578fc2accc4dc6e34 Mon Sep 17 00:00:00 2001 From: Manuel Trejo Rico <35301479+manuel-trejo-rico@users.noreply.github.com> Date: Mon, 22 Jun 2020 06:58:46 +0200 Subject: [PATCH 01/57] feat(schema): Add OpenApiVersion field to serverless Api (#281) --- cloudformation/serverless/aws-serverless-api.go | 5 +++++ generate/sam-2016-10-31.json | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/cloudformation/serverless/aws-serverless-api.go b/cloudformation/serverless/aws-serverless-api.go index 0c433a4c51..6a9069b977 100644 --- a/cloudformation/serverless/aws-serverless-api.go +++ b/cloudformation/serverless/aws-serverless-api.go @@ -67,6 +67,11 @@ type Api struct { // See: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessapi Name string `json:"Name,omitempty"` + // OpenApiVersion AWS CloudFormation Property + // Required: false + // See: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessapi + OpenApiVersion string `json:"OpenApiVersion,omitempty"` + // StageName AWS CloudFormation Property // Required: true // See: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessapi diff --git a/generate/sam-2016-10-31.json b/generate/sam-2016-10-31.json index 7849d20dc1..8a5a8d0728 100644 --- a/generate/sam-2016-10-31.json +++ b/generate/sam-2016-10-31.json @@ -252,6 +252,12 @@ "Required": false, "Type": "AccessLogSetting", "UpdateType": "Immutable" + }, + "OpenApiVersion": { + "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessapi", + "Required": false, + "PrimitiveType": "String", + "UpdateType": "Immutable" } } }, From 7c906d9d744b09e5bf217418ff32a1cd97b093e5 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Mon, 22 Jun 2020 04:59:25 +0000 Subject: [PATCH 02/57] chore(release): 4.9.0 [skip ci] # [4.9.0](https://github.com/awslabs/goformation/compare/v4.8.0...v4.9.0) (2020-06-22) ### Features * **schema:** Add OpenApiVersion field to serverless Api ([#281](https://github.com/awslabs/goformation/issues/281)) ([bccc71b](https://github.com/awslabs/goformation/commit/bccc71b90531fb6bba8465b578fc2accc4dc6e34)) --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 32be26350c..979c1ac5e9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # GoFormation Versioning Changelog +# [4.9.0](https://github.com/awslabs/goformation/compare/v4.8.0...v4.9.0) (2020-06-22) + + +### Features + +* **schema:** Add OpenApiVersion field to serverless Api ([#281](https://github.com/awslabs/goformation/issues/281)) ([bccc71b](https://github.com/awslabs/goformation/commit/bccc71b90531fb6bba8465b578fc2accc4dc6e34)) + # [4.8.0](https://github.com/awslabs/goformation/compare/v4.7.1...v4.8.0) (2020-04-04) From 2a9e572313485023dc4e57cb8facda72a3571307 Mon Sep 17 00:00:00 2001 From: Matteo Date: Mon, 22 Jun 2020 06:59:59 +0200 Subject: [PATCH 03/57] feat(schema): Serverless eventbridgeruleevent (#279) * added EventBridgeRuleEvent * EventBridgeRuleEvent doc link * added EventBridgeRuleEvent * trigger GitHub actions Co-authored-by: Matteo Ridolfi --- ...erverless-function_eventbridgeruleevent.go | 50 +++++++++++++++++++ .../serverless/function_properties.go | 9 +++- generate/sam-2016-10-31.json | 34 ++++++++++++- 3 files changed, 90 insertions(+), 3 deletions(-) create mode 100644 cloudformation/serverless/aws-serverless-function_eventbridgeruleevent.go diff --git a/cloudformation/serverless/aws-serverless-function_eventbridgeruleevent.go b/cloudformation/serverless/aws-serverless-function_eventbridgeruleevent.go new file mode 100644 index 0000000000..09870ab695 --- /dev/null +++ b/cloudformation/serverless/aws-serverless-function_eventbridgeruleevent.go @@ -0,0 +1,50 @@ +package serverless + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Function_EventBridgeRuleEvent AWS CloudFormation Resource (AWS::Serverless::Function.EventBridgeRuleEvent) +// See: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#eventbridgerule +type Function_EventBridgeRuleEvent struct { + + // EventBusName AWS CloudFormation Property + // Required: false + // See: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#eventbridgerule + EventBusName string `json:"EventBusName,omitempty"` + + // Input AWS CloudFormation Property + // Required: false + // See: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#eventbridgerule + Input string `json:"Input,omitempty"` + + // InputPath AWS CloudFormation Property + // Required: false + // See: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#eventbridgerule + InputPath string `json:"InputPath,omitempty"` + + // Pattern AWS CloudFormation Property + // Required: true + // See: https://docs.aws.amazon.com/eventbridge/latest/userguide/filtering-examples-structure.html + Pattern interface{} `json:"Pattern,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Function_EventBridgeRuleEvent) AWSCloudFormationType() string { + return "AWS::Serverless::Function.EventBridgeRuleEvent" +} diff --git a/cloudformation/serverless/function_properties.go b/cloudformation/serverless/function_properties.go index 2fd8e36be7..c00b031d38 100644 --- a/cloudformation/serverless/function_properties.go +++ b/cloudformation/serverless/function_properties.go @@ -7,7 +7,7 @@ import ( "github.com/awslabs/goformation/v4/cloudformation/utils" ) -// Function_Properties is a helper struct that can hold either a S3Event, SNSEvent, SQSEvent, KinesisEvent, DynamoDBEvent, ApiEvent, ScheduleEvent, CloudWatchEventEvent, CloudWatchLogsEvent, IoTRuleEvent, or AlexaSkillEvent value +// Function_Properties is a helper struct that can hold either a S3Event, SNSEvent, SQSEvent, KinesisEvent, DynamoDBEvent, ApiEvent, ScheduleEvent, CloudWatchEventEvent, CloudWatchLogsEvent, IoTRuleEvent, AlexaSkillEvent, or EventBridgeRuleEvent value type Function_Properties struct { S3Event *Function_S3Event SNSEvent *Function_SNSEvent @@ -20,6 +20,7 @@ type Function_Properties struct { CloudWatchLogsEvent *Function_CloudWatchLogsEvent IoTRuleEvent *Function_IoTRuleEvent AlexaSkillEvent *Function_AlexaSkillEvent + EventBridgeRuleEvent *Function_EventBridgeRuleEvent } func (r Function_Properties) value() interface{} { @@ -69,6 +70,10 @@ func (r Function_Properties) value() interface{} { ret = append(ret, *r.AlexaSkillEvent) } + if r.EventBridgeRuleEvent != nil { + ret = append(ret, *r.EventBridgeRuleEvent) + } + sort.Sort(utils.ByJSONLength(ret)) // Heuristic to select best attribute if len(ret) > 0 { return ret[0] @@ -117,6 +122,8 @@ func (r *Function_Properties) UnmarshalJSON(b []byte) error { json.Unmarshal(b, &r.AlexaSkillEvent) + json.Unmarshal(b, &r.EventBridgeRuleEvent) + case []interface{}: } diff --git a/generate/sam-2016-10-31.json b/generate/sam-2016-10-31.json index 8a5a8d0728..318ea996f0 100644 --- a/generate/sam-2016-10-31.json +++ b/generate/sam-2016-10-31.json @@ -447,7 +447,8 @@ "CloudWatchEventEvent", "CloudWatchLogsEvent", "IoTRuleEvent", - "AlexaSkillEvent" + "AlexaSkillEvent", + "EventBridgeRuleEvent" ], "UpdateType": "Immutable" } @@ -692,6 +693,35 @@ } } }, + "AWS::Serverless::Function.EventBridgeRuleEvent": { + "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#eventbridgerule", + "Properties": { + "Pattern": { + "Documentation": "https://docs.aws.amazon.com/eventbridge/latest/userguide/filtering-examples-structure.html", + "Required": true, + "PrimitiveType": "Json", + "UpdateType": "Immutable" + }, + "EventBusName": { + "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#eventbridgerule", + "Required": false, + "PrimitiveType": "String", + "UpdateType": "Immutable" + }, + "Input": { + "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#eventbridgerule", + "Required": false, + "PrimitiveType": "String", + "UpdateType": "Immutable" + }, + "InputPath": { + "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#eventbridgerule", + "Required": false, + "PrimitiveType": "String", + "UpdateType": "Immutable" + } + } + }, "AWS::Serverless::Function.VpcConfig": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-vpcconfig.html", "Properties": { @@ -1263,4 +1293,4 @@ } } } -} \ No newline at end of file +} From eeb12e7fad0a5c27bc61f17fdac90f0794b3f6eb Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Mon, 22 Jun 2020 05:00:39 +0000 Subject: [PATCH 04/57] chore(release): 4.10.0 [skip ci] # [4.10.0](https://github.com/awslabs/goformation/compare/v4.9.0...v4.10.0) (2020-06-22) ### Features * **schema:** Serverless eventbridgeruleevent ([#279](https://github.com/awslabs/goformation/issues/279)) ([2a9e572](https://github.com/awslabs/goformation/commit/2a9e572313485023dc4e57cb8facda72a3571307)) --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 979c1ac5e9..7e0d76372a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # GoFormation Versioning Changelog +# [4.10.0](https://github.com/awslabs/goformation/compare/v4.9.0...v4.10.0) (2020-06-22) + + +### Features + +* **schema:** Serverless eventbridgeruleevent ([#279](https://github.com/awslabs/goformation/issues/279)) ([2a9e572](https://github.com/awslabs/goformation/commit/2a9e572313485023dc4e57cb8facda72a3571307)) + # [4.9.0](https://github.com/awslabs/goformation/compare/v4.8.0...v4.9.0) (2020-06-22) From 6751e5b6ecbe1daee45171528cb1300efc6fb300 Mon Sep 17 00:00:00 2001 From: Graham Jenson Date: Sun, 21 Jun 2020 22:01:33 -0700 Subject: [PATCH 05/57] fix(generator): update the generation making it easier to fix CF schema errors to generate (#285) * Generation script updates * go generate --- .../aws-accessanalyzer-analyzer.go | 45 +- ...aws-accessanalyzer-analyzer_archiverule.go | 3 + .../aws-accessanalyzer-analyzer_filter.go | 3 + .../acmpca/aws-acmpca-certificate.go | 45 +- .../acmpca/aws-acmpca-certificate_validity.go | 3 + .../acmpca/aws-acmpca-certificateauthority.go | 45 +- ...a-certificateauthority_crlconfiguration.go | 3 + ...ficateauthority_revocationconfiguration.go | 3 + ...aws-acmpca-certificateauthority_subject.go | 3 + ...s-acmpca-certificateauthorityactivation.go | 45 +- cloudformation/all.go | 1018 +- .../amazonmq/aws-amazonmq-broker.go | 45 +- .../aws-amazonmq-broker_configurationid.go | 3 + .../aws-amazonmq-broker_encryptionoptions.go | 3 + .../amazonmq/aws-amazonmq-broker_loglist.go | 3 + .../aws-amazonmq-broker_maintenancewindow.go | 3 + .../amazonmq/aws-amazonmq-broker_tagsentry.go | 3 + .../amazonmq/aws-amazonmq-broker_user.go | 3 + .../amazonmq/aws-amazonmq-configuration.go | 45 +- .../aws-amazonmq-configuration_tagsentry.go | 3 + .../aws-amazonmq-configurationassociation.go | 45 +- ...onfigurationassociation_configurationid.go | 3 + cloudformation/amplify/aws-amplify-app.go | 45 +- ...ws-amplify-app_autobranchcreationconfig.go | 3 + .../aws-amplify-app_basicauthconfig.go | 3 + .../amplify/aws-amplify-app_customrule.go | 3 + .../aws-amplify-app_environmentvariable.go | 3 + cloudformation/amplify/aws-amplify-branch.go | 45 +- .../aws-amplify-branch_basicauthconfig.go | 3 + .../aws-amplify-branch_environmentvariable.go | 3 + cloudformation/amplify/aws-amplify-domain.go | 45 +- .../aws-amplify-domain_subdomainsetting.go | 3 + .../apigateway/aws-apigateway-account.go | 45 +- .../apigateway/aws-apigateway-apikey.go | 45 +- .../aws-apigateway-apikey_stagekey.go | 3 + .../apigateway/aws-apigateway-authorizer.go | 45 +- .../aws-apigateway-basepathmapping.go | 45 +- .../aws-apigateway-clientcertificate.go | 45 +- .../apigateway/aws-apigateway-deployment.go | 45 +- ...-apigateway-deployment_accesslogsetting.go | 3 + ...aws-apigateway-deployment_canarysetting.go | 3 + ...way-deployment_deploymentcanarysettings.go | 3 + ...aws-apigateway-deployment_methodsetting.go | 3 + ...-apigateway-deployment_stagedescription.go | 3 + .../aws-apigateway-documentationpart.go | 45 +- ...s-apigateway-documentationpart_location.go | 3 + .../aws-apigateway-documentationversion.go | 45 +- .../apigateway/aws-apigateway-domainname.go | 45 +- ...ateway-domainname_endpointconfiguration.go | 3 + .../aws-apigateway-gatewayresponse.go | 45 +- .../apigateway/aws-apigateway-method.go | 45 +- .../aws-apigateway-method_integration.go | 3 + ...s-apigateway-method_integrationresponse.go | 3 + .../aws-apigateway-method_methodresponse.go | 3 + .../apigateway/aws-apigateway-model.go | 45 +- .../aws-apigateway-requestvalidator.go | 45 +- .../apigateway/aws-apigateway-resource.go | 45 +- .../apigateway/aws-apigateway-restapi.go | 45 +- ...pigateway-restapi_endpointconfiguration.go | 3 + .../aws-apigateway-restapi_s3location.go | 3 + .../apigateway/aws-apigateway-stage.go | 45 +- .../aws-apigateway-stage_accesslogsetting.go | 3 + .../aws-apigateway-stage_canarysetting.go | 3 + .../aws-apigateway-stage_methodsetting.go | 3 + .../apigateway/aws-apigateway-usageplan.go | 45 +- .../aws-apigateway-usageplan_apistage.go | 3 + .../aws-apigateway-usageplan_quotasettings.go | 3 + ...s-apigateway-usageplan_throttlesettings.go | 3 + .../apigateway/aws-apigateway-usageplankey.go | 45 +- .../apigateway/aws-apigateway-vpclink.go | 45 +- .../apigatewayv2/aws-apigatewayv2-api.go | 45 +- .../aws-apigatewayv2-api_bodys3location.go | 3 + .../apigatewayv2/aws-apigatewayv2-api_cors.go | 3 + .../aws-apigatewayv2-apimapping.go | 45 +- .../aws-apigatewayv2-authorizer.go | 45 +- ...pigatewayv2-authorizer_jwtconfiguration.go | 3 + .../aws-apigatewayv2-deployment.go | 45 +- .../aws-apigatewayv2-domainname.go | 45 +- ...ayv2-domainname_domainnameconfiguration.go | 3 + .../aws-apigatewayv2-integration.go | 55 +- .../aws-apigatewayv2-integration_tlsconfig.go | 35 + .../aws-apigatewayv2-integrationresponse.go | 45 +- .../apigatewayv2/aws-apigatewayv2-model.go | 45 +- .../apigatewayv2/aws-apigatewayv2-route.go | 45 +- ...apigatewayv2-route_parameterconstraints.go | 3 + .../aws-apigatewayv2-routeresponse.go | 45 +- ...ayv2-routeresponse_parameterconstraints.go | 3 + .../apigatewayv2/aws-apigatewayv2-stage.go | 45 +- ...ws-apigatewayv2-stage_accesslogsettings.go | 3 + .../aws-apigatewayv2-stage_routesettings.go | 3 + .../appconfig/aws-appconfig-application.go | 45 +- .../aws-appconfig-application_tags.go | 3 + .../aws-appconfig-configurationprofile.go | 45 +- ...aws-appconfig-configurationprofile_tags.go | 3 + ...pconfig-configurationprofile_validators.go | 3 + .../appconfig/aws-appconfig-deployment.go | 45 +- .../aws-appconfig-deployment_tags.go | 3 + .../aws-appconfig-deploymentstrategy.go | 45 +- .../aws-appconfig-deploymentstrategy_tags.go | 3 + .../appconfig/aws-appconfig-environment.go | 45 +- .../aws-appconfig-environment_monitors.go | 3 + .../aws-appconfig-environment_tags.go | 3 + ...ws-appconfig-hostedconfigurationversion.go | 131 + ...s-applicationautoscaling-scalabletarget.go | 45 +- ...ing-scalabletarget_scalabletargetaction.go | 3 + ...oscaling-scalabletarget_scheduledaction.go | 3 + ...toscaling-scalabletarget_suspendedstate.go | 3 + ...ws-applicationautoscaling-scalingpolicy.go | 45 +- ...ingpolicy_customizedmetricspecification.go | 3 + ...toscaling-scalingpolicy_metricdimension.go | 3 + ...ingpolicy_predefinedmetricspecification.go | 3 + ...utoscaling-scalingpolicy_stepadjustment.go | 3 + ...ngpolicy_stepscalingpolicyconfiguration.go | 3 + ...argettrackingscalingpolicyconfiguration.go | 3 + cloudformation/appmesh/aws-appmesh-mesh.go | 45 +- .../appmesh/aws-appmesh-mesh_egressfilter.go | 3 + .../appmesh/aws-appmesh-mesh_meshspec.go | 3 + cloudformation/appmesh/aws-appmesh-route.go | 50 +- .../appmesh/aws-appmesh-route_duration.go | 3 + .../aws-appmesh-route_grpcretrypolicy.go | 3 + .../appmesh/aws-appmesh-route_grpcroute.go | 3 + .../aws-appmesh-route_grpcrouteaction.go | 3 + .../aws-appmesh-route_grpcroutematch.go | 3 + .../aws-appmesh-route_grpcroutemetadata.go | 3 + ...mesh-route_grpcroutemetadatamatchmethod.go | 3 + .../aws-appmesh-route_headermatchmethod.go | 3 + .../aws-appmesh-route_httpretrypolicy.go | 3 + .../appmesh/aws-appmesh-route_httproute.go | 3 + .../aws-appmesh-route_httprouteaction.go | 3 + .../aws-appmesh-route_httprouteheader.go | 3 + .../aws-appmesh-route_httproutematch.go | 3 + .../appmesh/aws-appmesh-route_matchrange.go | 3 + .../appmesh/aws-appmesh-route_routespec.go | 3 + .../appmesh/aws-appmesh-route_tcproute.go | 3 + .../aws-appmesh-route_tcprouteaction.go | 3 + .../aws-appmesh-route_weightedtarget.go | 3 + .../appmesh/aws-appmesh-virtualnode.go | 50 +- .../aws-appmesh-virtualnode_accesslog.go | 3 + ...irtualnode_awscloudmapinstanceattribute.go | 3 + ...virtualnode_awscloudmapservicediscovery.go | 3 + .../aws-appmesh-virtualnode_backend.go | 3 + ...aws-appmesh-virtualnode_backenddefaults.go | 35 + .../aws-appmesh-virtualnode_clientpolicy.go | 35 + ...aws-appmesh-virtualnode_clientpolicytls.go | 45 + ...appmesh-virtualnode_dnsservicediscovery.go | 3 + .../aws-appmesh-virtualnode_fileaccesslog.go | 3 + .../aws-appmesh-virtualnode_healthcheck.go | 3 + .../aws-appmesh-virtualnode_listener.go | 8 + .../aws-appmesh-virtualnode_listenertls.go | 40 + ...h-virtualnode_listenertlsacmcertificate.go | 35 + ...mesh-virtualnode_listenertlscertificate.go | 40 + ...-virtualnode_listenertlsfilecertificate.go | 40 + .../aws-appmesh-virtualnode_logging.go | 3 + .../aws-appmesh-virtualnode_portmapping.go | 3 + ...ws-appmesh-virtualnode_servicediscovery.go | 3 + ...ppmesh-virtualnode_tlsvalidationcontext.go | 35 + ...irtualnode_tlsvalidationcontextacmtrust.go | 35 + ...rtualnode_tlsvalidationcontextfiletrust.go | 35 + ...h-virtualnode_tlsvalidationcontexttrust.go | 40 + ...aws-appmesh-virtualnode_virtualnodespec.go | 8 + ...pmesh-virtualnode_virtualservicebackend.go | 8 + .../appmesh/aws-appmesh-virtualrouter.go | 50 +- .../aws-appmesh-virtualrouter_portmapping.go | 3 + ...esh-virtualrouter_virtualrouterlistener.go | 3 + ...appmesh-virtualrouter_virtualrouterspec.go | 3 + .../appmesh/aws-appmesh-virtualservice.go | 50 +- ...rtualservice_virtualnodeserviceprovider.go | 3 + ...ualservice_virtualrouterserviceprovider.go | 3 + ...h-virtualservice_virtualserviceprovider.go | 3 + ...pmesh-virtualservice_virtualservicespec.go | 3 + .../aws-appstream-directoryconfig.go | 45 +- ...rectoryconfig_serviceaccountcredentials.go | 3 + .../appstream/aws-appstream-fleet.go | 45 +- .../aws-appstream-fleet_computecapacity.go | 3 + .../aws-appstream-fleet_domainjoininfo.go | 3 + .../aws-appstream-fleet_vpcconfig.go | 3 + .../appstream/aws-appstream-imagebuilder.go | 45 +- ...s-appstream-imagebuilder_accessendpoint.go | 3 + ...s-appstream-imagebuilder_domainjoininfo.go | 3 + .../aws-appstream-imagebuilder_vpcconfig.go | 3 + .../appstream/aws-appstream-stack.go | 45 +- .../aws-appstream-stack_accessendpoint.go | 3 + ...aws-appstream-stack_applicationsettings.go | 3 + .../aws-appstream-stack_storageconnector.go | 3 + .../aws-appstream-stack_usersetting.go | 3 + .../aws-appstream-stackfleetassociation.go | 45 +- .../aws-appstream-stackuserassociation.go | 45 +- .../appstream/aws-appstream-user.go | 45 +- .../appsync/aws-appsync-apicache.go | 45 +- cloudformation/appsync/aws-appsync-apikey.go | 45 +- .../appsync/aws-appsync-datasource.go | 45 +- ...-appsync-datasource_authorizationconfig.go | 3 + .../aws-appsync-datasource_awsiamconfig.go | 3 + .../aws-appsync-datasource_deltasyncconfig.go | 3 + .../aws-appsync-datasource_dynamodbconfig.go | 3 + ...-appsync-datasource_elasticsearchconfig.go | 3 + .../aws-appsync-datasource_httpconfig.go | 3 + .../aws-appsync-datasource_lambdaconfig.go | 3 + ...ppsync-datasource_rdshttpendpointconfig.go | 3 + ...ync-datasource_relationaldatabaseconfig.go | 3 + .../aws-appsync-functionconfiguration.go | 45 +- .../appsync/aws-appsync-graphqlapi.go | 45 +- ...hqlapi_additionalauthenticationprovider.go | 3 + ...qlapi_additionalauthenticationproviders.go | 3 + ...ppsync-graphqlapi_cognitouserpoolconfig.go | 3 + .../aws-appsync-graphqlapi_logconfig.go | 3 + ...-appsync-graphqlapi_openidconnectconfig.go | 3 + .../appsync/aws-appsync-graphqlapi_tags.go | 3 + .../aws-appsync-graphqlapi_userpoolconfig.go | 3 + .../appsync/aws-appsync-graphqlschema.go | 45 +- .../appsync/aws-appsync-resolver.go | 45 +- .../aws-appsync-resolver_cachingconfig.go | 3 + ...nc-resolver_lambdaconflicthandlerconfig.go | 3 + .../aws-appsync-resolver_pipelineconfig.go | 3 + .../aws-appsync-resolver_syncconfig.go | 3 + cloudformation/ask/alexa-ask-skill.go | 45 +- ...a-ask-skill_authenticationconfiguration.go | 3 + .../ask/alexa-ask-skill_overrides.go | 3 + .../ask/alexa-ask-skill_skillpackage.go | 3 + .../athena/aws-athena-namedquery.go | 45 +- cloudformation/athena/aws-athena-workgroup.go | 136 + ...thena-workgroup_encryptionconfiguration.go | 40 + ...ws-athena-workgroup_resultconfiguration.go | 40 + ...na-workgroup_resultconfigurationupdates.go | 50 + .../athena/aws-athena-workgroup_tags.go | 36 + ...athena-workgroup_workgroupconfiguration.go | 55 + ...workgroup_workgroupconfigurationupdates.go | 60 + .../aws-autoscaling-autoscalinggroup.go | 58 +- ...-autoscalinggroup_instancesdistribution.go | 3 + ...scaling-autoscalinggroup_launchtemplate.go | 3 + ...utoscalinggroup_launchtemplateoverrides.go | 3 + ...calinggroup_launchtemplatespecification.go | 3 + ...scalinggroup_lifecyclehookspecification.go | 3 + ...ling-autoscalinggroup_metricscollection.go | 3 + ...g-autoscalinggroup_mixedinstancespolicy.go | 3 + ...oscalinggroup_notificationconfiguration.go | 3 + ...utoscaling-autoscalinggroup_tagproperty.go | 3 + .../aws-autoscaling-launchconfiguration.go | 45 +- ...scaling-launchconfiguration_blockdevice.go | 3 + ...-launchconfiguration_blockdevicemapping.go | 3 + .../aws-autoscaling-lifecyclehook.go | 45 +- .../aws-autoscaling-scalingpolicy.go | 45 +- ...ingpolicy_customizedmetricspecification.go | 3 + ...toscaling-scalingpolicy_metricdimension.go | 3 + ...ingpolicy_predefinedmetricspecification.go | 3 + ...utoscaling-scalingpolicy_stepadjustment.go | 3 + ...alingpolicy_targettrackingconfiguration.go | 3 + .../aws-autoscaling-scheduledaction.go | 45 +- .../aws-autoscalingplans-scalingplan.go | 45 +- ...lingplans-scalingplan_applicationsource.go | 3 + ...gplan_customizedloadmetricspecification.go | 3 + ...an_customizedscalingmetricspecification.go | 3 + ...calingplans-scalingplan_metricdimension.go | 3 + ...gplan_predefinedloadmetricspecification.go | 3 + ...an_predefinedscalingmetricspecification.go | 3 + ...ingplans-scalingplan_scalinginstruction.go | 3 + ...-autoscalingplans-scalingplan_tagfilter.go | 3 + ...scalingplan_targettrackingconfiguration.go | 3 + .../backup/aws-backup-backupplan.go | 45 +- ...ackup-backupplan_backupplanresourcetype.go | 3 + ...ackup-backupplan_backupruleresourcetype.go | 3 + ...ackup-backupplan_copyactionresourcetype.go | 3 + ...backup-backupplan_lifecycleresourcetype.go | 3 + .../backup/aws-backup-backupselection.go | 45 +- ...upselection_backupselectionresourcetype.go | 3 + ...p-backupselection_conditionresourcetype.go | 3 + .../backup/aws-backup-backupvault.go | 45 +- ...ckup-backupvault_notificationobjecttype.go | 3 + .../batch/aws-batch-computeenvironment.go | 45 +- ...tch-computeenvironment_computeresources.go | 3 + ...environment_launchtemplatespecification.go | 3 + .../batch/aws-batch-jobdefinition.go | 45 +- ...batch-jobdefinition_containerproperties.go | 11 +- .../batch/aws-batch-jobdefinition_device.go | 3 + .../aws-batch-jobdefinition_environment.go | 3 + ...aws-batch-jobdefinition_linuxparameters.go | 3 + .../aws-batch-jobdefinition_mountpoints.go | 3 + .../aws-batch-jobdefinition_nodeproperties.go | 3 + ...s-batch-jobdefinition_noderangeproperty.go | 3 + ...batch-jobdefinition_resourcerequirement.go | 3 + .../aws-batch-jobdefinition_retrystrategy.go | 3 + .../batch/aws-batch-jobdefinition_timeout.go | 3 + .../batch/aws-batch-jobdefinition_ulimit.go | 3 + .../batch/aws-batch-jobdefinition_volumes.go | 3 + .../aws-batch-jobdefinition_volumeshost.go | 3 + cloudformation/batch/aws-batch-jobqueue.go | 45 +- ...-batch-jobqueue_computeenvironmentorder.go | 3 + cloudformation/budgets/aws-budgets-budget.go | 45 +- .../budgets/aws-budgets-budget_budgetdata.go | 3 + .../budgets/aws-budgets-budget_costtypes.go | 3 + .../aws-budgets-budget_notification.go | 3 + ...gets-budget_notificationwithsubscribers.go | 3 + .../budgets/aws-budgets-budget_spend.go | 3 + .../budgets/aws-budgets-budget_subscriber.go | 3 + .../budgets/aws-budgets-budget_timeperiod.go | 3 + .../cassandra/aws-cassandra-keyspace.go | 106 + .../cassandra/aws-cassandra-table.go | 131 + .../aws-cassandra-table_billingmode.go | 40 + ...aws-cassandra-table_clusteringkeycolumn.go | 40 + .../cassandra/aws-cassandra-table_column.go | 40 + ...s-cassandra-table_provisionedthroughput.go | 40 + cloudformation/ce/aws-ce-costcategory.go | 116 + .../aws-certificatemanager-certificate.go | 55 +- ...ager-certificate_domainvalidationoption.go | 10 +- .../aws-chatbot-slackchannelconfiguration.go | 131 + .../cloud9/aws-cloud9-environmentec2.go | 50 +- .../aws-cloud9-environmentec2_repository.go | 3 + .../aws-cloudformation-customresource.go | 45 +- .../aws-cloudformation-macro.go | 45 +- .../aws-cloudformation-stack.go | 45 +- .../aws-cloudformation-waitcondition.go | 45 +- .../aws-cloudformation-waitconditionhandle.go | 45 +- cloudformation/cloudformation/tag.go | 3 + ...oudfront-cloudfrontoriginaccessidentity.go | 45 +- ...ty_cloudfrontoriginaccessidentityconfig.go | 3 + .../cloudfront/aws-cloudfront-distribution.go | 45 +- ...s-cloudfront-distribution_cachebehavior.go | 3 + .../aws-cloudfront-distribution_cookies.go | 3 + ...dfront-distribution_customerrorresponse.go | 3 + ...udfront-distribution_customoriginconfig.go | 3 + ...front-distribution_defaultcachebehavior.go | 3 + ...udfront-distribution_distributionconfig.go | 8 + ...cloudfront-distribution_forwardedvalues.go | 3 + ...-cloudfront-distribution_georestriction.go | 3 + ...-distribution_lambdafunctionassociation.go | 8 + .../aws-cloudfront-distribution_logging.go | 3 + .../aws-cloudfront-distribution_origin.go | 13 + ...udfront-distribution_origincustomheader.go | 3 + ...aws-cloudfront-distribution_origingroup.go | 45 + ...istribution_origingroupfailovercriteria.go | 35 + ...oudfront-distribution_origingroupmember.go | 35 + ...udfront-distribution_origingroupmembers.go | 40 + ...ws-cloudfront-distribution_origingroups.go | 40 + ...ws-cloudfront-distribution_restrictions.go | 3 + ...-cloudfront-distribution_s3originconfig.go | 3 + ...aws-cloudfront-distribution_statuscodes.go | 40 + ...oudfront-distribution_viewercertificate.go | 3 + .../aws-cloudfront-streamingdistribution.go | 45 +- ...loudfront-streamingdistribution_logging.go | 3 + ...oudfront-streamingdistribution_s3origin.go | 3 + ...istribution_streamingdistributionconfig.go | 3 + ...nt-streamingdistribution_trustedsigners.go | 3 + .../cloudtrail/aws-cloudtrail-trail.go | 45 +- .../aws-cloudtrail-trail_dataresource.go | 3 + .../aws-cloudtrail-trail_eventselector.go | 3 + .../cloudwatch/aws-cloudwatch-alarm.go | 45 +- .../aws-cloudwatch-alarm_dimension.go | 3 + .../cloudwatch/aws-cloudwatch-alarm_metric.go | 3 + .../aws-cloudwatch-alarm_metricdataquery.go | 8 + .../aws-cloudwatch-alarm_metricstat.go | 3 + .../aws-cloudwatch-anomalydetector.go | 45 +- ...loudwatch-anomalydetector_configuration.go | 3 + ...ws-cloudwatch-anomalydetector_dimension.go | 3 + .../aws-cloudwatch-anomalydetector_range.go | 3 + .../aws-cloudwatch-compositealarm.go | 136 + .../cloudwatch/aws-cloudwatch-dashboard.go | 45 +- .../cloudwatch/aws-cloudwatch-insightrule.go | 50 +- .../aws-cloudwatch-insightrule_tags.go | 30 + .../codebuild/aws-codebuild-project.go | 45 +- .../aws-codebuild-project_artifacts.go | 3 + ...-codebuild-project_cloudwatchlogsconfig.go | 3 + .../aws-codebuild-project_environment.go | 3 + ...s-codebuild-project_environmentvariable.go | 3 + .../aws-codebuild-project_filtergroup.go | 3 + ...s-codebuild-project_gitsubmodulesconfig.go | 3 + .../aws-codebuild-project_logsconfig.go | 3 + .../aws-codebuild-project_projectcache.go | 3 + ...build-project_projectfilesystemlocation.go | 3 + ...-codebuild-project_projectsourceversion.go | 3 + .../aws-codebuild-project_projecttriggers.go | 3 + ...ws-codebuild-project_registrycredential.go | 3 + .../aws-codebuild-project_s3logsconfig.go | 3 + .../codebuild/aws-codebuild-project_source.go | 3 + .../aws-codebuild-project_sourceauth.go | 3 + .../aws-codebuild-project_vpcconfig.go | 3 + .../aws-codebuild-project_webhookfilter.go | 3 + .../codebuild/aws-codebuild-reportgroup.go | 51 +- ...odebuild-reportgroup_reportexportconfig.go | 3 + ...ebuild-reportgroup_s3reportexportconfig.go | 3 + .../aws-codebuild-sourcecredential.go | 45 +- .../codecommit/aws-codecommit-repository.go | 45 +- .../aws-codecommit-repository_code.go | 3 + ...codecommit-repository_repositorytrigger.go | 3 + .../aws-codecommit-repository_s3.go | 3 + .../codedeploy/aws-codedeploy-application.go | 45 +- .../aws-codedeploy-deploymentconfig.go | 45 +- ...oy-deploymentconfig_minimumhealthyhosts.go | 3 + .../aws-codedeploy-deploymentgroup.go | 45 +- .../aws-codedeploy-deploymentgroup_alarm.go | 3 + ...ploy-deploymentgroup_alarmconfiguration.go | 3 + ...ploymentgroup_autorollbackconfiguration.go | 3 + ...s-codedeploy-deploymentgroup_deployment.go | 3 + ...edeploy-deploymentgroup_deploymentstyle.go | 3 + ...codedeploy-deploymentgroup_ec2tagfilter.go | 3 + ...ws-codedeploy-deploymentgroup_ec2tagset.go | 3 + ...loy-deploymentgroup_ec2tagsetlistobject.go | 3 + .../aws-codedeploy-deploymentgroup_elbinfo.go | 3 + ...dedeploy-deploymentgroup_githublocation.go | 3 + ...deploy-deploymentgroup_loadbalancerinfo.go | 3 + ...deploy-deploymentgroup_onpremisestagset.go | 3 + ...loymentgroup_onpremisestagsetlistobject.go | 3 + ...deploy-deploymentgroup_revisionlocation.go | 3 + ...s-codedeploy-deploymentgroup_s3location.go | 3 + ...ws-codedeploy-deploymentgroup_tagfilter.go | 3 + ...edeploy-deploymentgroup_targetgroupinfo.go | 3 + ...odedeploy-deploymentgroup_triggerconfig.go | 3 + .../aws-codeguruprofiler-profilinggroup.go | 111 + .../aws-codepipeline-customactiontype.go | 45 +- ...peline-customactiontype_artifactdetails.go | 3 + ...ustomactiontype_configurationproperties.go | 3 + ...-codepipeline-customactiontype_settings.go | 3 + .../codepipeline/aws-codepipeline-pipeline.go | 45 +- ...codepipeline-pipeline_actiondeclaration.go | 3 + .../aws-codepipeline-pipeline_actiontypeid.go | 3 + ...aws-codepipeline-pipeline_artifactstore.go | 3 + ...-codepipeline-pipeline_artifactstoremap.go | 3 + ...odepipeline-pipeline_blockerdeclaration.go | 3 + ...aws-codepipeline-pipeline_encryptionkey.go | 3 + ...aws-codepipeline-pipeline_inputartifact.go | 3 + ...ws-codepipeline-pipeline_outputartifact.go | 3 + ...-codepipeline-pipeline_stagedeclaration.go | 3 + ...s-codepipeline-pipeline_stagetransition.go | 3 + .../codepipeline/aws-codepipeline-webhook.go | 45 +- ...peline-webhook_webhookauthconfiguration.go | 3 + ...-codepipeline-webhook_webhookfilterrule.go | 3 + .../codestar/aws-codestar-githubrepository.go | 45 +- .../aws-codestar-githubrepository_code.go | 3 + .../aws-codestar-githubrepository_s3.go | 3 + .../aws-codestarconnections-connection.go | 117 + ...-codestarnotifications-notificationrule.go | 45 +- ...arnotifications-notificationrule_target.go | 3 + .../cognito/aws-cognito-identitypool.go | 45 +- ...to-identitypool_cognitoidentityprovider.go | 3 + ...aws-cognito-identitypool_cognitostreams.go | 3 + .../aws-cognito-identitypool_pushsync.go | 3 + .../aws-cognito-identitypoolroleattachment.go | 45 +- ...-identitypoolroleattachment_mappingrule.go | 3 + ...-identitypoolroleattachment_rolemapping.go | 3 + ...olroleattachment_rulesconfigurationtype.go | 3 + .../cognito/aws-cognito-userpool.go | 45 +- ...cognito-userpool_accountrecoverysetting.go | 3 + ...-cognito-userpool_admincreateuserconfig.go | 3 + ...ws-cognito-userpool_deviceconfiguration.go | 3 + ...aws-cognito-userpool_emailconfiguration.go | 3 + ...-cognito-userpool_invitemessagetemplate.go | 3 + .../aws-cognito-userpool_lambdaconfig.go | 3 + ...ito-userpool_numberattributeconstraints.go | 3 + .../aws-cognito-userpool_passwordpolicy.go | 3 + .../cognito/aws-cognito-userpool_policies.go | 3 + .../aws-cognito-userpool_recoveryoption.go | 3 + .../aws-cognito-userpool_schemaattribute.go | 3 + .../aws-cognito-userpool_smsconfiguration.go | 3 + ...ito-userpool_stringattributeconstraints.go | 3 + ...-cognito-userpool_usernameconfiguration.go | 3 + .../aws-cognito-userpool_userpooladdons.go | 3 + ...to-userpool_verificationmessagetemplate.go | 3 + .../cognito/aws-cognito-userpoolclient.go | 45 +- ...o-userpoolclient_analyticsconfiguration.go | 3 + .../cognito/aws-cognito-userpooldomain.go | 45 +- ...o-userpooldomain_customdomainconfigtype.go | 3 + .../cognito/aws-cognito-userpoolgroup.go | 45 +- .../aws-cognito-userpoolidentityprovider.go | 45 +- .../aws-cognito-userpoolresourceserver.go | 45 +- ...lresourceserver_resourceserverscopetype.go | 3 + ...ito-userpoolriskconfigurationattachment.go | 45 +- ...onattachment_accounttakeoveractionstype.go | 3 + ...ionattachment_accounttakeoveractiontype.go | 3 + ...nt_accounttakeoverriskconfigurationtype.go | 3 + ...hment_compromisedcredentialsactionstype.go | 3 + ...romisedcredentialsriskconfigurationtype.go | 3 + ...ationattachment_notifyconfigurationtype.go | 3 + ...configurationattachment_notifyemailtype.go | 3 + ...tachment_riskexceptionconfigurationtype.go | 3 + ...gnito-userpooluicustomizationattachment.go | 45 +- .../cognito/aws-cognito-userpooluser.go | 45 +- .../aws-cognito-userpooluser_attributetype.go | 3 + ...s-cognito-userpoolusertogroupattachment.go | 45 +- .../aws-config-aggregationauthorization.go | 45 +- .../config/aws-config-configrule.go | 45 +- .../config/aws-config-configrule_scope.go | 3 + .../config/aws-config-configrule_source.go | 3 + .../aws-config-configrule_sourcedetail.go | 3 + .../aws-config-configurationaggregator.go | 45 +- ...tionaggregator_accountaggregationsource.go | 3 + ...ggregator_organizationaggregationsource.go | 3 + .../aws-config-configurationrecorder.go | 45 +- ...ig-configurationrecorder_recordinggroup.go | 3 + .../config/aws-config-conformancepack.go | 45 +- ...mancepack_conformancepackinputparameter.go | 3 + .../config/aws-config-deliverychannel.go | 45 +- ...hannel_configsnapshotdeliveryproperties.go | 3 + .../aws-config-organizationconfigrule.go | 45 +- ...nfigrule_organizationcustomrulemetadata.go | 3 + ...figrule_organizationmanagedrulemetadata.go | 3 + .../aws-config-organizationconformancepack.go | 45 +- ...mancepack_conformancepackinputparameter.go | 3 + .../aws-config-remediationconfiguration.go | 45 +- ...ediationconfiguration_executioncontrols.go | 3 + ...configuration_remediationparametervalue.go | 3 + ...-remediationconfiguration_resourcevalue.go | 3 + ...ig-remediationconfiguration_ssmcontrols.go | 3 + ...ig-remediationconfiguration_staticvalue.go | 3 + .../datapipeline/aws-datapipeline-pipeline.go | 45 +- .../aws-datapipeline-pipeline_field.go | 3 + ...atapipeline-pipeline_parameterattribute.go | 3 + ...s-datapipeline-pipeline_parameterobject.go | 3 + ...ws-datapipeline-pipeline_parametervalue.go | 3 + ...ws-datapipeline-pipeline_pipelineobject.go | 3 + .../aws-datapipeline-pipeline_pipelinetag.go | 3 + cloudformation/dax/aws-dax-cluster.go | 45 +- .../dax/aws-dax-cluster_ssespecification.go | 3 + cloudformation/dax/aws-dax-parametergroup.go | 45 +- cloudformation/dax/aws-dax-subnetgroup.go | 45 +- .../detective/aws-detective-graph.go | 101 + .../aws-detective-memberinvitation.go | 121 + .../aws-directoryservice-microsoftad.go | 45 +- ...irectoryservice-microsoftad_vpcsettings.go | 3 + .../aws-directoryservice-simplead.go | 45 +- ...s-directoryservice-simplead_vpcsettings.go | 3 + cloudformation/dlm/aws-dlm-lifecyclepolicy.go | 45 +- .../dlm/aws-dlm-lifecyclepolicy_createrule.go | 14 +- ...fecyclepolicy_crossregioncopyretainrule.go | 9 +- ...dlm-lifecyclepolicy_crossregioncopyrule.go | 9 +- ...aws-dlm-lifecyclepolicy_fastrestorerule.go | 3 + .../dlm/aws-dlm-lifecyclepolicy_parameters.go | 3 + .../aws-dlm-lifecyclepolicy_policydetails.go | 3 + .../dlm/aws-dlm-lifecyclepolicy_retainrule.go | 3 + .../dlm/aws-dlm-lifecyclepolicy_schedule.go | 3 + cloudformation/dms/aws-dms-certificate.go | 45 +- cloudformation/dms/aws-dms-endpoint.go | 55 +- .../dms/aws-dms-endpoint_dynamodbsettings.go | 3 + .../aws-dms-endpoint_elasticsearchsettings.go | 3 + .../dms/aws-dms-endpoint_kafkasettings.go | 40 + .../dms/aws-dms-endpoint_kinesissettings.go | 3 + .../dms/aws-dms-endpoint_mongodbsettings.go | 3 + .../dms/aws-dms-endpoint_neptunesettings.go | 65 + .../dms/aws-dms-endpoint_s3settings.go | 3 + .../dms/aws-dms-eventsubscription.go | 45 +- .../dms/aws-dms-replicationinstance.go | 45 +- .../dms/aws-dms-replicationsubnetgroup.go | 45 +- cloudformation/dms/aws-dms-replicationtask.go | 50 +- cloudformation/docdb/aws-docdb-dbcluster.go | 50 +- .../aws-docdb-dbclusterparametergroup.go | 45 +- cloudformation/docdb/aws-docdb-dbinstance.go | 45 +- .../docdb/aws-docdb-dbsubnetgroup.go | 45 +- cloudformation/dynamodb/aws-dynamodb-table.go | 45 +- .../aws-dynamodb-table_attributedefinition.go | 3 + ...aws-dynamodb-table_globalsecondaryindex.go | 3 + .../dynamodb/aws-dynamodb-table_keyschema.go | 3 + .../aws-dynamodb-table_localsecondaryindex.go | 3 + ...-table_pointintimerecoveryspecification.go | 3 + .../dynamodb/aws-dynamodb-table_projection.go | 3 + ...ws-dynamodb-table_provisionedthroughput.go | 3 + .../aws-dynamodb-table_ssespecification.go | 3 + .../aws-dynamodb-table_streamspecification.go | 3 + ...-dynamodb-table_timetolivespecification.go | 3 + .../ec2/aws-ec2-capacityreservation.go | 45 +- ...c2-capacityreservation_tagspecification.go | 3 + .../ec2/aws-ec2-clientvpnauthorizationrule.go | 45 +- .../ec2/aws-ec2-clientvpnendpoint.go | 55 +- ...dpoint_certificateauthenticationrequest.go | 3 + ...vpnendpoint_clientauthenticationrequest.go | 8 + ...-clientvpnendpoint_connectionlogoptions.go | 3 + ...t_directoryserviceauthenticationrequest.go | 3 + ...endpoint_federatedauthenticationrequest.go | 35 + ...-ec2-clientvpnendpoint_tagspecification.go | 3 + cloudformation/ec2/aws-ec2-clientvpnroute.go | 45 +- ...s-ec2-clientvpntargetnetworkassociation.go | 45 +- cloudformation/ec2/aws-ec2-customergateway.go | 45 +- cloudformation/ec2/aws-ec2-dhcpoptions.go | 45 +- cloudformation/ec2/aws-ec2-ec2fleet.go | 45 +- ...fleet_capacityreservationoptionsrequest.go | 35 + ...2fleet_fleetlaunchtemplateconfigrequest.go | 3 + ...eet_fleetlaunchtemplateoverridesrequest.go | 8 + ...fleetlaunchtemplatespecificationrequest.go | 3 + ...aws-ec2-ec2fleet_ondemandoptionsrequest.go | 28 + .../ec2/aws-ec2-ec2fleet_placement.go | 70 + .../aws-ec2-ec2fleet_spotoptionsrequest.go | 23 + .../ec2/aws-ec2-ec2fleet_tagspecification.go | 6 +- ...leet_targetcapacityspecificationrequest.go | 3 + .../ec2/aws-ec2-egressonlyinternetgateway.go | 45 +- cloudformation/ec2/aws-ec2-eip.go | 45 +- cloudformation/ec2/aws-ec2-eipassociation.go | 45 +- cloudformation/ec2/aws-ec2-flowlog.go | 45 +- .../aws-ec2-gatewayroutetableassociation.go | 45 +- cloudformation/ec2/aws-ec2-host.go | 45 +- cloudformation/ec2/aws-ec2-instance.go | 45 +- .../aws-ec2-instance_associationparameter.go | 3 + .../aws-ec2-instance_blockdevicemapping.go | 3 + .../ec2/aws-ec2-instance_cpuoptions.go | 3 + .../aws-ec2-instance_creditspecification.go | 3 + cloudformation/ec2/aws-ec2-instance_ebs.go | 3 + ...ws-ec2-instance_elasticgpuspecification.go | 3 + ...c2-instance_elasticinferenceaccelerator.go | 3 + .../aws-ec2-instance_hibernationoptions.go | 3 + .../aws-ec2-instance_instanceipv6address.go | 3 + ...c2-instance_launchtemplatespecification.go | 3 + .../aws-ec2-instance_licensespecification.go | 3 + .../ec2/aws-ec2-instance_networkinterface.go | 3 + .../ec2/aws-ec2-instance_nodevice.go | 3 + ...-instance_privateipaddressspecification.go | 3 + .../ec2/aws-ec2-instance_ssmassociation.go | 3 + cloudformation/ec2/aws-ec2-instance_volume.go | 3 + cloudformation/ec2/aws-ec2-internetgateway.go | 45 +- cloudformation/ec2/aws-ec2-launchtemplate.go | 45 +- ...s-ec2-launchtemplate_blockdevicemapping.go | 3 + ...mplate_capacityreservationspecification.go | 5 +- ...aunchtemplate_capacityreservationtarget.go | 3 + .../ec2/aws-ec2-launchtemplate_cpuoptions.go | 3 + ...-ec2-launchtemplate_creditspecification.go | 3 + .../ec2/aws-ec2-launchtemplate_ebs.go | 3 + ...-launchtemplate_elasticgpuspecification.go | 3 + ...s-ec2-launchtemplate_hibernationoptions.go | 3 + ...s-ec2-launchtemplate_iaminstanceprofile.go | 3 + ...c2-launchtemplate_instancemarketoptions.go | 3 + .../ec2/aws-ec2-launchtemplate_ipv6add.go | 3 + ...s-ec2-launchtemplate_launchtemplatedata.go | 3 + ...unchtemplateelasticinferenceaccelerator.go | 3 + ...ec2-launchtemplate_licensespecification.go | 3 + .../aws-ec2-launchtemplate_metadataoptions.go | 3 + .../ec2/aws-ec2-launchtemplate_monitoring.go | 3 + ...aws-ec2-launchtemplate_networkinterface.go | 3 + .../ec2/aws-ec2-launchtemplate_placement.go | 3 + .../aws-ec2-launchtemplate_privateipadd.go | 3 + .../ec2/aws-ec2-launchtemplate_spotoptions.go | 3 + ...aws-ec2-launchtemplate_tagspecification.go | 3 + .../ec2/aws-ec2-localgatewayroute.go | 45 +- ...c2-localgatewayroutetablevpcassociation.go | 45 +- ...calgatewayroutetablevpcassociation_tags.go | 3 + cloudformation/ec2/aws-ec2-natgateway.go | 45 +- cloudformation/ec2/aws-ec2-networkacl.go | 45 +- cloudformation/ec2/aws-ec2-networkaclentry.go | 45 +- .../ec2/aws-ec2-networkaclentry_icmp.go | 3 + .../ec2/aws-ec2-networkaclentry_portrange.go | 3 + .../ec2/aws-ec2-networkinterface.go | 45 +- ...c2-networkinterface_instanceipv6address.go | 3 + ...interface_privateipaddressspecification.go | 3 + .../ec2/aws-ec2-networkinterfaceattachment.go | 45 +- .../ec2/aws-ec2-networkinterfacepermission.go | 45 +- cloudformation/ec2/aws-ec2-placementgroup.go | 45 +- cloudformation/ec2/aws-ec2-route.go | 45 +- cloudformation/ec2/aws-ec2-routetable.go | 45 +- cloudformation/ec2/aws-ec2-securitygroup.go | 45 +- .../ec2/aws-ec2-securitygroup_egress.go | 3 + .../ec2/aws-ec2-securitygroup_ingress.go | 3 + .../ec2/aws-ec2-securitygroupegress.go | 45 +- .../ec2/aws-ec2-securitygroupingress.go | 45 +- cloudformation/ec2/aws-ec2-spotfleet.go | 45 +- .../aws-ec2-spotfleet_blockdevicemapping.go | 3 + .../aws-ec2-spotfleet_classicloadbalancer.go | 3 + ...c2-spotfleet_classicloadbalancersconfig.go | 3 + .../ec2/aws-ec2-spotfleet_ebsblockdevice.go | 3 + ...tfleet_fleetlaunchtemplatespecification.go | 3 + .../ec2/aws-ec2-spotfleet_groupidentifier.go | 3 + ...otfleet_iaminstanceprofilespecification.go | 3 + .../aws-ec2-spotfleet_instanceipv6address.go | 3 + ...t_instancenetworkinterfacespecification.go | 3 + .../aws-ec2-spotfleet_launchtemplateconfig.go | 3 + ...s-ec2-spotfleet_launchtemplateoverrides.go | 3 + .../aws-ec2-spotfleet_loadbalancersconfig.go | 3 + ...spotfleet_privateipaddressspecification.go | 3 + ...-spotfleet_spotfleetlaunchspecification.go | 3 + .../aws-ec2-spotfleet_spotfleetmonitoring.go | 3 + ...c2-spotfleet_spotfleetrequestconfigdata.go | 3 + ...ec2-spotfleet_spotfleettagspecification.go | 3 + .../ec2/aws-ec2-spotfleet_spotplacement.go | 3 + .../ec2/aws-ec2-spotfleet_targetgroup.go | 3 + .../aws-ec2-spotfleet_targetgroupsconfig.go | 3 + cloudformation/ec2/aws-ec2-subnet.go | 45 +- cloudformation/ec2/aws-ec2-subnetcidrblock.go | 45 +- .../aws-ec2-subnetnetworkaclassociation.go | 45 +- .../aws-ec2-subnetroutetableassociation.go | 45 +- .../ec2/aws-ec2-trafficmirrorfilter.go | 45 +- .../ec2/aws-ec2-trafficmirrorfilterrule.go | 45 +- ...mirrorfilterrule_trafficmirrorportrange.go | 3 + .../ec2/aws-ec2-trafficmirrorsession.go | 45 +- .../ec2/aws-ec2-trafficmirrortarget.go | 45 +- cloudformation/ec2/aws-ec2-transitgateway.go | 45 +- .../ec2/aws-ec2-transitgatewayattachment.go | 45 +- .../ec2/aws-ec2-transitgatewayroute.go | 45 +- .../ec2/aws-ec2-transitgatewayroutetable.go | 45 +- ...ec2-transitgatewayroutetableassociation.go | 45 +- ...ec2-transitgatewayroutetablepropagation.go | 45 +- cloudformation/ec2/aws-ec2-volume.go | 55 +- .../ec2/aws-ec2-volumeattachment.go | 45 +- cloudformation/ec2/aws-ec2-vpc.go | 45 +- cloudformation/ec2/aws-ec2-vpccidrblock.go | 45 +- .../ec2/aws-ec2-vpcdhcpoptionsassociation.go | 45 +- cloudformation/ec2/aws-ec2-vpcendpoint.go | 45 +- ...s-ec2-vpcendpointconnectionnotification.go | 45 +- .../ec2/aws-ec2-vpcendpointservice.go | 45 +- .../aws-ec2-vpcendpointservicepermissions.go | 45 +- .../ec2/aws-ec2-vpcgatewayattachment.go | 45 +- .../ec2/aws-ec2-vpcpeeringconnection.go | 45 +- cloudformation/ec2/aws-ec2-vpnconnection.go | 45 +- ...onnection_vpntunneloptionsspecification.go | 3 + .../ec2/aws-ec2-vpnconnectionroute.go | 45 +- cloudformation/ec2/aws-ec2-vpngateway.go | 45 +- .../ec2/aws-ec2-vpngatewayroutepropagation.go | 45 +- cloudformation/ecr/aws-ecr-repository.go | 45 +- .../ecr/aws-ecr-repository_lifecyclepolicy.go | 3 + .../ecs/aws-ecs-capacityprovider.go | 117 + ...pacityprovider_autoscalinggroupprovider.go | 45 + ...aws-ecs-capacityprovider_managedscaling.go | 50 + cloudformation/ecs/aws-ecs-cluster.go | 57 +- ...cs-cluster_capacityproviderstrategyitem.go | 45 + .../ecs/aws-ecs-cluster_clustersettings.go | 40 + cloudformation/ecs/aws-ecs-primarytaskset.go | 45 +- cloudformation/ecs/aws-ecs-service.go | 45 +- .../aws-ecs-service_awsvpcconfiguration.go | 3 + ...aws-ecs-service_deploymentconfiguration.go | 3 + .../aws-ecs-service_deploymentcontroller.go | 3 + .../ecs/aws-ecs-service_loadbalancer.go | 3 + .../aws-ecs-service_networkconfiguration.go | 3 + .../aws-ecs-service_placementconstraint.go | 3 + .../ecs/aws-ecs-service_placementstrategy.go | 3 + .../ecs/aws-ecs-service_serviceregistry.go | 3 + cloudformation/ecs/aws-ecs-taskdefinition.go | 45 +- ...-ecs-taskdefinition_containerdefinition.go | 3 + ...-ecs-taskdefinition_containerdependency.go | 3 + .../ecs/aws-ecs-taskdefinition_device.go | 3 + ...askdefinition_dockervolumeconfiguration.go | 3 + ...cs-taskdefinition_firelensconfiguration.go | 3 + .../ecs/aws-ecs-taskdefinition_healthcheck.go | 3 + .../ecs/aws-ecs-taskdefinition_hostentry.go | 3 + ...ecs-taskdefinition_hostvolumeproperties.go | 3 + ...ecs-taskdefinition_inferenceaccelerator.go | 8 +- ...s-ecs-taskdefinition_kernelcapabilities.go | 3 + .../aws-ecs-taskdefinition_keyvaluepair.go | 3 + .../aws-ecs-taskdefinition_linuxparameters.go | 3 + ...aws-ecs-taskdefinition_logconfiguration.go | 3 + .../ecs/aws-ecs-taskdefinition_mountpoint.go | 3 + .../ecs/aws-ecs-taskdefinition_portmapping.go | 3 + ...s-ecs-taskdefinition_proxyconfiguration.go | 3 + ...cs-taskdefinition_repositorycredentials.go | 3 + ...-ecs-taskdefinition_resourcerequirement.go | 3 + .../ecs/aws-ecs-taskdefinition_secret.go | 3 + .../aws-ecs-taskdefinition_systemcontrol.go | 3 + ...ition_taskdefinitionplacementconstraint.go | 3 + .../ecs/aws-ecs-taskdefinition_tmpfs.go | 3 + .../ecs/aws-ecs-taskdefinition_ulimit.go | 3 + .../ecs/aws-ecs-taskdefinition_volume.go | 3 + .../ecs/aws-ecs-taskdefinition_volumefrom.go | 3 + cloudformation/ecs/aws-ecs-taskset.go | 45 +- .../aws-ecs-taskset_awsvpcconfiguration.go | 3 + .../ecs/aws-ecs-taskset_loadbalancer.go | 3 + .../aws-ecs-taskset_networkconfiguration.go | 3 + cloudformation/ecs/aws-ecs-taskset_scale.go | 3 + .../ecs/aws-ecs-taskset_serviceregistry.go | 3 + cloudformation/efs/aws-efs-accesspoint.go | 126 + .../efs/aws-efs-accesspoint_accesspointtag.go | 40 + .../efs/aws-efs-accesspoint_creationinfo.go | 45 + .../efs/aws-efs-accesspoint_posixuser.go | 45 + .../efs/aws-efs-accesspoint_rootdirectory.go | 40 + cloudformation/efs/aws-efs-filesystem.go | 56 +- ...aws-efs-filesystem_elasticfilesystemtag.go | 9 +- .../efs/aws-efs-filesystem_lifecyclepolicy.go | 7 +- cloudformation/efs/aws-efs-mounttarget.go | 45 +- cloudformation/eks/aws-eks-cluster.go | 50 +- .../eks/aws-eks-cluster_encryptionconfig.go | 40 + .../eks/aws-eks-cluster_provider.go | 35 + .../eks/aws-eks-cluster_resourcesvpcconfig.go | 3 + cloudformation/eks/aws-eks-nodegroup.go | 45 +- .../eks/aws-eks-nodegroup_remoteaccess.go | 3 + .../eks/aws-eks-nodegroup_scalingconfig.go | 3 + .../aws-elasticache-cachecluster.go | 45 +- .../aws-elasticache-parametergroup.go | 45 +- .../aws-elasticache-replicationgroup.go | 50 +- ...replicationgroup_nodegroupconfiguration.go | 3 + .../aws-elasticache-securitygroup.go | 45 +- .../aws-elasticache-securitygroupingress.go | 45 +- .../aws-elasticache-subnetgroup.go | 45 +- .../aws-elasticbeanstalk-application.go | 45 +- ...tion_applicationresourcelifecycleconfig.go | 3 + ...ation_applicationversionlifecycleconfig.go | 3 + ...elasticbeanstalk-application_maxagerule.go | 3 + ...asticbeanstalk-application_maxcountrule.go | 3 + ...aws-elasticbeanstalk-applicationversion.go | 45 +- ...anstalk-applicationversion_sourcebundle.go | 3 + ...-elasticbeanstalk-configurationtemplate.go | 45 +- ...tiontemplate_configurationoptionsetting.go | 3 + ...nfigurationtemplate_sourceconfiguration.go | 3 + .../aws-elasticbeanstalk-environment.go | 45 +- ...sticbeanstalk-environment_optionsetting.go | 3 + .../aws-elasticbeanstalk-environment_tier.go | 3 + .../aws-elasticloadbalancing-loadbalancer.go | 45 +- ...ancing-loadbalancer_accessloggingpolicy.go | 3 + ...-loadbalancer_appcookiestickinesspolicy.go | 3 + ...g-loadbalancer_connectiondrainingpolicy.go | 3 + ...lancing-loadbalancer_connectionsettings.go | 3 + ...cloadbalancing-loadbalancer_healthcheck.go | 3 + ...g-loadbalancer_lbcookiestickinesspolicy.go | 3 + ...ticloadbalancing-loadbalancer_listeners.go | 3 + ...sticloadbalancing-loadbalancer_policies.go | 3 + .../aws-elasticloadbalancingv2-listener.go | 45 +- ...-elasticloadbalancingv2-listener_action.go | 3 + ...ngv2-listener_authenticatecognitoconfig.go | 3 + ...ncingv2-listener_authenticateoidcconfig.go | 3 + ...ticloadbalancingv2-listener_certificate.go | 3 + ...alancingv2-listener_fixedresponseconfig.go | 3 + ...cloadbalancingv2-listener_forwardconfig.go | 3 + ...loadbalancingv2-listener_redirectconfig.go | 3 + ...v2-listener_targetgroupstickinessconfig.go | 3 + ...adbalancingv2-listener_targetgrouptuple.go | 3 + ...sticloadbalancingv2-listenercertificate.go | 45 +- ...ncingv2-listenercertificate_certificate.go | 3 + ...aws-elasticloadbalancingv2-listenerrule.go | 45 +- ...sticloadbalancingv2-listenerrule_action.go | 3 + ...-listenerrule_authenticatecognitoconfig.go | 3 + ...gv2-listenerrule_authenticateoidcconfig.go | 3 + ...cingv2-listenerrule_fixedresponseconfig.go | 3 + ...dbalancingv2-listenerrule_forwardconfig.go | 3 + ...lancingv2-listenerrule_hostheaderconfig.go | 3 + ...lancingv2-listenerrule_httpheaderconfig.go | 3 + ...v2-listenerrule_httprequestmethodconfig.go | 3 + ...ancingv2-listenerrule_pathpatternconfig.go | 3 + ...ancingv2-listenerrule_querystringconfig.go | 3 + ...cingv2-listenerrule_querystringkeyvalue.go | 3 + ...balancingv2-listenerrule_redirectconfig.go | 3 + ...dbalancingv2-listenerrule_rulecondition.go | 3 + ...balancingv2-listenerrule_sourceipconfig.go | 3 + ...istenerrule_targetgroupstickinessconfig.go | 3 + ...lancingv2-listenerrule_targetgrouptuple.go | 3 + ...aws-elasticloadbalancingv2-loadbalancer.go | 45 +- ...ngv2-loadbalancer_loadbalancerattribute.go | 3 + ...dbalancingv2-loadbalancer_subnetmapping.go | 10 +- .../aws-elasticloadbalancingv2-targetgroup.go | 45 +- ...sticloadbalancingv2-targetgroup_matcher.go | 3 + ...lancingv2-targetgroup_targetdescription.go | 3 + ...cingv2-targetgroup_targetgroupattribute.go | 3 + .../elasticsearch/aws-elasticsearch-domain.go | 45 +- ...aws-elasticsearch-domain_cognitooptions.go | 3 + .../aws-elasticsearch-domain_ebsoptions.go | 3 + ...earch-domain_elasticsearchclusterconfig.go | 3 + ...icsearch-domain_encryptionatrestoptions.go | 3 + ...lasticsearch-domain_logpublishingoption.go | 3 + ...arch-domain_nodetonodeencryptionoptions.go | 3 + ...ws-elasticsearch-domain_snapshotoptions.go | 3 + .../aws-elasticsearch-domain_vpcoptions.go | 3 + ...lasticsearch-domain_zoneawarenessconfig.go | 3 + cloudformation/emr/aws-emr-cluster.go | 45 +- .../emr/aws-emr-cluster_application.go | 3 + .../emr/aws-emr-cluster_autoscalingpolicy.go | 3 + .../aws-emr-cluster_bootstrapactionconfig.go | 3 + ...s-emr-cluster_cloudwatchalarmdefinition.go | 3 + .../emr/aws-emr-cluster_configuration.go | 3 + .../aws-emr-cluster_ebsblockdeviceconfig.go | 3 + .../emr/aws-emr-cluster_ebsconfiguration.go | 3 + .../aws-emr-cluster_hadoopjarstepconfig.go | 3 + .../aws-emr-cluster_instancefleetconfig.go | 3 + ...instancefleetprovisioningspecifications.go | 3 + .../aws-emr-cluster_instancegroupconfig.go | 3 + .../emr/aws-emr-cluster_instancetypeconfig.go | 3 + .../aws-emr-cluster_jobflowinstancesconfig.go | 3 + .../emr/aws-emr-cluster_kerberosattributes.go | 3 + .../emr/aws-emr-cluster_keyvalue.go | 3 + .../emr/aws-emr-cluster_metricdimension.go | 3 + .../emr/aws-emr-cluster_placementtype.go | 3 + .../emr/aws-emr-cluster_scalingaction.go | 3 + .../emr/aws-emr-cluster_scalingconstraints.go | 3 + .../emr/aws-emr-cluster_scalingrule.go | 3 + .../emr/aws-emr-cluster_scalingtrigger.go | 3 + ...emr-cluster_scriptbootstrapactionconfig.go | 3 + ...luster_simplescalingpolicyconfiguration.go | 3 + ...r-cluster_spotprovisioningspecification.go | 3 + .../emr/aws-emr-cluster_stepconfig.go | 3 + .../aws-emr-cluster_volumespecification.go | 3 + .../emr/aws-emr-instancefleetconfig.go | 45 +- ...s-emr-instancefleetconfig_configuration.go | 3 + ...nstancefleetconfig_ebsblockdeviceconfig.go | 3 + ...mr-instancefleetconfig_ebsconfiguration.go | 3 + ...instancefleetprovisioningspecifications.go | 3 + ...-instancefleetconfig_instancetypeconfig.go | 3 + ...eetconfig_spotprovisioningspecification.go | 3 + ...instancefleetconfig_volumespecification.go | 3 + .../emr/aws-emr-instancegroupconfig.go | 45 +- ...r-instancegroupconfig_autoscalingpolicy.go | 3 + ...cegroupconfig_cloudwatchalarmdefinition.go | 3 + ...s-emr-instancegroupconfig_configuration.go | 3 + ...nstancegroupconfig_ebsblockdeviceconfig.go | 3 + ...mr-instancegroupconfig_ebsconfiguration.go | 3 + ...emr-instancegroupconfig_metricdimension.go | 3 + ...s-emr-instancegroupconfig_scalingaction.go | 3 + ...-instancegroupconfig_scalingconstraints.go | 3 + ...aws-emr-instancegroupconfig_scalingrule.go | 3 + ...-emr-instancegroupconfig_scalingtrigger.go | 3 + ...config_simplescalingpolicyconfiguration.go | 3 + ...instancegroupconfig_volumespecification.go | 3 + .../emr/aws-emr-securityconfiguration.go | 45 +- cloudformation/emr/aws-emr-step.go | 45 +- .../emr/aws-emr-step_hadoopjarstepconfig.go | 3 + cloudformation/emr/aws-emr-step_keyvalue.go | 3 + cloudformation/events/aws-events-eventbus.go | 45 +- .../events/aws-events-eventbuspolicy.go | 45 +- .../aws-events-eventbuspolicy_condition.go | 3 + cloudformation/events/aws-events-rule.go | 45 +- .../aws-events-rule_awsvpcconfiguration.go | 3 + .../aws-events-rule_batcharrayproperties.go | 3 + .../events/aws-events-rule_batchparameters.go | 3 + .../aws-events-rule_batchretrystrategy.go | 3 + .../events/aws-events-rule_ecsparameters.go | 3 + .../events/aws-events-rule_httpparameters.go | 45 + .../aws-events-rule_inputtransformer.go | 3 + .../aws-events-rule_kinesisparameters.go | 3 + .../aws-events-rule_networkconfiguration.go | 3 + .../aws-events-rule_runcommandparameters.go | 3 + .../aws-events-rule_runcommandtarget.go | 3 + .../events/aws-events-rule_sqsparameters.go | 3 + .../events/aws-events-rule_target.go | 8 + .../aws-eventschemas-discoverer.go | 45 +- .../aws-eventschemas-discoverer_tagsentry.go | 3 + .../eventschemas/aws-eventschemas-registry.go | 45 +- .../aws-eventschemas-registry_tagsentry.go | 3 + .../aws-eventschemas-registrypolicy.go | 116 + .../eventschemas/aws-eventschemas-schema.go | 45 +- .../aws-eventschemas-schema_tagsentry.go | 3 + .../fms/aws-fms-notificationchannel.go | 45 +- cloudformation/fms/aws-fms-policy.go | 45 +- cloudformation/fms/aws-fms-policy_iemap.go | 8 + .../fms/aws-fms-policy_policytag.go | 3 + .../fms/aws-fms-policy_resourcetag.go | 3 + cloudformation/fsx/aws-fsx-filesystem.go | 50 +- .../aws-fsx-filesystem_lustreconfiguration.go | 3 + ...selfmanagedactivedirectoryconfiguration.go | 3 + ...aws-fsx-filesystem_windowsconfiguration.go | 3 + cloudformation/gamelift/aws-gamelift-alias.go | 45 +- .../aws-gamelift-alias_routingstrategy.go | 3 + cloudformation/gamelift/aws-gamelift-build.go | 45 +- .../gamelift/aws-gamelift-build_s3location.go | 3 + cloudformation/gamelift/aws-gamelift-fleet.go | 45 +- ...gamelift-fleet_certificateconfiguration.go | 3 + .../aws-gamelift-fleet_ippermission.go | 3 + ...elift-fleet_resourcecreationlimitpolicy.go | 3 + ...aws-gamelift-fleet_runtimeconfiguration.go | 3 + .../aws-gamelift-fleet_serverprocess.go | 3 + .../gamelift/aws-gamelift-gamesessionqueue.go | 45 +- ...s-gamelift-gamesessionqueue_destination.go | 3 + ...ft-gamesessionqueue_playerlatencypolicy.go | 3 + .../aws-gamelift-matchmakingconfiguration.go | 45 +- ...t-matchmakingconfiguration_gameproperty.go | 3 + .../aws-gamelift-matchmakingruleset.go | 45 +- .../gamelift/aws-gamelift-script.go | 45 +- .../aws-gamelift-script_s3location.go | 3 + .../aws-globalaccelerator-accelerator.go | 127 + .../aws-globalaccelerator-endpointgroup.go | 146 + ...tor-endpointgroup_endpointconfiguration.go | 45 + .../aws-globalaccelerator-listener.go | 121 + ...ws-globalaccelerator-listener_portrange.go | 40 + cloudformation/glue/aws-glue-classifier.go | 45 +- .../glue/aws-glue-classifier_csvclassifier.go | 3 + .../aws-glue-classifier_grokclassifier.go | 3 + .../aws-glue-classifier_jsonclassifier.go | 3 + .../glue/aws-glue-classifier_xmlclassifier.go | 3 + cloudformation/glue/aws-glue-connection.go | 45 +- .../aws-glue-connection_connectioninput.go | 3 + ...nnection_physicalconnectionrequirements.go | 3 + cloudformation/glue/aws-glue-crawler.go | 45 +- .../glue/aws-glue-crawler_catalogtarget.go | 3 + .../glue/aws-glue-crawler_dynamodbtarget.go | 3 + .../glue/aws-glue-crawler_jdbctarget.go | 3 + .../glue/aws-glue-crawler_s3target.go | 3 + .../glue/aws-glue-crawler_schedule.go | 3 + .../aws-glue-crawler_schemachangepolicy.go | 3 + .../glue/aws-glue-crawler_targets.go | 3 + cloudformation/glue/aws-glue-database.go | 45 +- .../glue/aws-glue-database_databaseinput.go | 3 + .../aws-glue-datacatalogencryptionsettings.go | 45 +- ...onsettings_connectionpasswordencryption.go | 3 + ...nsettings_datacatalogencryptionsettings.go | 3 + ...alogencryptionsettings_encryptionatrest.go | 3 + cloudformation/glue/aws-glue-devendpoint.go | 50 +- cloudformation/glue/aws-glue-job.go | 45 +- .../glue/aws-glue-job_connectionslist.go | 3 + .../glue/aws-glue-job_executionproperty.go | 3 + .../glue/aws-glue-job_jobcommand.go | 3 + .../glue/aws-glue-job_notificationproperty.go | 3 + cloudformation/glue/aws-glue-mltransform.go | 50 +- ...-glue-mltransform_findmatchesparameters.go | 3 + .../glue/aws-glue-mltransform_gluetables.go | 3 + .../aws-glue-mltransform_inputrecordtables.go | 3 + ...ws-glue-mltransform_transformparameters.go | 3 + cloudformation/glue/aws-glue-partition.go | 45 +- .../glue/aws-glue-partition_column.go | 3 + .../glue/aws-glue-partition_order.go | 3 + .../glue/aws-glue-partition_partitioninput.go | 3 + .../glue/aws-glue-partition_serdeinfo.go | 3 + .../glue/aws-glue-partition_skewedinfo.go | 3 + .../aws-glue-partition_storagedescriptor.go | 3 + .../glue/aws-glue-securityconfiguration.go | 45 +- ...urityconfiguration_cloudwatchencryption.go | 3 + ...tyconfiguration_encryptionconfiguration.go | 3 + ...ityconfiguration_jobbookmarksencryption.go | 3 + ...glue-securityconfiguration_s3encryption.go | 3 + ...lue-securityconfiguration_s3encryptions.go | 3 + cloudformation/glue/aws-glue-table.go | 45 +- cloudformation/glue/aws-glue-table_column.go | 3 + cloudformation/glue/aws-glue-table_order.go | 3 + .../glue/aws-glue-table_serdeinfo.go | 3 + .../glue/aws-glue-table_skewedinfo.go | 3 + .../glue/aws-glue-table_storagedescriptor.go | 3 + .../glue/aws-glue-table_tableinput.go | 3 + cloudformation/glue/aws-glue-trigger.go | 45 +- .../glue/aws-glue-trigger_action.go | 3 + .../glue/aws-glue-trigger_condition.go | 3 + .../aws-glue-trigger_notificationproperty.go | 3 + .../glue/aws-glue-trigger_predicate.go | 3 + cloudformation/glue/aws-glue-workflow.go | 45 +- .../aws-greengrass-connectordefinition.go | 45 +- ...reengrass-connectordefinition_connector.go | 3 + ...ordefinition_connectordefinitionversion.go | 3 + ...s-greengrass-connectordefinitionversion.go | 45 +- ...ss-connectordefinitionversion_connector.go | 3 + .../aws-greengrass-coredefinition.go | 45 +- .../aws-greengrass-coredefinition_core.go | 3 + ...ss-coredefinition_coredefinitionversion.go | 3 + .../aws-greengrass-coredefinitionversion.go | 45 +- ...s-greengrass-coredefinitionversion_core.go | 3 + .../aws-greengrass-devicedefinition.go | 45 +- .../aws-greengrass-devicedefinition_device.go | 3 + ...evicedefinition_devicedefinitionversion.go | 3 + .../aws-greengrass-devicedefinitionversion.go | 45 +- ...eengrass-devicedefinitionversion_device.go | 3 + .../aws-greengrass-functiondefinition.go | 45 +- ...ngrass-functiondefinition_defaultconfig.go | 3 + ...eengrass-functiondefinition_environment.go | 3 + ...greengrass-functiondefinition_execution.go | 3 + ...-greengrass-functiondefinition_function.go | 3 + ...unctiondefinition_functionconfiguration.go | 3 + ...iondefinition_functiondefinitionversion.go | 3 + ...functiondefinition_resourceaccesspolicy.go | 3 + ...aws-greengrass-functiondefinition_runas.go | 3 + ...ws-greengrass-functiondefinitionversion.go | 45 +- ...functiondefinitionversion_defaultconfig.go | 3 + ...s-functiondefinitionversion_environment.go | 3 + ...ass-functiondefinitionversion_execution.go | 3 + ...rass-functiondefinitionversion_function.go | 3 + ...definitionversion_functionconfiguration.go | 3 + ...ndefinitionversion_resourceaccesspolicy.go | 3 + ...engrass-functiondefinitionversion_runas.go | 3 + .../greengrass/aws-greengrass-group.go | 45 +- .../aws-greengrass-group_groupversion.go | 3 + .../greengrass/aws-greengrass-groupversion.go | 45 +- .../aws-greengrass-loggerdefinition.go | 45 +- .../aws-greengrass-loggerdefinition_logger.go | 3 + ...oggerdefinition_loggerdefinitionversion.go | 3 + .../aws-greengrass-loggerdefinitionversion.go | 45 +- ...eengrass-loggerdefinitionversion_logger.go | 3 + .../aws-greengrass-resourcedefinition.go | 45 +- ...ss-resourcedefinition_groupownersetting.go | 3 + ...ourcedefinition_localdeviceresourcedata.go | 3 + ...ourcedefinition_localvolumeresourcedata.go | 3 + ...esourcedefinition_resourcedatacontainer.go | 3 + ...rcedefinition_resourcedefinitionversion.go | 3 + ...definition_resourcedownloadownersetting.go | 40 + ...ass-resourcedefinition_resourceinstance.go | 3 + ...tion_s3machinelearningmodelresourcedata.go | 8 + ...gemakermachinelearningmodelresourcedata.go | 8 + ...nition_secretsmanagersecretresourcedata.go | 3 + ...ws-greengrass-resourcedefinitionversion.go | 45 +- ...urcedefinitionversion_groupownersetting.go | 3 + ...finitionversion_localdeviceresourcedata.go | 3 + ...finitionversion_localvolumeresourcedata.go | 3 + ...definitionversion_resourcedatacontainer.go | 3 + ...ionversion_resourcedownloadownersetting.go | 40 + ...ourcedefinitionversion_resourceinstance.go | 3 + ...sion_s3machinelearningmodelresourcedata.go | 8 + ...gemakermachinelearningmodelresourcedata.go | 8 + ...ersion_secretsmanagersecretresourcedata.go | 3 + .../aws-greengrass-subscriptiondefinition.go | 45 +- ...ass-subscriptiondefinition_subscription.go | 3 + ...efinition_subscriptiondefinitionversion.go | 3 + ...reengrass-subscriptiondefinitionversion.go | 45 +- ...scriptiondefinitionversion_subscription.go | 3 + .../guardduty/aws-guardduty-detector.go | 45 +- .../guardduty/aws-guardduty-filter.go | 45 +- .../aws-guardduty-filter_condition.go | 3 + .../aws-guardduty-filter_findingcriteria.go | 3 + .../guardduty/aws-guardduty-ipset.go | 45 +- .../guardduty/aws-guardduty-master.go | 45 +- .../guardduty/aws-guardduty-member.go | 45 +- .../guardduty/aws-guardduty-threatintelset.go | 45 +- cloudformation/iam/aws-iam-accesskey.go | 45 +- cloudformation/iam/aws-iam-group.go | 45 +- cloudformation/iam/aws-iam-group_policy.go | 3 + cloudformation/iam/aws-iam-instanceprofile.go | 45 +- cloudformation/iam/aws-iam-managedpolicy.go | 45 +- cloudformation/iam/aws-iam-policy.go | 45 +- cloudformation/iam/aws-iam-role.go | 45 +- cloudformation/iam/aws-iam-role_policy.go | 3 + .../iam/aws-iam-servicelinkedrole.go | 45 +- cloudformation/iam/aws-iam-user.go | 45 +- .../iam/aws-iam-user_loginprofile.go | 3 + cloudformation/iam/aws-iam-user_policy.go | 3 + .../iam/aws-iam-usertogroupaddition.go | 45 +- .../aws-imagebuilder-component.go | 146 + ...-imagebuilder-distributionconfiguration.go | 121 + ...-distributionconfiguration_distribution.go | 45 + .../imagebuilder/aws-imagebuilder-image.go | 126 + ...gebuilder-image_imagetestsconfiguration.go | 40 + .../aws-imagebuilder-imagepipeline.go | 146 + ...r-imagepipeline_imagetestsconfiguration.go | 40 + ...aws-imagebuilder-imagepipeline_schedule.go | 40 + .../aws-imagebuilder-imagerecipe.go | 136 + ...lder-imagerecipe_componentconfiguration.go | 35 + ...ipe_ebsinstanceblockdevicespecification.go | 65 + ...-imagerecipe_instanceblockdevicemapping.go | 50 + ...magebuilder-infrastructureconfiguration.go | 156 + ...der-infrastructureconfiguration_logging.go | 35 + ...lder-infrastructureconfiguration_s3logs.go | 40 + .../aws-inspector-assessmenttarget.go | 45 +- .../aws-inspector-assessmenttemplate.go | 45 +- .../inspector/aws-inspector-resourcegroup.go | 45 +- cloudformation/iot/aws-iot-certificate.go | 45 +- cloudformation/iot/aws-iot-policy.go | 45 +- .../iot/aws-iot-policyprincipalattachment.go | 45 +- .../iot/aws-iot-provisioningtemplate.go | 136 + ...t-provisioningtemplate_provisioninghook.go | 40 + cloudformation/iot/aws-iot-thing.go | 45 +- .../iot/aws-iot-thing_attributepayload.go | 3 + .../iot/aws-iot-thingprincipalattachment.go | 45 +- cloudformation/iot/aws-iot-topicrule.go | 45 +- .../iot/aws-iot-topicrule_action.go | 18 + ...ws-iot-topicrule_assetpropertytimestamp.go | 40 + .../aws-iot-topicrule_assetpropertyvalue.go | 45 + .../aws-iot-topicrule_assetpropertyvariant.go | 50 + ...aws-iot-topicrule_cloudwatchalarmaction.go | 3 + ...ws-iot-topicrule_cloudwatchmetricaction.go | 3 + .../iot/aws-iot-topicrule_dynamodbaction.go | 3 + .../iot/aws-iot-topicrule_dynamodbv2action.go | 3 + .../aws-iot-topicrule_elasticsearchaction.go | 3 + .../iot/aws-iot-topicrule_firehoseaction.go | 3 + .../iot/aws-iot-topicrule_httpaction.go | 50 + .../iot/aws-iot-topicrule_httpactionheader.go | 40 + .../aws-iot-topicrule_httpauthorization.go | 35 + .../aws-iot-topicrule_iotanalyticsaction.go | 3 + .../iot/aws-iot-topicrule_ioteventsaction.go | 45 + .../aws-iot-topicrule_iotsitewiseaction.go | 40 + .../iot/aws-iot-topicrule_kinesisaction.go | 3 + .../iot/aws-iot-topicrule_lambdaaction.go | 3 + ...ot-topicrule_putassetpropertyvalueentry.go | 55 + .../iot/aws-iot-topicrule_putiteminput.go | 3 + .../iot/aws-iot-topicrule_republishaction.go | 8 + .../iot/aws-iot-topicrule_s3action.go | 3 + .../aws-iot-topicrule_sigv4authorization.go | 45 + .../iot/aws-iot-topicrule_snsaction.go | 3 + .../iot/aws-iot-topicrule_sqsaction.go | 3 + .../aws-iot-topicrule_stepfunctionsaction.go | 3 + .../iot/aws-iot-topicrule_topicrulepayload.go | 3 + .../iot1click/aws-iot1click-device.go | 45 +- .../iot1click/aws-iot1click-placement.go | 45 +- .../iot1click/aws-iot1click-project.go | 45 +- .../aws-iot1click-project_devicetemplate.go | 3 + ...aws-iot1click-project_placementtemplate.go | 3 + .../iotanalytics/aws-iotanalytics-channel.go | 45 +- ...aws-iotanalytics-channel_channelstorage.go | 3 + ...-iotanalytics-channel_customermanageds3.go | 3 + ...ws-iotanalytics-channel_retentionperiod.go | 3 + ...s-iotanalytics-channel_servicemanageds3.go | 3 + .../iotanalytics/aws-iotanalytics-dataset.go | 45 +- .../aws-iotanalytics-dataset_action.go | 3 + ...ws-iotanalytics-dataset_containeraction.go | 3 + ...tics-dataset_datasetcontentdeliveryrule.go | 3 + ...t_datasetcontentdeliveryruledestination.go | 3 + ...tics-dataset_datasetcontentversionvalue.go | 3 + .../aws-iotanalytics-dataset_deltatime.go | 3 + .../aws-iotanalytics-dataset_filter.go | 3 + ...-iotanalytics-dataset_glueconfiguration.go | 3 + ...taset_ioteventsdestinationconfiguration.go | 3 + ...iotanalytics-dataset_outputfileurivalue.go | 3 + .../aws-iotanalytics-dataset_queryaction.go | 3 + ...analytics-dataset_resourceconfiguration.go | 3 + ...ws-iotanalytics-dataset_retentionperiod.go | 3 + ...tics-dataset_s3destinationconfiguration.go | 3 + .../aws-iotanalytics-dataset_schedule.go | 3 + .../aws-iotanalytics-dataset_trigger.go | 3 + ...-iotanalytics-dataset_triggeringdataset.go | 3 + .../aws-iotanalytics-dataset_variable.go | 3 + ...alytics-dataset_versioningconfiguration.go | 3 + .../aws-iotanalytics-datastore.go | 45 +- ...otanalytics-datastore_customermanageds3.go | 3 + ...iotanalytics-datastore_datastorestorage.go | 3 + ...-iotanalytics-datastore_retentionperiod.go | 3 + ...iotanalytics-datastore_servicemanageds3.go | 3 + .../iotanalytics/aws-iotanalytics-pipeline.go | 45 +- .../aws-iotanalytics-pipeline_activity.go | 3 + ...aws-iotanalytics-pipeline_addattributes.go | 3 + .../aws-iotanalytics-pipeline_channel.go | 3 + .../aws-iotanalytics-pipeline_datastore.go | 3 + ...analytics-pipeline_deviceregistryenrich.go | 3 + ...otanalytics-pipeline_deviceshadowenrich.go | 3 + .../aws-iotanalytics-pipeline_filter.go | 3 + .../aws-iotanalytics-pipeline_lambda.go | 3 + .../aws-iotanalytics-pipeline_math.go | 3 + ...-iotanalytics-pipeline_removeattributes.go | 3 + ...-iotanalytics-pipeline_selectattributes.go | 3 + .../iotevents/aws-iotevents-detectormodel.go | 45 +- .../aws-iotevents-detectormodel_action.go | 18 + ...ts-detectormodel_assetpropertytimestamp.go | 40 + ...events-detectormodel_assetpropertyvalue.go | 45 + ...ents-detectormodel_assetpropertyvariant.go | 50 + .../aws-iotevents-detectormodel_cleartimer.go | 3 + ...s-detectormodel_detectormodeldefinition.go | 3 + .../aws-iotevents-detectormodel_dynamodb.go | 80 + .../aws-iotevents-detectormodel_dynamodbv2.go | 40 + .../aws-iotevents-detectormodel_event.go | 3 + .../aws-iotevents-detectormodel_firehose.go | 8 + .../aws-iotevents-detectormodel_iotevents.go | 8 + ...aws-iotevents-detectormodel_iotsitewise.go | 55 + ...iotevents-detectormodel_iottopicpublish.go | 8 + .../aws-iotevents-detectormodel_lambda.go | 8 + .../aws-iotevents-detectormodel_onenter.go | 3 + .../aws-iotevents-detectormodel_onexit.go | 3 + .../aws-iotevents-detectormodel_oninput.go | 3 + .../aws-iotevents-detectormodel_payload.go | 40 + .../aws-iotevents-detectormodel_resettimer.go | 3 + .../aws-iotevents-detectormodel_settimer.go | 8 + ...aws-iotevents-detectormodel_setvariable.go | 3 + .../aws-iotevents-detectormodel_sns.go | 8 + .../aws-iotevents-detectormodel_sqs.go | 8 + .../aws-iotevents-detectormodel_state.go | 3 + ...iotevents-detectormodel_transitionevent.go | 3 + .../iotevents/aws-iotevents-input.go | 45 +- .../aws-iotevents-input_attribute.go | 3 + .../aws-iotevents-input_inputdefinition.go | 3 + .../aws-iotthingsgraph-flowtemplate.go | 45 +- ...gsgraph-flowtemplate_definitiondocument.go | 3 + cloudformation/kinesis/aws-kinesis-stream.go | 45 +- .../aws-kinesis-stream_streamencryption.go | 3 + .../kinesis/aws-kinesis-streamconsumer.go | 45 +- .../aws-kinesisanalytics-application.go | 45 +- ...lytics-application_csvmappingparameters.go | 3 + .../aws-kinesisanalytics-application_input.go | 3 + ...lytics-application_inputlambdaprocessor.go | 3 + ...sanalytics-application_inputparallelism.go | 3 + ...pplication_inputprocessingconfiguration.go | 3 + ...inesisanalytics-application_inputschema.go | 3 + ...ytics-application_jsonmappingparameters.go | 3 + ...lytics-application_kinesisfirehoseinput.go | 3 + ...alytics-application_kinesisstreamsinput.go | 3 + ...analytics-application_mappingparameters.go | 3 + ...nesisanalytics-application_recordcolumn.go | 3 + ...nesisanalytics-application_recordformat.go | 3 + .../aws-kinesisanalytics-applicationoutput.go | 45 +- ...ics-applicationoutput_destinationschema.go | 3 + ...applicationoutput_kinesisfirehoseoutput.go | 3 + ...-applicationoutput_kinesisstreamsoutput.go | 3 + ...nalytics-applicationoutput_lambdaoutput.go | 3 + ...nesisanalytics-applicationoutput_output.go | 3 + ...nalytics-applicationreferencedatasource.go | 45 +- ...eferencedatasource_csvmappingparameters.go | 3 + ...ferencedatasource_jsonmappingparameters.go | 3 + ...onreferencedatasource_mappingparameters.go | 3 + ...icationreferencedatasource_recordcolumn.go | 3 + ...icationreferencedatasource_recordformat.go | 3 + ...referencedatasource_referencedatasource.go | 3 + ...tionreferencedatasource_referenceschema.go | 3 + ...ferencedatasource_s3referencedatasource.go | 3 + .../aws-kinesisanalyticsv2-application.go | 51 +- ...pplication_applicationcodeconfiguration.go | 3 + ...v2-application_applicationconfiguration.go | 3 + ...cation_applicationsnapshotconfiguration.go | 3 + ...sv2-application_checkpointconfiguration.go | 3 + ...esisanalyticsv2-application_codecontent.go | 3 + ...ticsv2-application_csvmappingparameters.go | 3 + ...icsv2-application_environmentproperties.go | 3 + ...plication_flinkapplicationconfiguration.go | 3 + ...ws-kinesisanalyticsv2-application_input.go | 3 + ...ticsv2-application_inputlambdaprocessor.go | 3 + ...nalyticsv2-application_inputparallelism.go | 3 + ...pplication_inputprocessingconfiguration.go | 3 + ...esisanalyticsv2-application_inputschema.go | 3 + ...icsv2-application_jsonmappingparameters.go | 3 + ...ticsv2-application_kinesisfirehoseinput.go | 3 + ...yticsv2-application_kinesisstreamsinput.go | 3 + ...alyticsv2-application_mappingparameters.go | 3 + ...sv2-application_monitoringconfiguration.go | 3 + ...v2-application_parallelismconfiguration.go | 3 + ...isanalyticsv2-application_propertygroup.go | 3 + ...sisanalyticsv2-application_recordcolumn.go | 3 + ...sisanalyticsv2-application_recordformat.go | 3 + ...alyticsv2-application_s3contentlocation.go | 3 + ...application_sqlapplicationconfiguration.go | 3 + ...csv2-applicationcloudwatchloggingoption.go | 45 +- ...chloggingoption_cloudwatchloggingoption.go | 3 + ...ws-kinesisanalyticsv2-applicationoutput.go | 45 +- ...sv2-applicationoutput_destinationschema.go | 3 + ...applicationoutput_kinesisfirehoseoutput.go | 3 + ...-applicationoutput_kinesisstreamsoutput.go | 3 + ...lyticsv2-applicationoutput_lambdaoutput.go | 3 + ...sisanalyticsv2-applicationoutput_output.go | 3 + ...lyticsv2-applicationreferencedatasource.go | 45 +- ...eferencedatasource_csvmappingparameters.go | 3 + ...ferencedatasource_jsonmappingparameters.go | 3 + ...onreferencedatasource_mappingparameters.go | 3 + ...icationreferencedatasource_recordcolumn.go | 3 + ...icationreferencedatasource_recordformat.go | 3 + ...referencedatasource_referencedatasource.go | 3 + ...tionreferencedatasource_referenceschema.go | 3 + ...ferencedatasource_s3referencedatasource.go | 3 + .../aws-kinesisfirehose-deliverystream.go | 45 +- ...sfirehose-deliverystream_bufferinghints.go | 11 +- ...deliverystream_cloudwatchloggingoptions.go | 3 + ...esisfirehose-deliverystream_copycommand.go | 3 + ...tream_dataformatconversionconfiguration.go | 13 +- ...sisfirehose-deliverystream_deserializer.go | 3 + ...iverystream_elasticsearchbufferinghints.go | 11 +- ...m_elasticsearchdestinationconfiguration.go | 25 +- ...eliverystream_elasticsearchretryoptions.go | 7 +- ...-deliverystream_encryptionconfiguration.go | 3 + ...ream_extendeds3destinationconfiguration.go | 7 +- ...isfirehose-deliverystream_hivejsonserde.go | 3 + ...deliverystream_inputformatconfiguration.go | 5 +- ...stream_kinesisstreamsourceconfiguration.go | 3 + ...hose-deliverystream_kmsencryptionconfig.go | 3 + ...sfirehose-deliverystream_openxjsonserde.go | 3 + ...kinesisfirehose-deliverystream_orcserde.go | 3 + ...eliverystream_outputformatconfiguration.go | 5 +- ...sisfirehose-deliverystream_parquetserde.go | 3 + ...-deliverystream_processingconfiguration.go | 3 + ...inesisfirehose-deliverystream_processor.go | 5 +- ...ehose-deliverystream_processorparameter.go | 3 + ...stream_redshiftdestinationconfiguration.go | 18 + ...ose-deliverystream_redshiftretryoptions.go | 35 + ...liverystream_s3destinationconfiguration.go | 7 +- ...hose-deliverystream_schemaconfiguration.go | 15 +- ...nesisfirehose-deliverystream_serializer.go | 3 + ...rystream_splunkdestinationconfiguration.go | 3 + ...ehose-deliverystream_splunkretryoptions.go | 7 +- ...irehose-deliverystream_vpcconfiguration.go | 45 + cloudformation/kms/aws-kms-alias.go | 45 +- cloudformation/kms/aws-kms-key.go | 45 +- .../aws-lakeformation-datalakesettings.go | 45 +- ...s-lakeformation-datalakesettings_admins.go | 3 + ...tion-datalakesettings_datalakeprincipal.go | 3 + .../aws-lakeformation-permissions.go | 45 +- ...akeformation-permissions_columnwildcard.go | 35 + ...eformation-permissions_databaseresource.go | 3 + ...formation-permissions_datalakeprincipal.go | 3 + ...mation-permissions_datalocationresource.go | 35 + .../aws-lakeformation-permissions_resource.go | 13 + ...lakeformation-permissions_tableresource.go | 3 + ...on-permissions_tablewithcolumnsresource.go | 50 + .../aws-lakeformation-resource.go | 45 +- cloudformation/lambda/aws-lambda-alias.go | 49 +- ...-lambda-alias_aliasroutingconfiguration.go | 3 + ...ias_provisionedconcurrencyconfiguration.go | 3 + .../lambda/aws-lambda-alias_versionweight.go | 3 + .../lambda/aws-lambda-eventinvokeconfig.go | 45 +- ...bda-eventinvokeconfig_destinationconfig.go | 3 + .../aws-lambda-eventinvokeconfig_onfailure.go | 3 + .../aws-lambda-eventinvokeconfig_onsuccess.go | 3 + .../lambda/aws-lambda-eventsourcemapping.go | 45 +- ...da-eventsourcemapping_destinationconfig.go | 3 + ...aws-lambda-eventsourcemapping_onfailure.go | 3 + cloudformation/lambda/aws-lambda-function.go | 45 +- .../lambda/aws-lambda-function_code.go | 3 + .../aws-lambda-function_deadletterconfig.go | 3 + .../lambda/aws-lambda-function_environment.go | 3 + .../aws-lambda-function_tracingconfig.go | 3 + .../lambda/aws-lambda-function_vpcconfig.go | 3 + .../lambda/aws-lambda-layerversion.go | 45 +- .../lambda/aws-lambda-layerversion_content.go | 3 + .../aws-lambda-layerversionpermission.go | 45 +- .../lambda/aws-lambda-permission.go | 45 +- cloudformation/lambda/aws-lambda-version.go | 45 +- ...ion_provisionedconcurrencyconfiguration.go | 3 + cloudformation/logs/aws-logs-destination.go | 45 +- cloudformation/logs/aws-logs-loggroup.go | 45 +- cloudformation/logs/aws-logs-logstream.go | 45 +- cloudformation/logs/aws-logs-metricfilter.go | 45 +- ...-logs-metricfilter_metrictransformation.go | 3 + .../logs/aws-logs-subscriptionfilter.go | 45 +- .../macie/aws-macie-customdataidentifier.go | 131 + .../macie/aws-macie-findingsfilter.go | 126 + .../aws-macie-findingsfilter_criterion.go | 30 + ...ws-macie-findingsfilter_findingcriteria.go | 35 + cloudformation/macie/aws-macie-session.go | 111 + .../aws-managedblockchain-member.go | 45 +- ...ockchain-member_approvalthresholdpolicy.go | 3 + ...edblockchain-member_memberconfiguration.go | 3 + ...kchain-member_memberfabricconfiguration.go | 3 + ...ain-member_memberframeworkconfiguration.go | 3 + ...dblockchain-member_networkconfiguration.go | 3 + ...chain-member_networkfabricconfiguration.go | 3 + ...in-member_networkframeworkconfiguration.go | 3 + ...s-managedblockchain-member_votingpolicy.go | 3 + .../aws-managedblockchain-node.go | 45 +- ...anagedblockchain-node_nodeconfiguration.go | 3 + .../aws-mediaconvert-jobtemplate.go | 50 +- ...onvert-jobtemplate_accelerationsettings.go | 3 + ...mediaconvert-jobtemplate_hopdestination.go | 45 + .../mediaconvert/aws-mediaconvert-preset.go | 45 +- .../mediaconvert/aws-mediaconvert-queue.go | 45 +- .../medialive/aws-medialive-channel.go | 45 +- ...ws-medialive-channel_aribsourcesettings.go | 3 + ...edialive-channel_audiolanguageselection.go | 3 + ...aws-medialive-channel_audiopidselection.go | 3 + .../aws-medialive-channel_audioselector.go | 3 + ...medialive-channel_audioselectorsettings.go | 3 + .../aws-medialive-channel_captionselector.go | 3 + ...dialive-channel_captionselectorsettings.go | 3 + ...-medialive-channel_dvbsubsourcesettings.go | 3 + ...edialive-channel_embeddedsourcesettings.go | 3 + .../aws-medialive-channel_hlsinputsettings.go | 3 + .../aws-medialive-channel_inputattachment.go | 3 + .../aws-medialive-channel_inputsettings.go | 3 + ...ws-medialive-channel_inputspecification.go | 3 + ...l_mediapackageoutputdestinationsettings.go | 3 + ...tiplexprogramchanneldestinationsettings.go | 3 + ...-medialive-channel_networkinputsettings.go | 3 + ...aws-medialive-channel_outputdestination.go | 3 + ...alive-channel_outputdestinationsettings.go | 3 + ...-medialive-channel_scte20sourcesettings.go | 3 + ...-medialive-channel_scte27sourcesettings.go | 3 + ...edialive-channel_teletextsourcesettings.go | 3 + .../aws-medialive-channel_videoselector.go | 3 + .../aws-medialive-channel_videoselectorpid.go | 3 + ...edialive-channel_videoselectorprogramid.go | 3 + ...medialive-channel_videoselectorsettings.go | 3 + .../medialive/aws-medialive-input.go | 45 +- ...medialive-input_inputdestinationrequest.go | 3 + .../aws-medialive-input_inputsourcerequest.go | 3 + .../aws-medialive-input_inputvpcrequest.go | 3 + ...medialive-input_mediaconnectflowrequest.go | 3 + .../aws-medialive-inputsecuritygroup.go | 45 +- ...putsecuritygroup_inputwhitelistrulecidr.go | 3 + .../mediastore/aws-mediastore-container.go | 56 +- .../aws-mediastore-container_corsrule.go | 3 + .../aws-mediastore-container_metricpolicy.go | 40 + ...s-mediastore-container_metricpolicyrule.go | 40 + cloudformation/msk/aws-msk-cluster.go | 50 +- .../msk/aws-msk-cluster_brokerlogs.go | 45 + .../aws-msk-cluster_brokernodegroupinfo.go | 3 + .../aws-msk-cluster_clientauthentication.go | 3 + .../msk/aws-msk-cluster_cloudwatchlogs.go | 40 + .../msk/aws-msk-cluster_configurationinfo.go | 3 + .../msk/aws-msk-cluster_ebsstorageinfo.go | 3 + .../msk/aws-msk-cluster_encryptionatrest.go | 3 + .../msk/aws-msk-cluster_encryptioninfo.go | 3 + .../aws-msk-cluster_encryptionintransit.go | 3 + .../msk/aws-msk-cluster_firehose.go | 40 + .../msk/aws-msk-cluster_jmxexporter.go | 3 + .../msk/aws-msk-cluster_logginginfo.go | 35 + .../msk/aws-msk-cluster_nodeexporter.go | 3 + .../msk/aws-msk-cluster_openmonitoring.go | 3 + .../msk/aws-msk-cluster_prometheus.go | 3 + cloudformation/msk/aws-msk-cluster_s3.go | 45 + .../msk/aws-msk-cluster_storageinfo.go | 3 + cloudformation/msk/aws-msk-cluster_tls.go | 3 + .../neptune/aws-neptune-dbcluster.go | 65 +- .../aws-neptune-dbclusterparametergroup.go | 45 +- .../neptune/aws-neptune-dbinstance.go | 45 +- .../neptune/aws-neptune-dbparametergroup.go | 45 +- .../neptune/aws-neptune-dbsubnetgroup.go | 45 +- ...tworkmanager-customergatewayassociation.go | 121 + .../aws-networkmanager-device.go | 147 + .../aws-networkmanager-device_location.go | 45 + .../aws-networkmanager-globalnetwork.go | 112 + .../networkmanager/aws-networkmanager-link.go | 137 + .../aws-networkmanager-link_bandwidth.go | 40 + .../aws-networkmanager-linkassociation.go | 116 + .../networkmanager/aws-networkmanager-site.go | 122 + .../aws-networkmanager-site_location.go | 45 + ...tworkmanager-transitgatewayregistration.go | 111 + cloudformation/opsworks/aws-opsworks-app.go | 45 +- .../opsworks/aws-opsworks-app_datasource.go | 3 + .../aws-opsworks-app_environmentvariable.go | 3 + .../opsworks/aws-opsworks-app_source.go | 3 + .../aws-opsworks-app_sslconfiguration.go | 3 + ...-opsworks-elasticloadbalancerattachment.go | 45 +- .../opsworks/aws-opsworks-instance.go | 45 +- ...ws-opsworks-instance_blockdevicemapping.go | 3 + .../aws-opsworks-instance_ebsblockdevice.go | 3 + ...-opsworks-instance_timebasedautoscaling.go | 3 + cloudformation/opsworks/aws-opsworks-layer.go | 45 +- ...ws-opsworks-layer_autoscalingthresholds.go | 3 + ...works-layer_lifecycleeventconfiguration.go | 3 + ...aws-opsworks-layer_loadbasedautoscaling.go | 3 + .../opsworks/aws-opsworks-layer_recipes.go | 3 + ...sworks-layer_shutdowneventconfiguration.go | 3 + .../aws-opsworks-layer_volumeconfiguration.go | 3 + cloudformation/opsworks/aws-opsworks-stack.go | 45 +- .../aws-opsworks-stack_chefconfiguration.go | 3 + .../opsworks/aws-opsworks-stack_elasticip.go | 3 + .../aws-opsworks-stack_rdsdbinstance.go | 3 + .../opsworks/aws-opsworks-stack_source.go | 3 + ...psworks-stack_stackconfigurationmanager.go | 3 + .../opsworks/aws-opsworks-userprofile.go | 45 +- .../opsworks/aws-opsworks-volume.go | 45 +- .../opsworkscm/aws-opsworkscm-server.go | 45 +- .../aws-opsworkscm-server_engineattribute.go | 3 + .../pinpoint/aws-pinpoint-admchannel.go | 45 +- .../pinpoint/aws-pinpoint-apnschannel.go | 45 +- .../aws-pinpoint-apnssandboxchannel.go | 45 +- .../pinpoint/aws-pinpoint-apnsvoipchannel.go | 45 +- .../aws-pinpoint-apnsvoipsandboxchannel.go | 45 +- cloudformation/pinpoint/aws-pinpoint-app.go | 45 +- .../aws-pinpoint-applicationsettings.go | 45 +- ...npoint-applicationsettings_campaignhook.go | 3 + ...aws-pinpoint-applicationsettings_limits.go | 3 + ...-pinpoint-applicationsettings_quiettime.go | 3 + .../pinpoint/aws-pinpoint-baiduchannel.go | 45 +- .../pinpoint/aws-pinpoint-campaign.go | 45 +- ...ws-pinpoint-campaign_attributedimension.go | 3 + ...-pinpoint-campaign_campaignemailmessage.go | 3 + ...s-pinpoint-campaign_campaigneventfilter.go | 3 + .../aws-pinpoint-campaign_campaignhook.go | 3 + ...ws-pinpoint-campaign_campaignsmsmessage.go | 3 + .../aws-pinpoint-campaign_eventdimensions.go | 3 + .../pinpoint/aws-pinpoint-campaign_limits.go | 3 + .../pinpoint/aws-pinpoint-campaign_message.go | 3 + ...-pinpoint-campaign_messageconfiguration.go | 3 + .../aws-pinpoint-campaign_metricdimension.go | 3 + .../aws-pinpoint-campaign_quiettime.go | 3 + .../aws-pinpoint-campaign_schedule.go | 3 + .../aws-pinpoint-campaign_setdimension.go | 3 + ...inpoint-campaign_writetreatmentresource.go | 3 + .../pinpoint/aws-pinpoint-emailchannel.go | 45 +- .../pinpoint/aws-pinpoint-emailtemplate.go | 45 +- .../pinpoint/aws-pinpoint-eventstream.go | 45 +- .../pinpoint/aws-pinpoint-gcmchannel.go | 45 +- .../pinpoint/aws-pinpoint-pushtemplate.go | 45 +- ...emplate_androidpushnotificationtemplate.go | 3 + ...shtemplate_apnspushnotificationtemplate.go | 3 + ...emplate_defaultpushnotificationtemplate.go | 3 + .../pinpoint/aws-pinpoint-segment.go | 45 +- ...aws-pinpoint-segment_attributedimension.go | 3 + .../pinpoint/aws-pinpoint-segment_behavior.go | 3 + .../aws-pinpoint-segment_coordinates.go | 3 + .../aws-pinpoint-segment_demographic.go | 3 + .../pinpoint/aws-pinpoint-segment_gpspoint.go | 3 + .../pinpoint/aws-pinpoint-segment_groups.go | 3 + .../pinpoint/aws-pinpoint-segment_location.go | 3 + .../pinpoint/aws-pinpoint-segment_recency.go | 3 + .../aws-pinpoint-segment_segmentdimensions.go | 3 + .../aws-pinpoint-segment_segmentgroups.go | 3 + .../aws-pinpoint-segment_setdimension.go | 3 + .../aws-pinpoint-segment_sourcesegments.go | 3 + .../pinpoint/aws-pinpoint-smschannel.go | 45 +- .../pinpoint/aws-pinpoint-smstemplate.go | 45 +- .../pinpoint/aws-pinpoint-voicechannel.go | 45 +- .../aws-pinpointemail-configurationset.go | 45 +- ...temail-configurationset_deliveryoptions.go | 3 + ...mail-configurationset_reputationoptions.go | 3 + ...ntemail-configurationset_sendingoptions.go | 3 + ...aws-pinpointemail-configurationset_tags.go | 3 + ...temail-configurationset_trackingoptions.go | 3 + ...temail-configurationseteventdestination.go | 45 +- ...teventdestination_cloudwatchdestination.go | 3 + ...eventdestination_dimensionconfiguration.go | 3 + ...ionseteventdestination_eventdestination.go | 3 + ...tdestination_kinesisfirehosedestination.go | 3 + ...seteventdestination_pinpointdestination.go | 3 + ...ationseteventdestination_snsdestination.go | 3 + .../aws-pinpointemail-dedicatedippool.go | 45 +- .../aws-pinpointemail-dedicatedippool_tags.go | 3 + .../aws-pinpointemail-identity.go | 45 +- ...npointemail-identity_mailfromattributes.go | 3 + .../aws-pinpointemail-identity_tags.go | 3 + cloudformation/qldb/aws-qldb-ledger.go | 45 +- cloudformation/ram/aws-ram-resourceshare.go | 45 +- cloudformation/rds/aws-rds-dbcluster.go | 45 +- .../rds/aws-rds-dbcluster_dbclusterrole.go | 3 + .../aws-rds-dbcluster_scalingconfiguration.go | 3 + .../rds/aws-rds-dbclusterparametergroup.go | 45 +- cloudformation/rds/aws-rds-dbinstance.go | 45 +- .../rds/aws-rds-dbinstance_dbinstancerole.go | 3 + .../aws-rds-dbinstance_processorfeature.go | 3 + .../rds/aws-rds-dbparametergroup.go | 45 +- cloudformation/rds/aws-rds-dbproxy.go | 151 + .../rds/aws-rds-dbproxy_authformat.go | 55 + .../rds/aws-rds-dbproxy_tagformat.go | 40 + .../rds/aws-rds-dbproxytargetgroup.go | 121 + ...p_connectionpoolconfigurationinfoformat.go | 55 + cloudformation/rds/aws-rds-dbsecuritygroup.go | 45 +- .../rds/aws-rds-dbsecuritygroup_ingress.go | 3 + .../rds/aws-rds-dbsecuritygroupingress.go | 45 +- cloudformation/rds/aws-rds-dbsubnetgroup.go | 45 +- .../rds/aws-rds-eventsubscription.go | 45 +- cloudformation/rds/aws-rds-optiongroup.go | 45 +- ...aws-rds-optiongroup_optionconfiguration.go | 3 + .../rds/aws-rds-optiongroup_optionsetting.go | 3 + .../redshift/aws-redshift-cluster.go | 45 +- .../aws-redshift-cluster_loggingproperties.go | 3 + .../aws-redshift-clusterparametergroup.go | 45 +- ...edshift-clusterparametergroup_parameter.go | 3 + .../aws-redshift-clustersecuritygroup.go | 45 +- ...ws-redshift-clustersecuritygroupingress.go | 45 +- .../aws-redshift-clustersubnetgroup.go | 45 +- .../aws-resourcegroups-group.go | 122 + .../aws-resourcegroups-group_query.go | 45 + .../aws-resourcegroups-group_resourcequery.go | 40 + .../aws-resourcegroups-group_tagfilter.go | 40 + .../robomaker/aws-robomaker-fleet.go | 45 +- .../robomaker/aws-robomaker-robot.go | 45 +- .../aws-robomaker-robotapplication.go | 45 +- ...ker-robotapplication_robotsoftwaresuite.go | 3 + ...robomaker-robotapplication_sourceconfig.go | 3 + .../aws-robomaker-robotapplicationversion.go | 45 +- .../aws-robomaker-simulationapplication.go | 45 +- ...r-simulationapplication_renderingengine.go | 3 + ...imulationapplication_robotsoftwaresuite.go | 3 + ...tionapplication_simulationsoftwaresuite.go | 3 + ...aker-simulationapplication_sourceconfig.go | 3 + ...-robomaker-simulationapplicationversion.go | 45 +- .../route53/aws-route53-healthcheck.go | 45 +- ...aws-route53-healthcheck_alarmidentifier.go | 3 + ...s-route53-healthcheck_healthcheckconfig.go | 3 + .../aws-route53-healthcheck_healthchecktag.go | 3 + .../route53/aws-route53-hostedzone.go | 45 +- ...aws-route53-hostedzone_hostedzoneconfig.go | 3 + .../aws-route53-hostedzone_hostedzonetag.go | 3 + ...s-route53-hostedzone_queryloggingconfig.go | 3 + .../route53/aws-route53-hostedzone_vpc.go | 3 + .../route53/aws-route53-recordset.go | 45 +- .../aws-route53-recordset_aliastarget.go | 3 + .../aws-route53-recordset_geolocation.go | 3 + .../route53/aws-route53-recordsetgroup.go | 45 +- .../aws-route53-recordsetgroup_aliastarget.go | 3 + .../aws-route53-recordsetgroup_geolocation.go | 3 + .../aws-route53-recordsetgroup_recordset.go | 3 + .../aws-route53resolver-resolverendpoint.go | 45 +- ...olver-resolverendpoint_ipaddressrequest.go | 3 + .../aws-route53resolver-resolverrule.go | 45 +- ...te53resolver-resolverrule_targetaddress.go | 3 + ...route53resolver-resolverruleassociation.go | 45 +- cloudformation/s3/aws-s3-accesspoint.go | 45 +- ...esspoint_publicaccessblockconfiguration.go | 3 + .../s3/aws-s3-accesspoint_vpcconfiguration.go | 3 + cloudformation/s3/aws-s3-bucket.go | 45 +- ...3-bucket_abortincompletemultipartupload.go | 3 + .../aws-s3-bucket_accelerateconfiguration.go | 3 + .../aws-s3-bucket_accesscontroltranslation.go | 3 + .../aws-s3-bucket_analyticsconfiguration.go | 3 + .../s3/aws-s3-bucket_bucketencryption.go | 3 + .../s3/aws-s3-bucket_corsconfiguration.go | 3 + cloudformation/s3/aws-s3-bucket_corsrule.go | 3 + cloudformation/s3/aws-s3-bucket_dataexport.go | 3 + .../s3/aws-s3-bucket_defaultretention.go | 3 + .../aws-s3-bucket_deletemarkerreplication.go | 35 + .../s3/aws-s3-bucket_destination.go | 3 + .../aws-s3-bucket_encryptionconfiguration.go | 3 + cloudformation/s3/aws-s3-bucket_filterrule.go | 3 + .../aws-s3-bucket_inventoryconfiguration.go | 3 + .../s3/aws-s3-bucket_lambdaconfiguration.go | 3 + .../aws-s3-bucket_lifecycleconfiguration.go | 3 + .../s3/aws-s3-bucket_loggingconfiguration.go | 3 + cloudformation/s3/aws-s3-bucket_metrics.go | 40 + .../s3/aws-s3-bucket_metricsconfiguration.go | 3 + ...s-s3-bucket_noncurrentversiontransition.go | 3 + ...aws-s3-bucket_notificationconfiguration.go | 3 + .../s3/aws-s3-bucket_notificationfilter.go | 3 + .../aws-s3-bucket_objectlockconfiguration.go | 3 + .../s3/aws-s3-bucket_objectlockrule.go | 3 + ...3-bucket_publicaccessblockconfiguration.go | 3 + .../s3/aws-s3-bucket_queueconfiguration.go | 3 + .../s3/aws-s3-bucket_redirectallrequeststo.go | 3 + .../s3/aws-s3-bucket_redirectrule.go | 3 + .../aws-s3-bucket_replicationconfiguration.go | 3 + .../aws-s3-bucket_replicationdestination.go | 13 + .../s3/aws-s3-bucket_replicationrule.go | 20 +- ...ws-s3-bucket_replicationruleandoperator.go | 40 + .../s3/aws-s3-bucket_replicationrulefilter.go | 45 + .../s3/aws-s3-bucket_replicationtime.go | 40 + .../s3/aws-s3-bucket_replicationtimevalue.go | 35 + .../s3/aws-s3-bucket_routingrule.go | 3 + .../s3/aws-s3-bucket_routingrulecondition.go | 3 + cloudformation/s3/aws-s3-bucket_rule.go | 3 + .../s3/aws-s3-bucket_s3keyfilter.go | 3 + ...s3-bucket_serversideencryptionbydefault.go | 3 + .../aws-s3-bucket_serversideencryptionrule.go | 3 + .../aws-s3-bucket_sourceselectioncriteria.go | 3 + .../aws-s3-bucket_ssekmsencryptedobjects.go | 3 + .../s3/aws-s3-bucket_storageclassanalysis.go | 3 + cloudformation/s3/aws-s3-bucket_tagfilter.go | 3 + .../s3/aws-s3-bucket_topicconfiguration.go | 3 + cloudformation/s3/aws-s3-bucket_transition.go | 3 + .../aws-s3-bucket_versioningconfiguration.go | 3 + .../s3/aws-s3-bucket_websiteconfiguration.go | 3 + cloudformation/s3/aws-s3-bucketpolicy.go | 45 +- .../sagemaker/aws-sagemaker-coderepository.go | 45 +- .../aws-sagemaker-coderepository_gitconfig.go | 3 + .../sagemaker/aws-sagemaker-endpoint.go | 45 +- .../aws-sagemaker-endpoint_variantproperty.go | 3 + .../sagemaker/aws-sagemaker-endpointconfig.go | 45 +- ...emaker-endpointconfig_productionvariant.go | 3 + .../sagemaker/aws-sagemaker-model.go | 45 +- ...aws-sagemaker-model_containerdefinition.go | 3 + .../aws-sagemaker-model_vpcconfig.go | 3 + .../aws-sagemaker-notebookinstance.go | 45 +- ...gemaker-notebookinstancelifecycleconfig.go | 45 +- ...cleconfig_notebookinstancelifecyclehook.go | 3 + .../sagemaker/aws-sagemaker-workteam.go | 45 +- ...emaker-workteam_cognitomemberdefinition.go | 3 + ...aws-sagemaker-workteam_memberdefinition.go | 3 + ...aker-workteam_notificationconfiguration.go | 3 + cloudformation/sdb/aws-sdb-domain.go | 45 +- .../aws-secretsmanager-resourcepolicy.go | 45 +- .../aws-secretsmanager-rotationschedule.go | 45 +- ...smanager-rotationschedule_rotationrules.go | 3 + .../aws-secretsmanager-secret.go | 45 +- ...retsmanager-secret_generatesecretstring.go | 3 + ...s-secretsmanager-secrettargetattachment.go | 45 +- .../securityhub/aws-securityhub-hub.go | 45 +- .../serverless/aws-serverless-api.go | 45 +- .../aws-serverless-api_accesslogsetting.go | 3 + .../serverless/aws-serverless-api_auth.go | 3 + .../aws-serverless-api_corsconfiguration.go | 3 + .../aws-serverless-api_s3location.go | 3 + .../serverless/aws-serverless-application.go | 45 +- ...verless-application_applicationlocation.go | 3 + .../serverless/aws-serverless-function.go | 45 +- ...aws-serverless-function_alexaskillevent.go | 3 + .../aws-serverless-function_apievent.go | 3 + .../aws-serverless-function_bucketsampt.go | 3 + ...erverless-function_cloudwatcheventevent.go | 3 + ...serverless-function_cloudwatchlogsevent.go | 3 + ...aws-serverless-function_collectionsampt.go | 3 + ...aws-serverless-function_deadletterqueue.go | 3 + ...erverless-function_deploymentpreference.go | 3 + .../aws-serverless-function_domainsampt.go | 3 + .../aws-serverless-function_dynamodbevent.go | 3 + .../aws-serverless-function_emptysampt.go | 3 + .../aws-serverless-function_eventsource.go | 3 + ...serverless-function_functionenvironment.go | 3 + .../aws-serverless-function_functionsampt.go | 3 + ...s-serverless-function_iampolicydocument.go | 3 + .../aws-serverless-function_identitysampt.go | 3 + .../aws-serverless-function_iotruleevent.go | 3 + .../aws-serverless-function_keysampt.go | 3 + .../aws-serverless-function_kinesisevent.go | 3 + .../aws-serverless-function_loggroupsampt.go | 3 + .../aws-serverless-function_queuesampt.go | 3 + .../aws-serverless-function_s3event.go | 3 + .../aws-serverless-function_s3keyfilter.go | 3 + ...aws-serverless-function_s3keyfilterrule.go | 3 + .../aws-serverless-function_s3location.go | 3 + ...erverless-function_s3notificationfilter.go | 3 + ...s-serverless-function_sampolicytemplate.go | 3 + .../aws-serverless-function_scheduleevent.go | 3 + .../aws-serverless-function_snsevent.go | 3 + .../aws-serverless-function_sqsevent.go | 3 + ...s-serverless-function_statemachinesampt.go | 3 + .../aws-serverless-function_streamsampt.go | 3 + .../aws-serverless-function_tablesampt.go | 3 + ...ws-serverless-function_tablestreamsampt.go | 3 + .../aws-serverless-function_topicsampt.go | 3 + .../aws-serverless-function_vpcconfig.go | 3 + .../serverless/aws-serverless-layerversion.go | 45 +- .../serverless/aws-serverless-simpletable.go | 45 +- .../aws-serverless-simpletable_primarykey.go | 3 + ...rless-simpletable_provisionedthroughput.go | 3 + ...serverless-simpletable_ssespecification.go | 3 + ...s-servicecatalog-acceptedportfolioshare.go | 45 +- ...ws-servicecatalog-cloudformationproduct.go | 50 +- ...nproduct_provisioningartifactproperties.go | 3 + ...atalog-cloudformationprovisionedproduct.go | 45 +- ...rovisionedproduct_provisioningparameter.go | 3 + ...visionedproduct_provisioningpreferences.go | 3 + ...icecatalog-launchnotificationconstraint.go | 45 +- ...aws-servicecatalog-launchroleconstraint.go | 52 +- ...servicecatalog-launchtemplateconstraint.go | 45 +- .../aws-servicecatalog-portfolio.go | 45 +- ...cecatalog-portfolioprincipalassociation.go | 45 +- ...vicecatalog-portfolioproductassociation.go | 45 +- .../aws-servicecatalog-portfolioshare.go | 45 +- ...servicecatalog-resourceupdateconstraint.go | 45 +- .../aws-servicecatalog-stacksetconstraint.go | 45 +- .../aws-servicecatalog-tagoption.go | 45 +- ...aws-servicecatalog-tagoptionassociation.go | 45 +- .../aws-servicediscovery-httpnamespace.go | 51 +- .../aws-servicediscovery-instance.go | 45 +- ...ws-servicediscovery-privatednsnamespace.go | 51 +- ...aws-servicediscovery-publicdnsnamespace.go | 51 +- .../aws-servicediscovery-service.go | 51 +- .../aws-servicediscovery-service_dnsconfig.go | 3 + .../aws-servicediscovery-service_dnsrecord.go | 3 + ...vicediscovery-service_healthcheckconfig.go | 3 + ...scovery-service_healthcheckcustomconfig.go | 3 + .../ses/aws-ses-configurationset.go | 45 +- ...ws-ses-configurationseteventdestination.go | 45 +- ...teventdestination_cloudwatchdestination.go | 3 + ...eventdestination_dimensionconfiguration.go | 3 + ...ionseteventdestination_eventdestination.go | 3 + ...tdestination_kinesisfirehosedestination.go | 3 + cloudformation/ses/aws-ses-receiptfilter.go | 45 +- .../ses/aws-ses-receiptfilter_filter.go | 3 + .../ses/aws-ses-receiptfilter_ipfilter.go | 3 + cloudformation/ses/aws-ses-receiptrule.go | 45 +- .../ses/aws-ses-receiptrule_action.go | 3 + .../aws-ses-receiptrule_addheaderaction.go | 3 + .../ses/aws-ses-receiptrule_bounceaction.go | 3 + .../ses/aws-ses-receiptrule_lambdaaction.go | 3 + .../ses/aws-ses-receiptrule_rule.go | 3 + .../ses/aws-ses-receiptrule_s3action.go | 3 + .../ses/aws-ses-receiptrule_snsaction.go | 3 + .../ses/aws-ses-receiptrule_stopaction.go | 3 + .../ses/aws-ses-receiptrule_workmailaction.go | 3 + cloudformation/ses/aws-ses-receiptruleset.go | 45 +- cloudformation/ses/aws-ses-template.go | 45 +- .../ses/aws-ses-template_template.go | 3 + cloudformation/sns/aws-sns-subscription.go | 45 +- cloudformation/sns/aws-sns-topic.go | 55 +- .../sns/aws-sns-topic_subscription.go | 3 + cloudformation/sns/aws-sns-topicpolicy.go | 45 +- cloudformation/sqs/aws-sqs-queue.go | 45 +- cloudformation/sqs/aws-sqs-queuepolicy.go | 45 +- cloudformation/ssm/aws-ssm-association.go | 77 +- ...ation_instanceassociationoutputlocation.go | 3 + .../aws-ssm-association_s3outputlocation.go | 8 + .../ssm/aws-ssm-association_target.go | 3 + cloudformation/ssm/aws-ssm-document.go | 45 +- .../ssm/aws-ssm-maintenancewindow.go | 45 +- .../ssm/aws-ssm-maintenancewindowtarget.go | 45 +- ...aws-ssm-maintenancewindowtarget_targets.go | 3 + .../ssm/aws-ssm-maintenancewindowtask.go | 45 +- ...s-ssm-maintenancewindowtask_logginginfo.go | 3 + ...k_maintenancewindowautomationparameters.go | 3 + ...wtask_maintenancewindowlambdaparameters.go | 3 + ...k_maintenancewindowruncommandparameters.go | 3 + ...aintenancewindowstepfunctionsparameters.go | 3 + ...aintenancewindowtask_notificationconfig.go | 3 + .../aws-ssm-maintenancewindowtask_target.go | 3 + ...ancewindowtask_taskinvocationparameters.go | 3 + cloudformation/ssm/aws-ssm-parameter.go | 50 +- cloudformation/ssm/aws-ssm-patchbaseline.go | 45 +- .../ssm/aws-ssm-patchbaseline_patchfilter.go | 3 + .../aws-ssm-patchbaseline_patchfiltergroup.go | 3 + .../ssm/aws-ssm-patchbaseline_patchsource.go | 3 + .../aws-ssm-patchbaseline_patchstringdate.go | 30 + .../ssm/aws-ssm-patchbaseline_rule.go | 8 + .../ssm/aws-ssm-patchbaseline_rulegroup.go | 3 + .../ssm/aws-ssm-resourcedatasync.go | 45 +- ...resourcedatasync_awsorganizationssource.go | 3 + .../aws-ssm-resourcedatasync_s3destination.go | 3 + .../aws-ssm-resourcedatasync_syncsource.go | 3 + .../aws-stepfunctions-activity.go | 45 +- .../aws-stepfunctions-activity_tagsentry.go | 3 + .../aws-stepfunctions-statemachine.go | 57 +- ...ons-statemachine_cloudwatchlogsloggroup.go | 3 + ...ns-statemachine_definitionsubstitutions.go | 30 + ...epfunctions-statemachine_logdestination.go | 3 + ...tions-statemachine_loggingconfiguration.go | 3 + ...s-stepfunctions-statemachine_s3location.go | 45 + ...ws-stepfunctions-statemachine_tagsentry.go | 3 + .../synthetics/aws-synthetics-canary.go | 162 + .../synthetics/aws-synthetics-canary_code.go | 55 + .../aws-synthetics-canary_runconfig.go | 35 + .../aws-synthetics-canary_schedule.go | 40 + .../aws-synthetics-canary_vpcconfig.go | 45 + .../transfer/aws-transfer-server.go | 55 +- .../aws-transfer-server_endpointdetails.go | 3 + ...transfer-server_identityproviderdetails.go | 3 + .../transfer/aws-transfer-server_protocol.go | 30 + cloudformation/transfer/aws-transfer-user.go | 45 +- ...aws-transfer-user_homedirectorymapentry.go | 3 + .../aws-transfer-user_sshpublickey.go | 3 + cloudformation/waf/aws-waf-bytematchset.go | 45 +- .../aws-waf-bytematchset_bytematchtuple.go | 3 + .../waf/aws-waf-bytematchset_fieldtomatch.go | 3 + cloudformation/waf/aws-waf-ipset.go | 45 +- .../waf/aws-waf-ipset_ipsetdescriptor.go | 3 + cloudformation/waf/aws-waf-rule.go | 45 +- cloudformation/waf/aws-waf-rule_predicate.go | 3 + .../waf/aws-waf-sizeconstraintset.go | 45 +- .../aws-waf-sizeconstraintset_fieldtomatch.go | 3 + ...ws-waf-sizeconstraintset_sizeconstraint.go | 3 + .../waf/aws-waf-sqlinjectionmatchset.go | 45 +- ...s-waf-sqlinjectionmatchset_fieldtomatch.go | 3 + ...njectionmatchset_sqlinjectionmatchtuple.go | 3 + cloudformation/waf/aws-waf-webacl.go | 45 +- .../waf/aws-waf-webacl_activatedrule.go | 3 + .../waf/aws-waf-webacl_wafaction.go | 3 + cloudformation/waf/aws-waf-xssmatchset.go | 45 +- .../waf/aws-waf-xssmatchset_fieldtomatch.go | 3 + .../waf/aws-waf-xssmatchset_xssmatchtuple.go | 3 + .../aws-wafregional-bytematchset.go | 45 +- ...wafregional-bytematchset_bytematchtuple.go | 3 + ...s-wafregional-bytematchset_fieldtomatch.go | 3 + .../aws-wafregional-geomatchset.go | 45 +- ...regional-geomatchset_geomatchconstraint.go | 3 + .../wafregional/aws-wafregional-ipset.go | 45 +- .../aws-wafregional-ipset_ipsetdescriptor.go | 3 + .../aws-wafregional-ratebasedrule.go | 45 +- ...aws-wafregional-ratebasedrule_predicate.go | 3 + .../aws-wafregional-regexpatternset.go | 45 +- .../wafregional/aws-wafregional-rule.go | 45 +- .../aws-wafregional-rule_predicate.go | 3 + .../aws-wafregional-sizeconstraintset.go | 45 +- ...regional-sizeconstraintset_fieldtomatch.go | 3 + ...gional-sizeconstraintset_sizeconstraint.go | 3 + .../aws-wafregional-sqlinjectionmatchset.go | 45 +- ...ional-sqlinjectionmatchset_fieldtomatch.go | 3 + ...njectionmatchset_sqlinjectionmatchtuple.go | 3 + .../wafregional/aws-wafregional-webacl.go | 45 +- .../aws-wafregional-webacl_action.go | 3 + .../aws-wafregional-webacl_rule.go | 3 + .../aws-wafregional-webaclassociation.go | 45 +- .../aws-wafregional-xssmatchset.go | 45 +- ...ws-wafregional-xssmatchset_fieldtomatch.go | 3 + ...s-wafregional-xssmatchset_xssmatchtuple.go | 3 + cloudformation/wafv2/aws-wafv2-ipset.go | 45 +- .../wafv2/aws-wafv2-regexpatternset.go | 45 +- cloudformation/wafv2/aws-wafv2-rulegroup.go | 45 +- .../aws-wafv2-rulegroup_andstatementone.go | 3 + .../aws-wafv2-rulegroup_andstatementtwo.go | 3 + .../aws-wafv2-rulegroup_bytematchstatement.go | 5 +- .../wafv2/aws-wafv2-rulegroup_fieldtomatch.go | 3 + .../aws-wafv2-rulegroup_geomatchstatement.go | 3 + ...wafv2-rulegroup_ipsetreferencestatement.go | 3 + .../aws-wafv2-rulegroup_notstatementone.go | 3 + .../aws-wafv2-rulegroup_notstatementtwo.go | 3 + .../aws-wafv2-rulegroup_orstatementone.go | 3 + .../aws-wafv2-rulegroup_orstatementtwo.go | 3 + ...s-wafv2-rulegroup_ratebasedstatementone.go | 3 + ...s-wafv2-rulegroup_ratebasedstatementtwo.go | 3 + ...group_regexpatternsetreferencestatement.go | 3 + .../wafv2/aws-wafv2-rulegroup_rule.go | 3 + .../wafv2/aws-wafv2-rulegroup_ruleaction.go | 3 + ...wafv2-rulegroup_sizeconstraintstatement.go | 3 + .../aws-wafv2-rulegroup_sqlimatchstatement.go | 3 + .../wafv2/aws-wafv2-rulegroup_statementone.go | 3 + .../aws-wafv2-rulegroup_statementthree.go | 3 + .../wafv2/aws-wafv2-rulegroup_statementtwo.go | 3 + .../aws-wafv2-rulegroup_texttransformation.go | 3 + .../aws-wafv2-rulegroup_visibilityconfig.go | 3 + .../aws-wafv2-rulegroup_xssmatchstatement.go | 3 + cloudformation/wafv2/aws-wafv2-webacl.go | 45 +- .../wafv2/aws-wafv2-webacl_andstatementone.go | 3 + .../wafv2/aws-wafv2-webacl_andstatementtwo.go | 3 + .../aws-wafv2-webacl_bytematchstatement.go | 5 +- .../wafv2/aws-wafv2-webacl_defaultaction.go | 3 + .../wafv2/aws-wafv2-webacl_excludedrule.go | 3 + .../wafv2/aws-wafv2-webacl_fieldtomatch.go | 3 + .../aws-wafv2-webacl_geomatchstatement.go | 3 + ...ws-wafv2-webacl_ipsetreferencestatement.go | 3 + ...-wafv2-webacl_managedrulegroupstatement.go | 3 + .../wafv2/aws-wafv2-webacl_notstatementone.go | 3 + .../wafv2/aws-wafv2-webacl_notstatementtwo.go | 3 + .../wafv2/aws-wafv2-webacl_orstatementone.go | 3 + .../wafv2/aws-wafv2-webacl_orstatementtwo.go | 3 + .../wafv2/aws-wafv2-webacl_overrideaction.go | 3 + .../aws-wafv2-webacl_ratebasedstatementone.go | 3 + .../aws-wafv2-webacl_ratebasedstatementtwo.go | 3 + ...ebacl_regexpatternsetreferencestatement.go | 3 + cloudformation/wafv2/aws-wafv2-webacl_rule.go | 3 + .../wafv2/aws-wafv2-webacl_ruleaction.go | 3 + ...afv2-webacl_rulegroupreferencestatement.go | 3 + ...ws-wafv2-webacl_sizeconstraintstatement.go | 3 + .../aws-wafv2-webacl_sqlimatchstatement.go | 3 + .../wafv2/aws-wafv2-webacl_statementone.go | 3 + .../wafv2/aws-wafv2-webacl_statementthree.go | 3 + .../wafv2/aws-wafv2-webacl_statementtwo.go | 3 + .../aws-wafv2-webacl_texttransformation.go | 3 + .../aws-wafv2-webacl_visibilityconfig.go | 3 + .../aws-wafv2-webacl_xssmatchstatement.go | 3 + .../wafv2/aws-wafv2-webaclassociation.go | 45 +- .../workspaces/aws-workspaces-workspace.go | 45 +- ...orkspaces-workspace_workspaceproperties.go | 3 + generate/property.go | 123 +- generate/templates/schema-property.template | 4 +- schema/cloudformation.go | 12006 +++++++++++++-- schema/cloudformation.schema.json | 12006 +++++++++++++-- schema/sam.go | 12196 ++++++++++++++-- schema/sam.schema.json | 12196 ++++++++++++++-- 1965 files changed, 71596 insertions(+), 15081 deletions(-) create mode 100644 cloudformation/apigatewayv2/aws-apigatewayv2-integration_tlsconfig.go create mode 100644 cloudformation/appconfig/aws-appconfig-hostedconfigurationversion.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualnode_backenddefaults.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualnode_clientpolicy.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualnode_clientpolicytls.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualnode_listenertls.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualnode_listenertlsacmcertificate.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualnode_listenertlscertificate.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualnode_listenertlsfilecertificate.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualnode_tlsvalidationcontext.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualnode_tlsvalidationcontextacmtrust.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualnode_tlsvalidationcontextfiletrust.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualnode_tlsvalidationcontexttrust.go create mode 100644 cloudformation/athena/aws-athena-workgroup.go create mode 100644 cloudformation/athena/aws-athena-workgroup_encryptionconfiguration.go create mode 100644 cloudformation/athena/aws-athena-workgroup_resultconfiguration.go create mode 100644 cloudformation/athena/aws-athena-workgroup_resultconfigurationupdates.go create mode 100644 cloudformation/athena/aws-athena-workgroup_tags.go create mode 100644 cloudformation/athena/aws-athena-workgroup_workgroupconfiguration.go create mode 100644 cloudformation/athena/aws-athena-workgroup_workgroupconfigurationupdates.go create mode 100644 cloudformation/cassandra/aws-cassandra-keyspace.go create mode 100644 cloudformation/cassandra/aws-cassandra-table.go create mode 100644 cloudformation/cassandra/aws-cassandra-table_billingmode.go create mode 100644 cloudformation/cassandra/aws-cassandra-table_clusteringkeycolumn.go create mode 100644 cloudformation/cassandra/aws-cassandra-table_column.go create mode 100644 cloudformation/cassandra/aws-cassandra-table_provisionedthroughput.go create mode 100644 cloudformation/ce/aws-ce-costcategory.go create mode 100644 cloudformation/chatbot/aws-chatbot-slackchannelconfiguration.go create mode 100644 cloudformation/cloudfront/aws-cloudfront-distribution_origingroup.go create mode 100644 cloudformation/cloudfront/aws-cloudfront-distribution_origingroupfailovercriteria.go create mode 100644 cloudformation/cloudfront/aws-cloudfront-distribution_origingroupmember.go create mode 100644 cloudformation/cloudfront/aws-cloudfront-distribution_origingroupmembers.go create mode 100644 cloudformation/cloudfront/aws-cloudfront-distribution_origingroups.go create mode 100644 cloudformation/cloudfront/aws-cloudfront-distribution_statuscodes.go create mode 100644 cloudformation/cloudwatch/aws-cloudwatch-compositealarm.go create mode 100644 cloudformation/cloudwatch/aws-cloudwatch-insightrule_tags.go create mode 100644 cloudformation/codeguruprofiler/aws-codeguruprofiler-profilinggroup.go create mode 100644 cloudformation/codestarconnections/aws-codestarconnections-connection.go create mode 100644 cloudformation/detective/aws-detective-graph.go create mode 100644 cloudformation/detective/aws-detective-memberinvitation.go create mode 100644 cloudformation/dms/aws-dms-endpoint_kafkasettings.go create mode 100644 cloudformation/dms/aws-dms-endpoint_neptunesettings.go create mode 100644 cloudformation/ec2/aws-ec2-clientvpnendpoint_federatedauthenticationrequest.go create mode 100644 cloudformation/ec2/aws-ec2-ec2fleet_capacityreservationoptionsrequest.go create mode 100644 cloudformation/ec2/aws-ec2-ec2fleet_placement.go create mode 100644 cloudformation/ecs/aws-ecs-capacityprovider.go create mode 100644 cloudformation/ecs/aws-ecs-capacityprovider_autoscalinggroupprovider.go create mode 100644 cloudformation/ecs/aws-ecs-capacityprovider_managedscaling.go create mode 100644 cloudformation/ecs/aws-ecs-cluster_capacityproviderstrategyitem.go create mode 100644 cloudformation/ecs/aws-ecs-cluster_clustersettings.go create mode 100644 cloudformation/efs/aws-efs-accesspoint.go create mode 100644 cloudformation/efs/aws-efs-accesspoint_accesspointtag.go create mode 100644 cloudformation/efs/aws-efs-accesspoint_creationinfo.go create mode 100644 cloudformation/efs/aws-efs-accesspoint_posixuser.go create mode 100644 cloudformation/efs/aws-efs-accesspoint_rootdirectory.go create mode 100644 cloudformation/eks/aws-eks-cluster_encryptionconfig.go create mode 100644 cloudformation/eks/aws-eks-cluster_provider.go create mode 100644 cloudformation/events/aws-events-rule_httpparameters.go create mode 100644 cloudformation/eventschemas/aws-eventschemas-registrypolicy.go create mode 100644 cloudformation/globalaccelerator/aws-globalaccelerator-accelerator.go create mode 100644 cloudformation/globalaccelerator/aws-globalaccelerator-endpointgroup.go create mode 100644 cloudformation/globalaccelerator/aws-globalaccelerator-endpointgroup_endpointconfiguration.go create mode 100644 cloudformation/globalaccelerator/aws-globalaccelerator-listener.go create mode 100644 cloudformation/globalaccelerator/aws-globalaccelerator-listener_portrange.go create mode 100644 cloudformation/greengrass/aws-greengrass-resourcedefinition_resourcedownloadownersetting.go create mode 100644 cloudformation/greengrass/aws-greengrass-resourcedefinitionversion_resourcedownloadownersetting.go create mode 100644 cloudformation/imagebuilder/aws-imagebuilder-component.go create mode 100644 cloudformation/imagebuilder/aws-imagebuilder-distributionconfiguration.go create mode 100644 cloudformation/imagebuilder/aws-imagebuilder-distributionconfiguration_distribution.go create mode 100644 cloudformation/imagebuilder/aws-imagebuilder-image.go create mode 100644 cloudformation/imagebuilder/aws-imagebuilder-image_imagetestsconfiguration.go create mode 100644 cloudformation/imagebuilder/aws-imagebuilder-imagepipeline.go create mode 100644 cloudformation/imagebuilder/aws-imagebuilder-imagepipeline_imagetestsconfiguration.go create mode 100644 cloudformation/imagebuilder/aws-imagebuilder-imagepipeline_schedule.go create mode 100644 cloudformation/imagebuilder/aws-imagebuilder-imagerecipe.go create mode 100644 cloudformation/imagebuilder/aws-imagebuilder-imagerecipe_componentconfiguration.go create mode 100644 cloudformation/imagebuilder/aws-imagebuilder-imagerecipe_ebsinstanceblockdevicespecification.go create mode 100644 cloudformation/imagebuilder/aws-imagebuilder-imagerecipe_instanceblockdevicemapping.go create mode 100644 cloudformation/imagebuilder/aws-imagebuilder-infrastructureconfiguration.go create mode 100644 cloudformation/imagebuilder/aws-imagebuilder-infrastructureconfiguration_logging.go create mode 100644 cloudformation/imagebuilder/aws-imagebuilder-infrastructureconfiguration_s3logs.go create mode 100644 cloudformation/iot/aws-iot-provisioningtemplate.go create mode 100644 cloudformation/iot/aws-iot-provisioningtemplate_provisioninghook.go create mode 100644 cloudformation/iot/aws-iot-topicrule_assetpropertytimestamp.go create mode 100644 cloudformation/iot/aws-iot-topicrule_assetpropertyvalue.go create mode 100644 cloudformation/iot/aws-iot-topicrule_assetpropertyvariant.go create mode 100644 cloudformation/iot/aws-iot-topicrule_httpaction.go create mode 100644 cloudformation/iot/aws-iot-topicrule_httpactionheader.go create mode 100644 cloudformation/iot/aws-iot-topicrule_httpauthorization.go create mode 100644 cloudformation/iot/aws-iot-topicrule_ioteventsaction.go create mode 100644 cloudformation/iot/aws-iot-topicrule_iotsitewiseaction.go create mode 100644 cloudformation/iot/aws-iot-topicrule_putassetpropertyvalueentry.go create mode 100644 cloudformation/iot/aws-iot-topicrule_sigv4authorization.go create mode 100644 cloudformation/iotevents/aws-iotevents-detectormodel_assetpropertytimestamp.go create mode 100644 cloudformation/iotevents/aws-iotevents-detectormodel_assetpropertyvalue.go create mode 100644 cloudformation/iotevents/aws-iotevents-detectormodel_assetpropertyvariant.go create mode 100644 cloudformation/iotevents/aws-iotevents-detectormodel_dynamodb.go create mode 100644 cloudformation/iotevents/aws-iotevents-detectormodel_dynamodbv2.go create mode 100644 cloudformation/iotevents/aws-iotevents-detectormodel_iotsitewise.go create mode 100644 cloudformation/iotevents/aws-iotevents-detectormodel_payload.go create mode 100644 cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_redshiftretryoptions.go create mode 100644 cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_vpcconfiguration.go create mode 100644 cloudformation/lakeformation/aws-lakeformation-permissions_columnwildcard.go create mode 100644 cloudformation/lakeformation/aws-lakeformation-permissions_datalocationresource.go create mode 100644 cloudformation/lakeformation/aws-lakeformation-permissions_tablewithcolumnsresource.go create mode 100644 cloudformation/macie/aws-macie-customdataidentifier.go create mode 100644 cloudformation/macie/aws-macie-findingsfilter.go create mode 100644 cloudformation/macie/aws-macie-findingsfilter_criterion.go create mode 100644 cloudformation/macie/aws-macie-findingsfilter_findingcriteria.go create mode 100644 cloudformation/macie/aws-macie-session.go create mode 100644 cloudformation/mediaconvert/aws-mediaconvert-jobtemplate_hopdestination.go create mode 100644 cloudformation/mediastore/aws-mediastore-container_metricpolicy.go create mode 100644 cloudformation/mediastore/aws-mediastore-container_metricpolicyrule.go create mode 100644 cloudformation/msk/aws-msk-cluster_brokerlogs.go create mode 100644 cloudformation/msk/aws-msk-cluster_cloudwatchlogs.go create mode 100644 cloudformation/msk/aws-msk-cluster_firehose.go create mode 100644 cloudformation/msk/aws-msk-cluster_logginginfo.go create mode 100644 cloudformation/msk/aws-msk-cluster_s3.go create mode 100644 cloudformation/networkmanager/aws-networkmanager-customergatewayassociation.go create mode 100644 cloudformation/networkmanager/aws-networkmanager-device.go create mode 100644 cloudformation/networkmanager/aws-networkmanager-device_location.go create mode 100644 cloudformation/networkmanager/aws-networkmanager-globalnetwork.go create mode 100644 cloudformation/networkmanager/aws-networkmanager-link.go create mode 100644 cloudformation/networkmanager/aws-networkmanager-link_bandwidth.go create mode 100644 cloudformation/networkmanager/aws-networkmanager-linkassociation.go create mode 100644 cloudformation/networkmanager/aws-networkmanager-site.go create mode 100644 cloudformation/networkmanager/aws-networkmanager-site_location.go create mode 100644 cloudformation/networkmanager/aws-networkmanager-transitgatewayregistration.go create mode 100644 cloudformation/rds/aws-rds-dbproxy.go create mode 100644 cloudformation/rds/aws-rds-dbproxy_authformat.go create mode 100644 cloudformation/rds/aws-rds-dbproxy_tagformat.go create mode 100644 cloudformation/rds/aws-rds-dbproxytargetgroup.go create mode 100644 cloudformation/rds/aws-rds-dbproxytargetgroup_connectionpoolconfigurationinfoformat.go create mode 100644 cloudformation/resourcegroups/aws-resourcegroups-group.go create mode 100644 cloudformation/resourcegroups/aws-resourcegroups-group_query.go create mode 100644 cloudformation/resourcegroups/aws-resourcegroups-group_resourcequery.go create mode 100644 cloudformation/resourcegroups/aws-resourcegroups-group_tagfilter.go create mode 100644 cloudformation/s3/aws-s3-bucket_deletemarkerreplication.go create mode 100644 cloudformation/s3/aws-s3-bucket_metrics.go create mode 100644 cloudformation/s3/aws-s3-bucket_replicationruleandoperator.go create mode 100644 cloudformation/s3/aws-s3-bucket_replicationrulefilter.go create mode 100644 cloudformation/s3/aws-s3-bucket_replicationtime.go create mode 100644 cloudformation/s3/aws-s3-bucket_replicationtimevalue.go create mode 100644 cloudformation/ssm/aws-ssm-patchbaseline_patchstringdate.go create mode 100644 cloudformation/stepfunctions/aws-stepfunctions-statemachine_definitionsubstitutions.go create mode 100644 cloudformation/stepfunctions/aws-stepfunctions-statemachine_s3location.go create mode 100644 cloudformation/synthetics/aws-synthetics-canary.go create mode 100644 cloudformation/synthetics/aws-synthetics-canary_code.go create mode 100644 cloudformation/synthetics/aws-synthetics-canary_runconfig.go create mode 100644 cloudformation/synthetics/aws-synthetics-canary_schedule.go create mode 100644 cloudformation/synthetics/aws-synthetics-canary_vpcconfig.go create mode 100644 cloudformation/transfer/aws-transfer-server_protocol.go diff --git a/cloudformation/accessanalyzer/aws-accessanalyzer-analyzer.go b/cloudformation/accessanalyzer/aws-accessanalyzer-analyzer.go index 0c2e340fa7..359a85d12f 100644 --- a/cloudformation/accessanalyzer/aws-accessanalyzer-analyzer.go +++ b/cloudformation/accessanalyzer/aws-accessanalyzer-analyzer.go @@ -36,6 +36,9 @@ type Analyzer struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -56,19 +59,21 @@ func (r *Analyzer) AWSCloudFormationType() string { func (r Analyzer) MarshalJSON() ([]byte, error) { type Properties Analyzer return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -77,12 +82,13 @@ func (r Analyzer) MarshalJSON() ([]byte, error) { func (r *Analyzer) UnmarshalJSON(b []byte) error { type Properties Analyzer res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -106,6 +112,9 @@ func (r *Analyzer) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/accessanalyzer/aws-accessanalyzer-analyzer_archiverule.go b/cloudformation/accessanalyzer/aws-accessanalyzer-analyzer_archiverule.go index 28f106d307..0c8956763a 100644 --- a/cloudformation/accessanalyzer/aws-accessanalyzer-analyzer_archiverule.go +++ b/cloudformation/accessanalyzer/aws-accessanalyzer-analyzer_archiverule.go @@ -21,6 +21,9 @@ type Analyzer_ArchiveRule struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/accessanalyzer/aws-accessanalyzer-analyzer_filter.go b/cloudformation/accessanalyzer/aws-accessanalyzer-analyzer_filter.go index e4152de974..abefe829a2 100644 --- a/cloudformation/accessanalyzer/aws-accessanalyzer-analyzer_filter.go +++ b/cloudformation/accessanalyzer/aws-accessanalyzer-analyzer_filter.go @@ -36,6 +36,9 @@ type Analyzer_Filter struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/acmpca/aws-acmpca-certificate.go b/cloudformation/acmpca/aws-acmpca-certificate.go index 599f86a0b3..98d73ba5d2 100644 --- a/cloudformation/acmpca/aws-acmpca-certificate.go +++ b/cloudformation/acmpca/aws-acmpca-certificate.go @@ -40,6 +40,9 @@ type Certificate struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -60,19 +63,21 @@ func (r *Certificate) AWSCloudFormationType() string { func (r Certificate) MarshalJSON() ([]byte, error) { type Properties Certificate return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -81,12 +86,13 @@ func (r Certificate) MarshalJSON() ([]byte, error) { func (r *Certificate) UnmarshalJSON(b []byte) error { type Properties Certificate res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -110,6 +116,9 @@ func (r *Certificate) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/acmpca/aws-acmpca-certificate_validity.go b/cloudformation/acmpca/aws-acmpca-certificate_validity.go index 2a3c96c4a7..98748a619e 100644 --- a/cloudformation/acmpca/aws-acmpca-certificate_validity.go +++ b/cloudformation/acmpca/aws-acmpca-certificate_validity.go @@ -21,6 +21,9 @@ type Certificate_Validity struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/acmpca/aws-acmpca-certificateauthority.go b/cloudformation/acmpca/aws-acmpca-certificateauthority.go index 8e5ca8fcd9..aadd7cd83a 100644 --- a/cloudformation/acmpca/aws-acmpca-certificateauthority.go +++ b/cloudformation/acmpca/aws-acmpca-certificateauthority.go @@ -46,6 +46,9 @@ type CertificateAuthority struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -66,19 +69,21 @@ func (r *CertificateAuthority) AWSCloudFormationType() string { func (r CertificateAuthority) MarshalJSON() ([]byte, error) { type Properties CertificateAuthority return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -87,12 +92,13 @@ func (r CertificateAuthority) MarshalJSON() ([]byte, error) { func (r *CertificateAuthority) UnmarshalJSON(b []byte) error { type Properties CertificateAuthority res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -116,6 +122,9 @@ func (r *CertificateAuthority) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/acmpca/aws-acmpca-certificateauthority_crlconfiguration.go b/cloudformation/acmpca/aws-acmpca-certificateauthority_crlconfiguration.go index 42f079a539..2f0e1e24ef 100644 --- a/cloudformation/acmpca/aws-acmpca-certificateauthority_crlconfiguration.go +++ b/cloudformation/acmpca/aws-acmpca-certificateauthority_crlconfiguration.go @@ -31,6 +31,9 @@ type CertificateAuthority_CrlConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/acmpca/aws-acmpca-certificateauthority_revocationconfiguration.go b/cloudformation/acmpca/aws-acmpca-certificateauthority_revocationconfiguration.go index 57d20c57b6..9dbc3a3d0e 100644 --- a/cloudformation/acmpca/aws-acmpca-certificateauthority_revocationconfiguration.go +++ b/cloudformation/acmpca/aws-acmpca-certificateauthority_revocationconfiguration.go @@ -16,6 +16,9 @@ type CertificateAuthority_RevocationConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/acmpca/aws-acmpca-certificateauthority_subject.go b/cloudformation/acmpca/aws-acmpca-certificateauthority_subject.go index 815dd49f6e..04f6e3e779 100644 --- a/cloudformation/acmpca/aws-acmpca-certificateauthority_subject.go +++ b/cloudformation/acmpca/aws-acmpca-certificateauthority_subject.go @@ -81,6 +81,9 @@ type CertificateAuthority_Subject struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/acmpca/aws-acmpca-certificateauthorityactivation.go b/cloudformation/acmpca/aws-acmpca-certificateauthorityactivation.go index 357a73fffb..4bb063aeb5 100644 --- a/cloudformation/acmpca/aws-acmpca-certificateauthorityactivation.go +++ b/cloudformation/acmpca/aws-acmpca-certificateauthorityactivation.go @@ -35,6 +35,9 @@ type CertificateAuthorityActivation struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -55,19 +58,21 @@ func (r *CertificateAuthorityActivation) AWSCloudFormationType() string { func (r CertificateAuthorityActivation) MarshalJSON() ([]byte, error) { type Properties CertificateAuthorityActivation return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -76,12 +81,13 @@ func (r CertificateAuthorityActivation) MarshalJSON() ([]byte, error) { func (r *CertificateAuthorityActivation) UnmarshalJSON(b []byte) error { type Properties CertificateAuthorityActivation res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -105,6 +111,9 @@ func (r *CertificateAuthorityActivation) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/all.go b/cloudformation/all.go index f64861dbfe..20121cb50a 100644 --- a/cloudformation/all.go +++ b/cloudformation/all.go @@ -20,7 +20,10 @@ import ( "github.com/awslabs/goformation/v4/cloudformation/backup" "github.com/awslabs/goformation/v4/cloudformation/batch" "github.com/awslabs/goformation/v4/cloudformation/budgets" + "github.com/awslabs/goformation/v4/cloudformation/cassandra" + "github.com/awslabs/goformation/v4/cloudformation/ce" "github.com/awslabs/goformation/v4/cloudformation/certificatemanager" + "github.com/awslabs/goformation/v4/cloudformation/chatbot" "github.com/awslabs/goformation/v4/cloudformation/cloud9" "github.com/awslabs/goformation/v4/cloudformation/cloudformation" "github.com/awslabs/goformation/v4/cloudformation/cloudfront" @@ -29,13 +32,16 @@ import ( "github.com/awslabs/goformation/v4/cloudformation/codebuild" "github.com/awslabs/goformation/v4/cloudformation/codecommit" "github.com/awslabs/goformation/v4/cloudformation/codedeploy" + "github.com/awslabs/goformation/v4/cloudformation/codeguruprofiler" "github.com/awslabs/goformation/v4/cloudformation/codepipeline" "github.com/awslabs/goformation/v4/cloudformation/codestar" + "github.com/awslabs/goformation/v4/cloudformation/codestarconnections" "github.com/awslabs/goformation/v4/cloudformation/codestarnotifications" "github.com/awslabs/goformation/v4/cloudformation/cognito" "github.com/awslabs/goformation/v4/cloudformation/config" "github.com/awslabs/goformation/v4/cloudformation/datapipeline" "github.com/awslabs/goformation/v4/cloudformation/dax" + "github.com/awslabs/goformation/v4/cloudformation/detective" "github.com/awslabs/goformation/v4/cloudformation/directoryservice" "github.com/awslabs/goformation/v4/cloudformation/dlm" "github.com/awslabs/goformation/v4/cloudformation/dms" @@ -57,10 +63,12 @@ import ( "github.com/awslabs/goformation/v4/cloudformation/fms" "github.com/awslabs/goformation/v4/cloudformation/fsx" "github.com/awslabs/goformation/v4/cloudformation/gamelift" + "github.com/awslabs/goformation/v4/cloudformation/globalaccelerator" "github.com/awslabs/goformation/v4/cloudformation/glue" "github.com/awslabs/goformation/v4/cloudformation/greengrass" "github.com/awslabs/goformation/v4/cloudformation/guardduty" "github.com/awslabs/goformation/v4/cloudformation/iam" + "github.com/awslabs/goformation/v4/cloudformation/imagebuilder" "github.com/awslabs/goformation/v4/cloudformation/inspector" "github.com/awslabs/goformation/v4/cloudformation/iot" "github.com/awslabs/goformation/v4/cloudformation/iot1click" @@ -75,12 +83,14 @@ import ( "github.com/awslabs/goformation/v4/cloudformation/lakeformation" "github.com/awslabs/goformation/v4/cloudformation/lambda" "github.com/awslabs/goformation/v4/cloudformation/logs" + "github.com/awslabs/goformation/v4/cloudformation/macie" "github.com/awslabs/goformation/v4/cloudformation/managedblockchain" "github.com/awslabs/goformation/v4/cloudformation/mediaconvert" "github.com/awslabs/goformation/v4/cloudformation/medialive" "github.com/awslabs/goformation/v4/cloudformation/mediastore" "github.com/awslabs/goformation/v4/cloudformation/msk" "github.com/awslabs/goformation/v4/cloudformation/neptune" + "github.com/awslabs/goformation/v4/cloudformation/networkmanager" "github.com/awslabs/goformation/v4/cloudformation/opsworks" "github.com/awslabs/goformation/v4/cloudformation/opsworkscm" "github.com/awslabs/goformation/v4/cloudformation/pinpoint" @@ -89,6 +99,7 @@ import ( "github.com/awslabs/goformation/v4/cloudformation/ram" "github.com/awslabs/goformation/v4/cloudformation/rds" "github.com/awslabs/goformation/v4/cloudformation/redshift" + "github.com/awslabs/goformation/v4/cloudformation/resourcegroups" "github.com/awslabs/goformation/v4/cloudformation/robomaker" "github.com/awslabs/goformation/v4/cloudformation/route53" "github.com/awslabs/goformation/v4/cloudformation/route53resolver" @@ -105,6 +116,7 @@ import ( "github.com/awslabs/goformation/v4/cloudformation/sqs" "github.com/awslabs/goformation/v4/cloudformation/ssm" "github.com/awslabs/goformation/v4/cloudformation/stepfunctions" + "github.com/awslabs/goformation/v4/cloudformation/synthetics" "github.com/awslabs/goformation/v4/cloudformation/transfer" "github.com/awslabs/goformation/v4/cloudformation/waf" "github.com/awslabs/goformation/v4/cloudformation/wafregional" @@ -160,6 +172,7 @@ func AllResources() map[string]Resource { "AWS::AppConfig::Deployment": &appconfig.Deployment{}, "AWS::AppConfig::DeploymentStrategy": &appconfig.DeploymentStrategy{}, "AWS::AppConfig::Environment": &appconfig.Environment{}, + "AWS::AppConfig::HostedConfigurationVersion": &appconfig.HostedConfigurationVersion{}, "AWS::AppMesh::Mesh": &appmesh.Mesh{}, "AWS::AppMesh::Route": &appmesh.Route{}, "AWS::AppMesh::VirtualNode": &appmesh.VirtualNode{}, @@ -182,6 +195,7 @@ func AllResources() map[string]Resource { "AWS::ApplicationAutoScaling::ScalableTarget": &applicationautoscaling.ScalableTarget{}, "AWS::ApplicationAutoScaling::ScalingPolicy": &applicationautoscaling.ScalingPolicy{}, "AWS::Athena::NamedQuery": &athena.NamedQuery{}, + "AWS::Athena::WorkGroup": &athena.WorkGroup{}, "AWS::AutoScaling::AutoScalingGroup": &autoscaling.AutoScalingGroup{}, "AWS::AutoScaling::LaunchConfiguration": &autoscaling.LaunchConfiguration{}, "AWS::AutoScaling::LifecycleHook": &autoscaling.LifecycleHook{}, @@ -195,7 +209,11 @@ func AllResources() map[string]Resource { "AWS::Batch::JobDefinition": &batch.JobDefinition{}, "AWS::Batch::JobQueue": &batch.JobQueue{}, "AWS::Budgets::Budget": &budgets.Budget{}, + "AWS::CE::CostCategory": &ce.CostCategory{}, + "AWS::Cassandra::Keyspace": &cassandra.Keyspace{}, + "AWS::Cassandra::Table": &cassandra.Table{}, "AWS::CertificateManager::Certificate": &certificatemanager.Certificate{}, + "AWS::Chatbot::SlackChannelConfiguration": &chatbot.SlackChannelConfiguration{}, "AWS::Cloud9::EnvironmentEC2": &cloud9.EnvironmentEC2{}, "AWS::CloudFormation::CustomResource": &cloudformation.CustomResource{}, "AWS::CloudFormation::Macro": &cloudformation.Macro{}, @@ -208,6 +226,7 @@ func AllResources() map[string]Resource { "AWS::CloudTrail::Trail": &cloudtrail.Trail{}, "AWS::CloudWatch::Alarm": &cloudwatch.Alarm{}, "AWS::CloudWatch::AnomalyDetector": &cloudwatch.AnomalyDetector{}, + "AWS::CloudWatch::CompositeAlarm": &cloudwatch.CompositeAlarm{}, "AWS::CloudWatch::Dashboard": &cloudwatch.Dashboard{}, "AWS::CloudWatch::InsightRule": &cloudwatch.InsightRule{}, "AWS::CodeBuild::Project": &codebuild.Project{}, @@ -217,10 +236,12 @@ func AllResources() map[string]Resource { "AWS::CodeDeploy::Application": &codedeploy.Application{}, "AWS::CodeDeploy::DeploymentConfig": &codedeploy.DeploymentConfig{}, "AWS::CodeDeploy::DeploymentGroup": &codedeploy.DeploymentGroup{}, + "AWS::CodeGuruProfiler::ProfilingGroup": &codeguruprofiler.ProfilingGroup{}, "AWS::CodePipeline::CustomActionType": &codepipeline.CustomActionType{}, "AWS::CodePipeline::Pipeline": &codepipeline.Pipeline{}, "AWS::CodePipeline::Webhook": &codepipeline.Webhook{}, "AWS::CodeStar::GitHubRepository": &codestar.GitHubRepository{}, + "AWS::CodeStarConnections::Connection": &codestarconnections.Connection{}, "AWS::CodeStarNotifications::NotificationRule": &codestarnotifications.NotificationRule{}, "AWS::Cognito::IdentityPool": &cognito.IdentityPool{}, "AWS::Cognito::IdentityPoolRoleAttachment": &cognito.IdentityPoolRoleAttachment{}, @@ -254,6 +275,8 @@ func AllResources() map[string]Resource { "AWS::DMS::ReplicationSubnetGroup": &dms.ReplicationSubnetGroup{}, "AWS::DMS::ReplicationTask": &dms.ReplicationTask{}, "AWS::DataPipeline::Pipeline": &datapipeline.Pipeline{}, + "AWS::Detective::Graph": &detective.Graph{}, + "AWS::Detective::MemberInvitation": &detective.MemberInvitation{}, "AWS::DirectoryService::MicrosoftAD": &directoryservice.MicrosoftAD{}, "AWS::DirectoryService::SimpleAD": &directoryservice.SimpleAD{}, "AWS::DocDB::DBCluster": &docdb.DBCluster{}, @@ -323,11 +346,13 @@ func AllResources() map[string]Resource { "AWS::EC2::Volume": &ec2.Volume{}, "AWS::EC2::VolumeAttachment": &ec2.VolumeAttachment{}, "AWS::ECR::Repository": &ecr.Repository{}, + "AWS::ECS::CapacityProvider": &ecs.CapacityProvider{}, "AWS::ECS::Cluster": &ecs.Cluster{}, "AWS::ECS::PrimaryTaskSet": &ecs.PrimaryTaskSet{}, "AWS::ECS::Service": &ecs.Service{}, "AWS::ECS::TaskDefinition": &ecs.TaskDefinition{}, "AWS::ECS::TaskSet": &ecs.TaskSet{}, + "AWS::EFS::AccessPoint": &efs.AccessPoint{}, "AWS::EFS::FileSystem": &efs.FileSystem{}, "AWS::EFS::MountTarget": &efs.MountTarget{}, "AWS::EKS::Cluster": &eks.Cluster{}, @@ -356,6 +381,7 @@ func AllResources() map[string]Resource { "AWS::Elasticsearch::Domain": &elasticsearch.Domain{}, "AWS::EventSchemas::Discoverer": &eventschemas.Discoverer{}, "AWS::EventSchemas::Registry": &eventschemas.Registry{}, + "AWS::EventSchemas::RegistryPolicy": &eventschemas.RegistryPolicy{}, "AWS::EventSchemas::Schema": &eventschemas.Schema{}, "AWS::Events::EventBus": &events.EventBus{}, "AWS::Events::EventBusPolicy": &events.EventBusPolicy{}, @@ -370,6 +396,9 @@ func AllResources() map[string]Resource { "AWS::GameLift::MatchmakingConfiguration": &gamelift.MatchmakingConfiguration{}, "AWS::GameLift::MatchmakingRuleSet": &gamelift.MatchmakingRuleSet{}, "AWS::GameLift::Script": &gamelift.Script{}, + "AWS::GlobalAccelerator::Accelerator": &globalaccelerator.Accelerator{}, + "AWS::GlobalAccelerator::EndpointGroup": &globalaccelerator.EndpointGroup{}, + "AWS::GlobalAccelerator::Listener": &globalaccelerator.Listener{}, "AWS::Glue::Classifier": &glue.Classifier{}, "AWS::Glue::Connection": &glue.Connection{}, "AWS::Glue::Crawler": &glue.Crawler{}, @@ -414,6 +443,12 @@ func AllResources() map[string]Resource { "AWS::IAM::ServiceLinkedRole": &iam.ServiceLinkedRole{}, "AWS::IAM::User": &iam.User{}, "AWS::IAM::UserToGroupAddition": &iam.UserToGroupAddition{}, + "AWS::ImageBuilder::Component": &imagebuilder.Component{}, + "AWS::ImageBuilder::DistributionConfiguration": &imagebuilder.DistributionConfiguration{}, + "AWS::ImageBuilder::Image": &imagebuilder.Image{}, + "AWS::ImageBuilder::ImagePipeline": &imagebuilder.ImagePipeline{}, + "AWS::ImageBuilder::ImageRecipe": &imagebuilder.ImageRecipe{}, + "AWS::ImageBuilder::InfrastructureConfiguration": &imagebuilder.InfrastructureConfiguration{}, "AWS::Inspector::AssessmentTarget": &inspector.AssessmentTarget{}, "AWS::Inspector::AssessmentTemplate": &inspector.AssessmentTemplate{}, "AWS::Inspector::ResourceGroup": &inspector.ResourceGroup{}, @@ -423,6 +458,7 @@ func AllResources() map[string]Resource { "AWS::IoT::Certificate": &iot.Certificate{}, "AWS::IoT::Policy": &iot.Policy{}, "AWS::IoT::PolicyPrincipalAttachment": &iot.PolicyPrincipalAttachment{}, + "AWS::IoT::ProvisioningTemplate": &iot.ProvisioningTemplate{}, "AWS::IoT::Thing": &iot.Thing{}, "AWS::IoT::ThingPrincipalAttachment": &iot.ThingPrincipalAttachment{}, "AWS::IoT::TopicRule": &iot.TopicRule{}, @@ -462,6 +498,9 @@ func AllResources() map[string]Resource { "AWS::Logs::MetricFilter": &logs.MetricFilter{}, "AWS::Logs::SubscriptionFilter": &logs.SubscriptionFilter{}, "AWS::MSK::Cluster": &msk.Cluster{}, + "AWS::Macie::CustomDataIdentifier": &macie.CustomDataIdentifier{}, + "AWS::Macie::FindingsFilter": &macie.FindingsFilter{}, + "AWS::Macie::Session": &macie.Session{}, "AWS::ManagedBlockchain::Member": &managedblockchain.Member{}, "AWS::ManagedBlockchain::Node": &managedblockchain.Node{}, "AWS::MediaConvert::JobTemplate": &mediaconvert.JobTemplate{}, @@ -476,6 +515,13 @@ func AllResources() map[string]Resource { "AWS::Neptune::DBInstance": &neptune.DBInstance{}, "AWS::Neptune::DBParameterGroup": &neptune.DBParameterGroup{}, "AWS::Neptune::DBSubnetGroup": &neptune.DBSubnetGroup{}, + "AWS::NetworkManager::CustomerGatewayAssociation": &networkmanager.CustomerGatewayAssociation{}, + "AWS::NetworkManager::Device": &networkmanager.Device{}, + "AWS::NetworkManager::GlobalNetwork": &networkmanager.GlobalNetwork{}, + "AWS::NetworkManager::Link": &networkmanager.Link{}, + "AWS::NetworkManager::LinkAssociation": &networkmanager.LinkAssociation{}, + "AWS::NetworkManager::Site": &networkmanager.Site{}, + "AWS::NetworkManager::TransitGatewayRegistration": &networkmanager.TransitGatewayRegistration{}, "AWS::OpsWorks::App": &opsworks.App{}, "AWS::OpsWorks::ElasticLoadBalancerAttachment": &opsworks.ElasticLoadBalancerAttachment{}, "AWS::OpsWorks::Instance": &opsworks.Instance{}, @@ -512,6 +558,8 @@ func AllResources() map[string]Resource { "AWS::RDS::DBClusterParameterGroup": &rds.DBClusterParameterGroup{}, "AWS::RDS::DBInstance": &rds.DBInstance{}, "AWS::RDS::DBParameterGroup": &rds.DBParameterGroup{}, + "AWS::RDS::DBProxy": &rds.DBProxy{}, + "AWS::RDS::DBProxyTargetGroup": &rds.DBProxyTargetGroup{}, "AWS::RDS::DBSecurityGroup": &rds.DBSecurityGroup{}, "AWS::RDS::DBSecurityGroupIngress": &rds.DBSecurityGroupIngress{}, "AWS::RDS::DBSubnetGroup": &rds.DBSubnetGroup{}, @@ -522,6 +570,7 @@ func AllResources() map[string]Resource { "AWS::Redshift::ClusterSecurityGroup": &redshift.ClusterSecurityGroup{}, "AWS::Redshift::ClusterSecurityGroupIngress": &redshift.ClusterSecurityGroupIngress{}, "AWS::Redshift::ClusterSubnetGroup": &redshift.ClusterSubnetGroup{}, + "AWS::ResourceGroups::Group": &resourcegroups.Group{}, "AWS::RoboMaker::Fleet": &robomaker.Fleet{}, "AWS::RoboMaker::Robot": &robomaker.Robot{}, "AWS::RoboMaker::RobotApplication": &robomaker.RobotApplication{}, @@ -596,6 +645,7 @@ func AllResources() map[string]Resource { "AWS::ServiceDiscovery::Service": &servicediscovery.Service{}, "AWS::StepFunctions::Activity": &stepfunctions.Activity{}, "AWS::StepFunctions::StateMachine": &stepfunctions.StateMachine{}, + "AWS::Synthetics::Canary": &synthetics.Canary{}, "AWS::Transfer::Server": &transfer.Server{}, "AWS::Transfer::User": &transfer.User{}, "AWS::WAF::ByteMatchSet": &waf.ByteMatchSet{}, @@ -1706,6 +1756,30 @@ func (t *Template) GetAppConfigEnvironmentWithName(name string) (*appconfig.Envi return nil, fmt.Errorf("resource %q of type appconfig.Environment not found", name) } +// GetAllAppConfigHostedConfigurationVersionResources retrieves all appconfig.HostedConfigurationVersion items from an AWS CloudFormation template +func (t *Template) GetAllAppConfigHostedConfigurationVersionResources() map[string]*appconfig.HostedConfigurationVersion { + results := map[string]*appconfig.HostedConfigurationVersion{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *appconfig.HostedConfigurationVersion: + results[name] = resource + } + } + return results +} + +// GetAppConfigHostedConfigurationVersionWithName retrieves all appconfig.HostedConfigurationVersion items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetAppConfigHostedConfigurationVersionWithName(name string) (*appconfig.HostedConfigurationVersion, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *appconfig.HostedConfigurationVersion: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type appconfig.HostedConfigurationVersion not found", name) +} + // GetAllAppMeshMeshResources retrieves all appmesh.Mesh items from an AWS CloudFormation template func (t *Template) GetAllAppMeshMeshResources() map[string]*appmesh.Mesh { results := map[string]*appmesh.Mesh{} @@ -2234,6 +2308,30 @@ func (t *Template) GetAthenaNamedQueryWithName(name string) (*athena.NamedQuery, return nil, fmt.Errorf("resource %q of type athena.NamedQuery not found", name) } +// GetAllAthenaWorkGroupResources retrieves all athena.WorkGroup items from an AWS CloudFormation template +func (t *Template) GetAllAthenaWorkGroupResources() map[string]*athena.WorkGroup { + results := map[string]*athena.WorkGroup{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *athena.WorkGroup: + results[name] = resource + } + } + return results +} + +// GetAthenaWorkGroupWithName retrieves all athena.WorkGroup items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetAthenaWorkGroupWithName(name string) (*athena.WorkGroup, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *athena.WorkGroup: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type athena.WorkGroup not found", name) +} + // GetAllAutoScalingAutoScalingGroupResources retrieves all autoscaling.AutoScalingGroup items from an AWS CloudFormation template func (t *Template) GetAllAutoScalingAutoScalingGroupResources() map[string]*autoscaling.AutoScalingGroup { results := map[string]*autoscaling.AutoScalingGroup{} @@ -2546,6 +2644,78 @@ func (t *Template) GetBudgetsBudgetWithName(name string) (*budgets.Budget, error return nil, fmt.Errorf("resource %q of type budgets.Budget not found", name) } +// GetAllCECostCategoryResources retrieves all ce.CostCategory items from an AWS CloudFormation template +func (t *Template) GetAllCECostCategoryResources() map[string]*ce.CostCategory { + results := map[string]*ce.CostCategory{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ce.CostCategory: + results[name] = resource + } + } + return results +} + +// GetCECostCategoryWithName retrieves all ce.CostCategory items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetCECostCategoryWithName(name string) (*ce.CostCategory, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ce.CostCategory: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ce.CostCategory not found", name) +} + +// GetAllCassandraKeyspaceResources retrieves all cassandra.Keyspace items from an AWS CloudFormation template +func (t *Template) GetAllCassandraKeyspaceResources() map[string]*cassandra.Keyspace { + results := map[string]*cassandra.Keyspace{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *cassandra.Keyspace: + results[name] = resource + } + } + return results +} + +// GetCassandraKeyspaceWithName retrieves all cassandra.Keyspace items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetCassandraKeyspaceWithName(name string) (*cassandra.Keyspace, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *cassandra.Keyspace: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type cassandra.Keyspace not found", name) +} + +// GetAllCassandraTableResources retrieves all cassandra.Table items from an AWS CloudFormation template +func (t *Template) GetAllCassandraTableResources() map[string]*cassandra.Table { + results := map[string]*cassandra.Table{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *cassandra.Table: + results[name] = resource + } + } + return results +} + +// GetCassandraTableWithName retrieves all cassandra.Table items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetCassandraTableWithName(name string) (*cassandra.Table, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *cassandra.Table: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type cassandra.Table not found", name) +} + // GetAllCertificateManagerCertificateResources retrieves all certificatemanager.Certificate items from an AWS CloudFormation template func (t *Template) GetAllCertificateManagerCertificateResources() map[string]*certificatemanager.Certificate { results := map[string]*certificatemanager.Certificate{} @@ -2570,6 +2740,30 @@ func (t *Template) GetCertificateManagerCertificateWithName(name string) (*certi return nil, fmt.Errorf("resource %q of type certificatemanager.Certificate not found", name) } +// GetAllChatbotSlackChannelConfigurationResources retrieves all chatbot.SlackChannelConfiguration items from an AWS CloudFormation template +func (t *Template) GetAllChatbotSlackChannelConfigurationResources() map[string]*chatbot.SlackChannelConfiguration { + results := map[string]*chatbot.SlackChannelConfiguration{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *chatbot.SlackChannelConfiguration: + results[name] = resource + } + } + return results +} + +// GetChatbotSlackChannelConfigurationWithName retrieves all chatbot.SlackChannelConfiguration items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetChatbotSlackChannelConfigurationWithName(name string) (*chatbot.SlackChannelConfiguration, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *chatbot.SlackChannelConfiguration: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type chatbot.SlackChannelConfiguration not found", name) +} + // GetAllCloud9EnvironmentEC2Resources retrieves all cloud9.EnvironmentEC2 items from an AWS CloudFormation template func (t *Template) GetAllCloud9EnvironmentEC2Resources() map[string]*cloud9.EnvironmentEC2 { results := map[string]*cloud9.EnvironmentEC2{} @@ -2858,6 +3052,30 @@ func (t *Template) GetCloudWatchAnomalyDetectorWithName(name string) (*cloudwatc return nil, fmt.Errorf("resource %q of type cloudwatch.AnomalyDetector not found", name) } +// GetAllCloudWatchCompositeAlarmResources retrieves all cloudwatch.CompositeAlarm items from an AWS CloudFormation template +func (t *Template) GetAllCloudWatchCompositeAlarmResources() map[string]*cloudwatch.CompositeAlarm { + results := map[string]*cloudwatch.CompositeAlarm{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *cloudwatch.CompositeAlarm: + results[name] = resource + } + } + return results +} + +// GetCloudWatchCompositeAlarmWithName retrieves all cloudwatch.CompositeAlarm items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetCloudWatchCompositeAlarmWithName(name string) (*cloudwatch.CompositeAlarm, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *cloudwatch.CompositeAlarm: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type cloudwatch.CompositeAlarm not found", name) +} + // GetAllCloudWatchDashboardResources retrieves all cloudwatch.Dashboard items from an AWS CloudFormation template func (t *Template) GetAllCloudWatchDashboardResources() map[string]*cloudwatch.Dashboard { results := map[string]*cloudwatch.Dashboard{} @@ -3074,6 +3292,30 @@ func (t *Template) GetCodeDeployDeploymentGroupWithName(name string) (*codedeplo return nil, fmt.Errorf("resource %q of type codedeploy.DeploymentGroup not found", name) } +// GetAllCodeGuruProfilerProfilingGroupResources retrieves all codeguruprofiler.ProfilingGroup items from an AWS CloudFormation template +func (t *Template) GetAllCodeGuruProfilerProfilingGroupResources() map[string]*codeguruprofiler.ProfilingGroup { + results := map[string]*codeguruprofiler.ProfilingGroup{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *codeguruprofiler.ProfilingGroup: + results[name] = resource + } + } + return results +} + +// GetCodeGuruProfilerProfilingGroupWithName retrieves all codeguruprofiler.ProfilingGroup items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetCodeGuruProfilerProfilingGroupWithName(name string) (*codeguruprofiler.ProfilingGroup, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *codeguruprofiler.ProfilingGroup: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type codeguruprofiler.ProfilingGroup not found", name) +} + // GetAllCodePipelineCustomActionTypeResources retrieves all codepipeline.CustomActionType items from an AWS CloudFormation template func (t *Template) GetAllCodePipelineCustomActionTypeResources() map[string]*codepipeline.CustomActionType { results := map[string]*codepipeline.CustomActionType{} @@ -3170,6 +3412,30 @@ func (t *Template) GetCodeStarGitHubRepositoryWithName(name string) (*codestar.G return nil, fmt.Errorf("resource %q of type codestar.GitHubRepository not found", name) } +// GetAllCodeStarConnectionsConnectionResources retrieves all codestarconnections.Connection items from an AWS CloudFormation template +func (t *Template) GetAllCodeStarConnectionsConnectionResources() map[string]*codestarconnections.Connection { + results := map[string]*codestarconnections.Connection{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *codestarconnections.Connection: + results[name] = resource + } + } + return results +} + +// GetCodeStarConnectionsConnectionWithName retrieves all codestarconnections.Connection items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetCodeStarConnectionsConnectionWithName(name string) (*codestarconnections.Connection, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *codestarconnections.Connection: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type codestarconnections.Connection not found", name) +} + // GetAllCodeStarNotificationsNotificationRuleResources retrieves all codestarnotifications.NotificationRule items from an AWS CloudFormation template func (t *Template) GetAllCodeStarNotificationsNotificationRuleResources() map[string]*codestarnotifications.NotificationRule { results := map[string]*codestarnotifications.NotificationRule{} @@ -3962,6 +4228,54 @@ func (t *Template) GetDataPipelinePipelineWithName(name string) (*datapipeline.P return nil, fmt.Errorf("resource %q of type datapipeline.Pipeline not found", name) } +// GetAllDetectiveGraphResources retrieves all detective.Graph items from an AWS CloudFormation template +func (t *Template) GetAllDetectiveGraphResources() map[string]*detective.Graph { + results := map[string]*detective.Graph{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *detective.Graph: + results[name] = resource + } + } + return results +} + +// GetDetectiveGraphWithName retrieves all detective.Graph items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetDetectiveGraphWithName(name string) (*detective.Graph, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *detective.Graph: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type detective.Graph not found", name) +} + +// GetAllDetectiveMemberInvitationResources retrieves all detective.MemberInvitation items from an AWS CloudFormation template +func (t *Template) GetAllDetectiveMemberInvitationResources() map[string]*detective.MemberInvitation { + results := map[string]*detective.MemberInvitation{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *detective.MemberInvitation: + results[name] = resource + } + } + return results +} + +// GetDetectiveMemberInvitationWithName retrieves all detective.MemberInvitation items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetDetectiveMemberInvitationWithName(name string) (*detective.MemberInvitation, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *detective.MemberInvitation: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type detective.MemberInvitation not found", name) +} + // GetAllDirectoryServiceMicrosoftADResources retrieves all directoryservice.MicrosoftAD items from an AWS CloudFormation template func (t *Template) GetAllDirectoryServiceMicrosoftADResources() map[string]*directoryservice.MicrosoftAD { results := map[string]*directoryservice.MicrosoftAD{} @@ -5618,6 +5932,30 @@ func (t *Template) GetECRRepositoryWithName(name string) (*ecr.Repository, error return nil, fmt.Errorf("resource %q of type ecr.Repository not found", name) } +// GetAllECSCapacityProviderResources retrieves all ecs.CapacityProvider items from an AWS CloudFormation template +func (t *Template) GetAllECSCapacityProviderResources() map[string]*ecs.CapacityProvider { + results := map[string]*ecs.CapacityProvider{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ecs.CapacityProvider: + results[name] = resource + } + } + return results +} + +// GetECSCapacityProviderWithName retrieves all ecs.CapacityProvider items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetECSCapacityProviderWithName(name string) (*ecs.CapacityProvider, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ecs.CapacityProvider: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ecs.CapacityProvider not found", name) +} + // GetAllECSClusterResources retrieves all ecs.Cluster items from an AWS CloudFormation template func (t *Template) GetAllECSClusterResources() map[string]*ecs.Cluster { results := map[string]*ecs.Cluster{} @@ -5738,6 +6076,30 @@ func (t *Template) GetECSTaskSetWithName(name string) (*ecs.TaskSet, error) { return nil, fmt.Errorf("resource %q of type ecs.TaskSet not found", name) } +// GetAllEFSAccessPointResources retrieves all efs.AccessPoint items from an AWS CloudFormation template +func (t *Template) GetAllEFSAccessPointResources() map[string]*efs.AccessPoint { + results := map[string]*efs.AccessPoint{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *efs.AccessPoint: + results[name] = resource + } + } + return results +} + +// GetEFSAccessPointWithName retrieves all efs.AccessPoint items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEFSAccessPointWithName(name string) (*efs.AccessPoint, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *efs.AccessPoint: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type efs.AccessPoint not found", name) +} + // GetAllEFSFileSystemResources retrieves all efs.FileSystem items from an AWS CloudFormation template func (t *Template) GetAllEFSFileSystemResources() map[string]*efs.FileSystem { results := map[string]*efs.FileSystem{} @@ -6410,6 +6772,30 @@ func (t *Template) GetEventSchemasRegistryWithName(name string) (*eventschemas.R return nil, fmt.Errorf("resource %q of type eventschemas.Registry not found", name) } +// GetAllEventSchemasRegistryPolicyResources retrieves all eventschemas.RegistryPolicy items from an AWS CloudFormation template +func (t *Template) GetAllEventSchemasRegistryPolicyResources() map[string]*eventschemas.RegistryPolicy { + results := map[string]*eventschemas.RegistryPolicy{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *eventschemas.RegistryPolicy: + results[name] = resource + } + } + return results +} + +// GetEventSchemasRegistryPolicyWithName retrieves all eventschemas.RegistryPolicy items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEventSchemasRegistryPolicyWithName(name string) (*eventschemas.RegistryPolicy, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *eventschemas.RegistryPolicy: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type eventschemas.RegistryPolicy not found", name) +} + // GetAllEventSchemasSchemaResources retrieves all eventschemas.Schema items from an AWS CloudFormation template func (t *Template) GetAllEventSchemasSchemaResources() map[string]*eventschemas.Schema { results := map[string]*eventschemas.Schema{} @@ -6746,84 +7132,156 @@ func (t *Template) GetGameLiftScriptWithName(name string) (*gamelift.Script, err return nil, fmt.Errorf("resource %q of type gamelift.Script not found", name) } -// GetAllGlueClassifierResources retrieves all glue.Classifier items from an AWS CloudFormation template -func (t *Template) GetAllGlueClassifierResources() map[string]*glue.Classifier { - results := map[string]*glue.Classifier{} +// GetAllGlobalAcceleratorAcceleratorResources retrieves all globalaccelerator.Accelerator items from an AWS CloudFormation template +func (t *Template) GetAllGlobalAcceleratorAcceleratorResources() map[string]*globalaccelerator.Accelerator { + results := map[string]*globalaccelerator.Accelerator{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *glue.Classifier: + case *globalaccelerator.Accelerator: results[name] = resource } } return results } -// GetGlueClassifierWithName retrieves all glue.Classifier items from an AWS CloudFormation template +// GetGlobalAcceleratorAcceleratorWithName retrieves all globalaccelerator.Accelerator items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetGlueClassifierWithName(name string) (*glue.Classifier, error) { +func (t *Template) GetGlobalAcceleratorAcceleratorWithName(name string) (*globalaccelerator.Accelerator, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *glue.Classifier: + case *globalaccelerator.Accelerator: return resource, nil } } - return nil, fmt.Errorf("resource %q of type glue.Classifier not found", name) + return nil, fmt.Errorf("resource %q of type globalaccelerator.Accelerator not found", name) } -// GetAllGlueConnectionResources retrieves all glue.Connection items from an AWS CloudFormation template -func (t *Template) GetAllGlueConnectionResources() map[string]*glue.Connection { - results := map[string]*glue.Connection{} +// GetAllGlobalAcceleratorEndpointGroupResources retrieves all globalaccelerator.EndpointGroup items from an AWS CloudFormation template +func (t *Template) GetAllGlobalAcceleratorEndpointGroupResources() map[string]*globalaccelerator.EndpointGroup { + results := map[string]*globalaccelerator.EndpointGroup{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *glue.Connection: + case *globalaccelerator.EndpointGroup: results[name] = resource } } return results } -// GetGlueConnectionWithName retrieves all glue.Connection items from an AWS CloudFormation template +// GetGlobalAcceleratorEndpointGroupWithName retrieves all globalaccelerator.EndpointGroup items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetGlueConnectionWithName(name string) (*glue.Connection, error) { +func (t *Template) GetGlobalAcceleratorEndpointGroupWithName(name string) (*globalaccelerator.EndpointGroup, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *glue.Connection: + case *globalaccelerator.EndpointGroup: return resource, nil } } - return nil, fmt.Errorf("resource %q of type glue.Connection not found", name) + return nil, fmt.Errorf("resource %q of type globalaccelerator.EndpointGroup not found", name) } -// GetAllGlueCrawlerResources retrieves all glue.Crawler items from an AWS CloudFormation template -func (t *Template) GetAllGlueCrawlerResources() map[string]*glue.Crawler { - results := map[string]*glue.Crawler{} +// GetAllGlobalAcceleratorListenerResources retrieves all globalaccelerator.Listener items from an AWS CloudFormation template +func (t *Template) GetAllGlobalAcceleratorListenerResources() map[string]*globalaccelerator.Listener { + results := map[string]*globalaccelerator.Listener{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *glue.Crawler: + case *globalaccelerator.Listener: results[name] = resource } } return results } -// GetGlueCrawlerWithName retrieves all glue.Crawler items from an AWS CloudFormation template +// GetGlobalAcceleratorListenerWithName retrieves all globalaccelerator.Listener items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetGlueCrawlerWithName(name string) (*glue.Crawler, error) { +func (t *Template) GetGlobalAcceleratorListenerWithName(name string) (*globalaccelerator.Listener, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *glue.Crawler: + case *globalaccelerator.Listener: return resource, nil } } - return nil, fmt.Errorf("resource %q of type glue.Crawler not found", name) + return nil, fmt.Errorf("resource %q of type globalaccelerator.Listener not found", name) } -// GetAllGlueDataCatalogEncryptionSettingsResources retrieves all glue.DataCatalogEncryptionSettings items from an AWS CloudFormation template -func (t *Template) GetAllGlueDataCatalogEncryptionSettingsResources() map[string]*glue.DataCatalogEncryptionSettings { - results := map[string]*glue.DataCatalogEncryptionSettings{} +// GetAllGlueClassifierResources retrieves all glue.Classifier items from an AWS CloudFormation template +func (t *Template) GetAllGlueClassifierResources() map[string]*glue.Classifier { + results := map[string]*glue.Classifier{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *glue.DataCatalogEncryptionSettings: + case *glue.Classifier: + results[name] = resource + } + } + return results +} + +// GetGlueClassifierWithName retrieves all glue.Classifier items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetGlueClassifierWithName(name string) (*glue.Classifier, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *glue.Classifier: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type glue.Classifier not found", name) +} + +// GetAllGlueConnectionResources retrieves all glue.Connection items from an AWS CloudFormation template +func (t *Template) GetAllGlueConnectionResources() map[string]*glue.Connection { + results := map[string]*glue.Connection{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *glue.Connection: + results[name] = resource + } + } + return results +} + +// GetGlueConnectionWithName retrieves all glue.Connection items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetGlueConnectionWithName(name string) (*glue.Connection, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *glue.Connection: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type glue.Connection not found", name) +} + +// GetAllGlueCrawlerResources retrieves all glue.Crawler items from an AWS CloudFormation template +func (t *Template) GetAllGlueCrawlerResources() map[string]*glue.Crawler { + results := map[string]*glue.Crawler{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *glue.Crawler: + results[name] = resource + } + } + return results +} + +// GetGlueCrawlerWithName retrieves all glue.Crawler items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetGlueCrawlerWithName(name string) (*glue.Crawler, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *glue.Crawler: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type glue.Crawler not found", name) +} + +// GetAllGlueDataCatalogEncryptionSettingsResources retrieves all glue.DataCatalogEncryptionSettings items from an AWS CloudFormation template +func (t *Template) GetAllGlueDataCatalogEncryptionSettingsResources() map[string]*glue.DataCatalogEncryptionSettings { + results := map[string]*glue.DataCatalogEncryptionSettings{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *glue.DataCatalogEncryptionSettings: results[name] = resource } } @@ -7802,6 +8260,150 @@ func (t *Template) GetIAMUserToGroupAdditionWithName(name string) (*iam.UserToGr return nil, fmt.Errorf("resource %q of type iam.UserToGroupAddition not found", name) } +// GetAllImageBuilderComponentResources retrieves all imagebuilder.Component items from an AWS CloudFormation template +func (t *Template) GetAllImageBuilderComponentResources() map[string]*imagebuilder.Component { + results := map[string]*imagebuilder.Component{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *imagebuilder.Component: + results[name] = resource + } + } + return results +} + +// GetImageBuilderComponentWithName retrieves all imagebuilder.Component items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetImageBuilderComponentWithName(name string) (*imagebuilder.Component, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *imagebuilder.Component: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type imagebuilder.Component not found", name) +} + +// GetAllImageBuilderDistributionConfigurationResources retrieves all imagebuilder.DistributionConfiguration items from an AWS CloudFormation template +func (t *Template) GetAllImageBuilderDistributionConfigurationResources() map[string]*imagebuilder.DistributionConfiguration { + results := map[string]*imagebuilder.DistributionConfiguration{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *imagebuilder.DistributionConfiguration: + results[name] = resource + } + } + return results +} + +// GetImageBuilderDistributionConfigurationWithName retrieves all imagebuilder.DistributionConfiguration items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetImageBuilderDistributionConfigurationWithName(name string) (*imagebuilder.DistributionConfiguration, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *imagebuilder.DistributionConfiguration: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type imagebuilder.DistributionConfiguration not found", name) +} + +// GetAllImageBuilderImageResources retrieves all imagebuilder.Image items from an AWS CloudFormation template +func (t *Template) GetAllImageBuilderImageResources() map[string]*imagebuilder.Image { + results := map[string]*imagebuilder.Image{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *imagebuilder.Image: + results[name] = resource + } + } + return results +} + +// GetImageBuilderImageWithName retrieves all imagebuilder.Image items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetImageBuilderImageWithName(name string) (*imagebuilder.Image, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *imagebuilder.Image: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type imagebuilder.Image not found", name) +} + +// GetAllImageBuilderImagePipelineResources retrieves all imagebuilder.ImagePipeline items from an AWS CloudFormation template +func (t *Template) GetAllImageBuilderImagePipelineResources() map[string]*imagebuilder.ImagePipeline { + results := map[string]*imagebuilder.ImagePipeline{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *imagebuilder.ImagePipeline: + results[name] = resource + } + } + return results +} + +// GetImageBuilderImagePipelineWithName retrieves all imagebuilder.ImagePipeline items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetImageBuilderImagePipelineWithName(name string) (*imagebuilder.ImagePipeline, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *imagebuilder.ImagePipeline: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type imagebuilder.ImagePipeline not found", name) +} + +// GetAllImageBuilderImageRecipeResources retrieves all imagebuilder.ImageRecipe items from an AWS CloudFormation template +func (t *Template) GetAllImageBuilderImageRecipeResources() map[string]*imagebuilder.ImageRecipe { + results := map[string]*imagebuilder.ImageRecipe{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *imagebuilder.ImageRecipe: + results[name] = resource + } + } + return results +} + +// GetImageBuilderImageRecipeWithName retrieves all imagebuilder.ImageRecipe items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetImageBuilderImageRecipeWithName(name string) (*imagebuilder.ImageRecipe, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *imagebuilder.ImageRecipe: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type imagebuilder.ImageRecipe not found", name) +} + +// GetAllImageBuilderInfrastructureConfigurationResources retrieves all imagebuilder.InfrastructureConfiguration items from an AWS CloudFormation template +func (t *Template) GetAllImageBuilderInfrastructureConfigurationResources() map[string]*imagebuilder.InfrastructureConfiguration { + results := map[string]*imagebuilder.InfrastructureConfiguration{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *imagebuilder.InfrastructureConfiguration: + results[name] = resource + } + } + return results +} + +// GetImageBuilderInfrastructureConfigurationWithName retrieves all imagebuilder.InfrastructureConfiguration items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetImageBuilderInfrastructureConfigurationWithName(name string) (*imagebuilder.InfrastructureConfiguration, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *imagebuilder.InfrastructureConfiguration: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type imagebuilder.InfrastructureConfiguration not found", name) +} + // GetAllInspectorAssessmentTargetResources retrieves all inspector.AssessmentTarget items from an AWS CloudFormation template func (t *Template) GetAllInspectorAssessmentTargetResources() map[string]*inspector.AssessmentTarget { results := map[string]*inspector.AssessmentTarget{} @@ -8018,6 +8620,30 @@ func (t *Template) GetIoTPolicyPrincipalAttachmentWithName(name string) (*iot.Po return nil, fmt.Errorf("resource %q of type iot.PolicyPrincipalAttachment not found", name) } +// GetAllIoTProvisioningTemplateResources retrieves all iot.ProvisioningTemplate items from an AWS CloudFormation template +func (t *Template) GetAllIoTProvisioningTemplateResources() map[string]*iot.ProvisioningTemplate { + results := map[string]*iot.ProvisioningTemplate{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *iot.ProvisioningTemplate: + results[name] = resource + } + } + return results +} + +// GetIoTProvisioningTemplateWithName retrieves all iot.ProvisioningTemplate items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetIoTProvisioningTemplateWithName(name string) (*iot.ProvisioningTemplate, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *iot.ProvisioningTemplate: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type iot.ProvisioningTemplate not found", name) +} + // GetAllIoTThingResources retrieves all iot.Thing items from an AWS CloudFormation template func (t *Template) GetAllIoTThingResources() map[string]*iot.Thing { results := map[string]*iot.Thing{} @@ -8954,6 +9580,78 @@ func (t *Template) GetMSKClusterWithName(name string) (*msk.Cluster, error) { return nil, fmt.Errorf("resource %q of type msk.Cluster not found", name) } +// GetAllMacieCustomDataIdentifierResources retrieves all macie.CustomDataIdentifier items from an AWS CloudFormation template +func (t *Template) GetAllMacieCustomDataIdentifierResources() map[string]*macie.CustomDataIdentifier { + results := map[string]*macie.CustomDataIdentifier{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *macie.CustomDataIdentifier: + results[name] = resource + } + } + return results +} + +// GetMacieCustomDataIdentifierWithName retrieves all macie.CustomDataIdentifier items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetMacieCustomDataIdentifierWithName(name string) (*macie.CustomDataIdentifier, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *macie.CustomDataIdentifier: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type macie.CustomDataIdentifier not found", name) +} + +// GetAllMacieFindingsFilterResources retrieves all macie.FindingsFilter items from an AWS CloudFormation template +func (t *Template) GetAllMacieFindingsFilterResources() map[string]*macie.FindingsFilter { + results := map[string]*macie.FindingsFilter{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *macie.FindingsFilter: + results[name] = resource + } + } + return results +} + +// GetMacieFindingsFilterWithName retrieves all macie.FindingsFilter items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetMacieFindingsFilterWithName(name string) (*macie.FindingsFilter, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *macie.FindingsFilter: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type macie.FindingsFilter not found", name) +} + +// GetAllMacieSessionResources retrieves all macie.Session items from an AWS CloudFormation template +func (t *Template) GetAllMacieSessionResources() map[string]*macie.Session { + results := map[string]*macie.Session{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *macie.Session: + results[name] = resource + } + } + return results +} + +// GetMacieSessionWithName retrieves all macie.Session items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetMacieSessionWithName(name string) (*macie.Session, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *macie.Session: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type macie.Session not found", name) +} + // GetAllManagedBlockchainMemberResources retrieves all managedblockchain.Member items from an AWS CloudFormation template func (t *Template) GetAllManagedBlockchainMemberResources() map[string]*managedblockchain.Member { results := map[string]*managedblockchain.Member{} @@ -9290,6 +9988,174 @@ func (t *Template) GetNeptuneDBSubnetGroupWithName(name string) (*neptune.DBSubn return nil, fmt.Errorf("resource %q of type neptune.DBSubnetGroup not found", name) } +// GetAllNetworkManagerCustomerGatewayAssociationResources retrieves all networkmanager.CustomerGatewayAssociation items from an AWS CloudFormation template +func (t *Template) GetAllNetworkManagerCustomerGatewayAssociationResources() map[string]*networkmanager.CustomerGatewayAssociation { + results := map[string]*networkmanager.CustomerGatewayAssociation{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *networkmanager.CustomerGatewayAssociation: + results[name] = resource + } + } + return results +} + +// GetNetworkManagerCustomerGatewayAssociationWithName retrieves all networkmanager.CustomerGatewayAssociation items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetNetworkManagerCustomerGatewayAssociationWithName(name string) (*networkmanager.CustomerGatewayAssociation, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *networkmanager.CustomerGatewayAssociation: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type networkmanager.CustomerGatewayAssociation not found", name) +} + +// GetAllNetworkManagerDeviceResources retrieves all networkmanager.Device items from an AWS CloudFormation template +func (t *Template) GetAllNetworkManagerDeviceResources() map[string]*networkmanager.Device { + results := map[string]*networkmanager.Device{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *networkmanager.Device: + results[name] = resource + } + } + return results +} + +// GetNetworkManagerDeviceWithName retrieves all networkmanager.Device items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetNetworkManagerDeviceWithName(name string) (*networkmanager.Device, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *networkmanager.Device: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type networkmanager.Device not found", name) +} + +// GetAllNetworkManagerGlobalNetworkResources retrieves all networkmanager.GlobalNetwork items from an AWS CloudFormation template +func (t *Template) GetAllNetworkManagerGlobalNetworkResources() map[string]*networkmanager.GlobalNetwork { + results := map[string]*networkmanager.GlobalNetwork{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *networkmanager.GlobalNetwork: + results[name] = resource + } + } + return results +} + +// GetNetworkManagerGlobalNetworkWithName retrieves all networkmanager.GlobalNetwork items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetNetworkManagerGlobalNetworkWithName(name string) (*networkmanager.GlobalNetwork, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *networkmanager.GlobalNetwork: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type networkmanager.GlobalNetwork not found", name) +} + +// GetAllNetworkManagerLinkResources retrieves all networkmanager.Link items from an AWS CloudFormation template +func (t *Template) GetAllNetworkManagerLinkResources() map[string]*networkmanager.Link { + results := map[string]*networkmanager.Link{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *networkmanager.Link: + results[name] = resource + } + } + return results +} + +// GetNetworkManagerLinkWithName retrieves all networkmanager.Link items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetNetworkManagerLinkWithName(name string) (*networkmanager.Link, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *networkmanager.Link: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type networkmanager.Link not found", name) +} + +// GetAllNetworkManagerLinkAssociationResources retrieves all networkmanager.LinkAssociation items from an AWS CloudFormation template +func (t *Template) GetAllNetworkManagerLinkAssociationResources() map[string]*networkmanager.LinkAssociation { + results := map[string]*networkmanager.LinkAssociation{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *networkmanager.LinkAssociation: + results[name] = resource + } + } + return results +} + +// GetNetworkManagerLinkAssociationWithName retrieves all networkmanager.LinkAssociation items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetNetworkManagerLinkAssociationWithName(name string) (*networkmanager.LinkAssociation, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *networkmanager.LinkAssociation: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type networkmanager.LinkAssociation not found", name) +} + +// GetAllNetworkManagerSiteResources retrieves all networkmanager.Site items from an AWS CloudFormation template +func (t *Template) GetAllNetworkManagerSiteResources() map[string]*networkmanager.Site { + results := map[string]*networkmanager.Site{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *networkmanager.Site: + results[name] = resource + } + } + return results +} + +// GetNetworkManagerSiteWithName retrieves all networkmanager.Site items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetNetworkManagerSiteWithName(name string) (*networkmanager.Site, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *networkmanager.Site: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type networkmanager.Site not found", name) +} + +// GetAllNetworkManagerTransitGatewayRegistrationResources retrieves all networkmanager.TransitGatewayRegistration items from an AWS CloudFormation template +func (t *Template) GetAllNetworkManagerTransitGatewayRegistrationResources() map[string]*networkmanager.TransitGatewayRegistration { + results := map[string]*networkmanager.TransitGatewayRegistration{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *networkmanager.TransitGatewayRegistration: + results[name] = resource + } + } + return results +} + +// GetNetworkManagerTransitGatewayRegistrationWithName retrieves all networkmanager.TransitGatewayRegistration items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetNetworkManagerTransitGatewayRegistrationWithName(name string) (*networkmanager.TransitGatewayRegistration, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *networkmanager.TransitGatewayRegistration: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type networkmanager.TransitGatewayRegistration not found", name) +} + // GetAllOpsWorksAppResources retrieves all opsworks.App items from an AWS CloudFormation template func (t *Template) GetAllOpsWorksAppResources() map[string]*opsworks.App { results := map[string]*opsworks.App{} @@ -10154,6 +11020,54 @@ func (t *Template) GetRDSDBParameterGroupWithName(name string) (*rds.DBParameter return nil, fmt.Errorf("resource %q of type rds.DBParameterGroup not found", name) } +// GetAllRDSDBProxyResources retrieves all rds.DBProxy items from an AWS CloudFormation template +func (t *Template) GetAllRDSDBProxyResources() map[string]*rds.DBProxy { + results := map[string]*rds.DBProxy{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *rds.DBProxy: + results[name] = resource + } + } + return results +} + +// GetRDSDBProxyWithName retrieves all rds.DBProxy items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetRDSDBProxyWithName(name string) (*rds.DBProxy, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *rds.DBProxy: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type rds.DBProxy not found", name) +} + +// GetAllRDSDBProxyTargetGroupResources retrieves all rds.DBProxyTargetGroup items from an AWS CloudFormation template +func (t *Template) GetAllRDSDBProxyTargetGroupResources() map[string]*rds.DBProxyTargetGroup { + results := map[string]*rds.DBProxyTargetGroup{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *rds.DBProxyTargetGroup: + results[name] = resource + } + } + return results +} + +// GetRDSDBProxyTargetGroupWithName retrieves all rds.DBProxyTargetGroup items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetRDSDBProxyTargetGroupWithName(name string) (*rds.DBProxyTargetGroup, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *rds.DBProxyTargetGroup: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type rds.DBProxyTargetGroup not found", name) +} + // GetAllRDSDBSecurityGroupResources retrieves all rds.DBSecurityGroup items from an AWS CloudFormation template func (t *Template) GetAllRDSDBSecurityGroupResources() map[string]*rds.DBSecurityGroup { results := map[string]*rds.DBSecurityGroup{} @@ -10394,6 +11308,30 @@ func (t *Template) GetRedshiftClusterSubnetGroupWithName(name string) (*redshift return nil, fmt.Errorf("resource %q of type redshift.ClusterSubnetGroup not found", name) } +// GetAllResourceGroupsGroupResources retrieves all resourcegroups.Group items from an AWS CloudFormation template +func (t *Template) GetAllResourceGroupsGroupResources() map[string]*resourcegroups.Group { + results := map[string]*resourcegroups.Group{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *resourcegroups.Group: + results[name] = resource + } + } + return results +} + +// GetResourceGroupsGroupWithName retrieves all resourcegroups.Group items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetResourceGroupsGroupWithName(name string) (*resourcegroups.Group, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *resourcegroups.Group: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type resourcegroups.Group not found", name) +} + // GetAllRoboMakerFleetResources retrieves all robomaker.Fleet items from an AWS CloudFormation template func (t *Template) GetAllRoboMakerFleetResources() map[string]*robomaker.Fleet { results := map[string]*robomaker.Fleet{} @@ -12170,6 +13108,30 @@ func (t *Template) GetStepFunctionsStateMachineWithName(name string) (*stepfunct return nil, fmt.Errorf("resource %q of type stepfunctions.StateMachine not found", name) } +// GetAllSyntheticsCanaryResources retrieves all synthetics.Canary items from an AWS CloudFormation template +func (t *Template) GetAllSyntheticsCanaryResources() map[string]*synthetics.Canary { + results := map[string]*synthetics.Canary{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *synthetics.Canary: + results[name] = resource + } + } + return results +} + +// GetSyntheticsCanaryWithName retrieves all synthetics.Canary items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetSyntheticsCanaryWithName(name string) (*synthetics.Canary, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *synthetics.Canary: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type synthetics.Canary not found", name) +} + // GetAllTransferServerResources retrieves all transfer.Server items from an AWS CloudFormation template func (t *Template) GetAllTransferServerResources() map[string]*transfer.Server { results := map[string]*transfer.Server{} diff --git a/cloudformation/amazonmq/aws-amazonmq-broker.go b/cloudformation/amazonmq/aws-amazonmq-broker.go index eafef35c10..d177330730 100644 --- a/cloudformation/amazonmq/aws-amazonmq-broker.go +++ b/cloudformation/amazonmq/aws-amazonmq-broker.go @@ -95,6 +95,9 @@ type Broker struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -115,19 +118,21 @@ func (r *Broker) AWSCloudFormationType() string { func (r Broker) MarshalJSON() ([]byte, error) { type Properties Broker return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -136,12 +141,13 @@ func (r Broker) MarshalJSON() ([]byte, error) { func (r *Broker) UnmarshalJSON(b []byte) error { type Properties Broker res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -165,6 +171,9 @@ func (r *Broker) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/amazonmq/aws-amazonmq-broker_configurationid.go b/cloudformation/amazonmq/aws-amazonmq-broker_configurationid.go index ffc14a63fe..d2127823b8 100644 --- a/cloudformation/amazonmq/aws-amazonmq-broker_configurationid.go +++ b/cloudformation/amazonmq/aws-amazonmq-broker_configurationid.go @@ -21,6 +21,9 @@ type Broker_ConfigurationId struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/amazonmq/aws-amazonmq-broker_encryptionoptions.go b/cloudformation/amazonmq/aws-amazonmq-broker_encryptionoptions.go index 942b586ca7..cd093dbd0c 100644 --- a/cloudformation/amazonmq/aws-amazonmq-broker_encryptionoptions.go +++ b/cloudformation/amazonmq/aws-amazonmq-broker_encryptionoptions.go @@ -21,6 +21,9 @@ type Broker_EncryptionOptions struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/amazonmq/aws-amazonmq-broker_loglist.go b/cloudformation/amazonmq/aws-amazonmq-broker_loglist.go index 9ecf6c80ec..2ccf65a563 100644 --- a/cloudformation/amazonmq/aws-amazonmq-broker_loglist.go +++ b/cloudformation/amazonmq/aws-amazonmq-broker_loglist.go @@ -21,6 +21,9 @@ type Broker_LogList struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/amazonmq/aws-amazonmq-broker_maintenancewindow.go b/cloudformation/amazonmq/aws-amazonmq-broker_maintenancewindow.go index 5b44da74a5..89e22097b2 100644 --- a/cloudformation/amazonmq/aws-amazonmq-broker_maintenancewindow.go +++ b/cloudformation/amazonmq/aws-amazonmq-broker_maintenancewindow.go @@ -26,6 +26,9 @@ type Broker_MaintenanceWindow struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/amazonmq/aws-amazonmq-broker_tagsentry.go b/cloudformation/amazonmq/aws-amazonmq-broker_tagsentry.go index 838604a74b..e9f2dde6a4 100644 --- a/cloudformation/amazonmq/aws-amazonmq-broker_tagsentry.go +++ b/cloudformation/amazonmq/aws-amazonmq-broker_tagsentry.go @@ -21,6 +21,9 @@ type Broker_TagsEntry struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/amazonmq/aws-amazonmq-broker_user.go b/cloudformation/amazonmq/aws-amazonmq-broker_user.go index 64f1d45fc1..6ca4eed7cf 100644 --- a/cloudformation/amazonmq/aws-amazonmq-broker_user.go +++ b/cloudformation/amazonmq/aws-amazonmq-broker_user.go @@ -31,6 +31,9 @@ type Broker_User struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/amazonmq/aws-amazonmq-configuration.go b/cloudformation/amazonmq/aws-amazonmq-configuration.go index 0824e9380a..48b071a44f 100644 --- a/cloudformation/amazonmq/aws-amazonmq-configuration.go +++ b/cloudformation/amazonmq/aws-amazonmq-configuration.go @@ -45,6 +45,9 @@ type Configuration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -65,19 +68,21 @@ func (r *Configuration) AWSCloudFormationType() string { func (r Configuration) MarshalJSON() ([]byte, error) { type Properties Configuration return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -86,12 +91,13 @@ func (r Configuration) MarshalJSON() ([]byte, error) { func (r *Configuration) UnmarshalJSON(b []byte) error { type Properties Configuration res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -115,6 +121,9 @@ func (r *Configuration) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/amazonmq/aws-amazonmq-configuration_tagsentry.go b/cloudformation/amazonmq/aws-amazonmq-configuration_tagsentry.go index 1c4b6642e8..cff02ce426 100644 --- a/cloudformation/amazonmq/aws-amazonmq-configuration_tagsentry.go +++ b/cloudformation/amazonmq/aws-amazonmq-configuration_tagsentry.go @@ -21,6 +21,9 @@ type Configuration_TagsEntry struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/amazonmq/aws-amazonmq-configurationassociation.go b/cloudformation/amazonmq/aws-amazonmq-configurationassociation.go index ec17783648..19915bf81e 100644 --- a/cloudformation/amazonmq/aws-amazonmq-configurationassociation.go +++ b/cloudformation/amazonmq/aws-amazonmq-configurationassociation.go @@ -25,6 +25,9 @@ type ConfigurationAssociation struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *ConfigurationAssociation) AWSCloudFormationType() string { func (r ConfigurationAssociation) MarshalJSON() ([]byte, error) { type Properties ConfigurationAssociation return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r ConfigurationAssociation) MarshalJSON() ([]byte, error) { func (r *ConfigurationAssociation) UnmarshalJSON(b []byte) error { type Properties ConfigurationAssociation res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *ConfigurationAssociation) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/amazonmq/aws-amazonmq-configurationassociation_configurationid.go b/cloudformation/amazonmq/aws-amazonmq-configurationassociation_configurationid.go index 01ec1685f1..c807d63603 100644 --- a/cloudformation/amazonmq/aws-amazonmq-configurationassociation_configurationid.go +++ b/cloudformation/amazonmq/aws-amazonmq-configurationassociation_configurationid.go @@ -21,6 +21,9 @@ type ConfigurationAssociation_ConfigurationId struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/amplify/aws-amplify-app.go b/cloudformation/amplify/aws-amplify-app.go index 98e311de68..b6966a67b3 100644 --- a/cloudformation/amplify/aws-amplify-app.go +++ b/cloudformation/amplify/aws-amplify-app.go @@ -76,6 +76,9 @@ type App struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -96,19 +99,21 @@ func (r *App) AWSCloudFormationType() string { func (r App) MarshalJSON() ([]byte, error) { type Properties App return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -117,12 +122,13 @@ func (r App) MarshalJSON() ([]byte, error) { func (r *App) UnmarshalJSON(b []byte) error { type Properties App res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -146,6 +152,9 @@ func (r *App) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/amplify/aws-amplify-app_autobranchcreationconfig.go b/cloudformation/amplify/aws-amplify-app_autobranchcreationconfig.go index 32a4059a6e..7aa283e111 100644 --- a/cloudformation/amplify/aws-amplify-app_autobranchcreationconfig.go +++ b/cloudformation/amplify/aws-amplify-app_autobranchcreationconfig.go @@ -56,6 +56,9 @@ type App_AutoBranchCreationConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/amplify/aws-amplify-app_basicauthconfig.go b/cloudformation/amplify/aws-amplify-app_basicauthconfig.go index 544f202f1a..bdc8624818 100644 --- a/cloudformation/amplify/aws-amplify-app_basicauthconfig.go +++ b/cloudformation/amplify/aws-amplify-app_basicauthconfig.go @@ -26,6 +26,9 @@ type App_BasicAuthConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/amplify/aws-amplify-app_customrule.go b/cloudformation/amplify/aws-amplify-app_customrule.go index 4e16060c3f..dc3808e13d 100644 --- a/cloudformation/amplify/aws-amplify-app_customrule.go +++ b/cloudformation/amplify/aws-amplify-app_customrule.go @@ -31,6 +31,9 @@ type App_CustomRule struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/amplify/aws-amplify-app_environmentvariable.go b/cloudformation/amplify/aws-amplify-app_environmentvariable.go index afe1cc78a3..3545cde15e 100644 --- a/cloudformation/amplify/aws-amplify-app_environmentvariable.go +++ b/cloudformation/amplify/aws-amplify-app_environmentvariable.go @@ -21,6 +21,9 @@ type App_EnvironmentVariable struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/amplify/aws-amplify-branch.go b/cloudformation/amplify/aws-amplify-branch.go index dcc5d4496e..bc175bbbfb 100644 --- a/cloudformation/amplify/aws-amplify-branch.go +++ b/cloudformation/amplify/aws-amplify-branch.go @@ -71,6 +71,9 @@ type Branch struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -91,19 +94,21 @@ func (r *Branch) AWSCloudFormationType() string { func (r Branch) MarshalJSON() ([]byte, error) { type Properties Branch return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -112,12 +117,13 @@ func (r Branch) MarshalJSON() ([]byte, error) { func (r *Branch) UnmarshalJSON(b []byte) error { type Properties Branch res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -141,6 +147,9 @@ func (r *Branch) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/amplify/aws-amplify-branch_basicauthconfig.go b/cloudformation/amplify/aws-amplify-branch_basicauthconfig.go index f3d3731b26..f6a219242f 100644 --- a/cloudformation/amplify/aws-amplify-branch_basicauthconfig.go +++ b/cloudformation/amplify/aws-amplify-branch_basicauthconfig.go @@ -26,6 +26,9 @@ type Branch_BasicAuthConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/amplify/aws-amplify-branch_environmentvariable.go b/cloudformation/amplify/aws-amplify-branch_environmentvariable.go index db91498c27..b122074124 100644 --- a/cloudformation/amplify/aws-amplify-branch_environmentvariable.go +++ b/cloudformation/amplify/aws-amplify-branch_environmentvariable.go @@ -21,6 +21,9 @@ type Branch_EnvironmentVariable struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/amplify/aws-amplify-domain.go b/cloudformation/amplify/aws-amplify-domain.go index 5e2db09d12..dd0c82b737 100644 --- a/cloudformation/amplify/aws-amplify-domain.go +++ b/cloudformation/amplify/aws-amplify-domain.go @@ -30,6 +30,9 @@ type Domain struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *Domain) AWSCloudFormationType() string { func (r Domain) MarshalJSON() ([]byte, error) { type Properties Domain return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r Domain) MarshalJSON() ([]byte, error) { func (r *Domain) UnmarshalJSON(b []byte) error { type Properties Domain res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *Domain) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/amplify/aws-amplify-domain_subdomainsetting.go b/cloudformation/amplify/aws-amplify-domain_subdomainsetting.go index 5a85dd90f8..a3fafe1abd 100644 --- a/cloudformation/amplify/aws-amplify-domain_subdomainsetting.go +++ b/cloudformation/amplify/aws-amplify-domain_subdomainsetting.go @@ -21,6 +21,9 @@ type Domain_SubDomainSetting struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/apigateway/aws-apigateway-account.go b/cloudformation/apigateway/aws-apigateway-account.go index 21557b03c5..3f8c40ac6a 100644 --- a/cloudformation/apigateway/aws-apigateway-account.go +++ b/cloudformation/apigateway/aws-apigateway-account.go @@ -20,6 +20,9 @@ type Account struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -40,19 +43,21 @@ func (r *Account) AWSCloudFormationType() string { func (r Account) MarshalJSON() ([]byte, error) { type Properties Account return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -61,12 +66,13 @@ func (r Account) MarshalJSON() ([]byte, error) { func (r *Account) UnmarshalJSON(b []byte) error { type Properties Account res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -90,6 +96,9 @@ func (r *Account) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/apigateway/aws-apigateway-apikey.go b/cloudformation/apigateway/aws-apigateway-apikey.go index b91d61c4d0..050d070169 100644 --- a/cloudformation/apigateway/aws-apigateway-apikey.go +++ b/cloudformation/apigateway/aws-apigateway-apikey.go @@ -56,6 +56,9 @@ type ApiKey struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -76,19 +79,21 @@ func (r *ApiKey) AWSCloudFormationType() string { func (r ApiKey) MarshalJSON() ([]byte, error) { type Properties ApiKey return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -97,12 +102,13 @@ func (r ApiKey) MarshalJSON() ([]byte, error) { func (r *ApiKey) UnmarshalJSON(b []byte) error { type Properties ApiKey res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -126,6 +132,9 @@ func (r *ApiKey) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/apigateway/aws-apigateway-apikey_stagekey.go b/cloudformation/apigateway/aws-apigateway-apikey_stagekey.go index 8be053d99f..e7ab147582 100644 --- a/cloudformation/apigateway/aws-apigateway-apikey_stagekey.go +++ b/cloudformation/apigateway/aws-apigateway-apikey_stagekey.go @@ -21,6 +21,9 @@ type ApiKey_StageKey struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/apigateway/aws-apigateway-authorizer.go b/cloudformation/apigateway/aws-apigateway-authorizer.go index b87a299ee0..fa014c1e2c 100644 --- a/cloudformation/apigateway/aws-apigateway-authorizer.go +++ b/cloudformation/apigateway/aws-apigateway-authorizer.go @@ -65,6 +65,9 @@ type Authorizer struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -85,19 +88,21 @@ func (r *Authorizer) AWSCloudFormationType() string { func (r Authorizer) MarshalJSON() ([]byte, error) { type Properties Authorizer return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -106,12 +111,13 @@ func (r Authorizer) MarshalJSON() ([]byte, error) { func (r *Authorizer) UnmarshalJSON(b []byte) error { type Properties Authorizer res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -135,6 +141,9 @@ func (r *Authorizer) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/apigateway/aws-apigateway-basepathmapping.go b/cloudformation/apigateway/aws-apigateway-basepathmapping.go index 331677d422..fe9a5e95b3 100644 --- a/cloudformation/apigateway/aws-apigateway-basepathmapping.go +++ b/cloudformation/apigateway/aws-apigateway-basepathmapping.go @@ -35,6 +35,9 @@ type BasePathMapping struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -55,19 +58,21 @@ func (r *BasePathMapping) AWSCloudFormationType() string { func (r BasePathMapping) MarshalJSON() ([]byte, error) { type Properties BasePathMapping return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -76,12 +81,13 @@ func (r BasePathMapping) MarshalJSON() ([]byte, error) { func (r *BasePathMapping) UnmarshalJSON(b []byte) error { type Properties BasePathMapping res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -105,6 +111,9 @@ func (r *BasePathMapping) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/apigateway/aws-apigateway-clientcertificate.go b/cloudformation/apigateway/aws-apigateway-clientcertificate.go index 6870f72c3f..6d7b6103bf 100644 --- a/cloudformation/apigateway/aws-apigateway-clientcertificate.go +++ b/cloudformation/apigateway/aws-apigateway-clientcertificate.go @@ -26,6 +26,9 @@ type ClientCertificate struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -46,19 +49,21 @@ func (r *ClientCertificate) AWSCloudFormationType() string { func (r ClientCertificate) MarshalJSON() ([]byte, error) { type Properties ClientCertificate return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -67,12 +72,13 @@ func (r ClientCertificate) MarshalJSON() ([]byte, error) { func (r *ClientCertificate) UnmarshalJSON(b []byte) error { type Properties ClientCertificate res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -96,6 +102,9 @@ func (r *ClientCertificate) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/apigateway/aws-apigateway-deployment.go b/cloudformation/apigateway/aws-apigateway-deployment.go index 7dc36b1a62..ba0e8416f0 100644 --- a/cloudformation/apigateway/aws-apigateway-deployment.go +++ b/cloudformation/apigateway/aws-apigateway-deployment.go @@ -40,6 +40,9 @@ type Deployment struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -60,19 +63,21 @@ func (r *Deployment) AWSCloudFormationType() string { func (r Deployment) MarshalJSON() ([]byte, error) { type Properties Deployment return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -81,12 +86,13 @@ func (r Deployment) MarshalJSON() ([]byte, error) { func (r *Deployment) UnmarshalJSON(b []byte) error { type Properties Deployment res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -110,6 +116,9 @@ func (r *Deployment) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/apigateway/aws-apigateway-deployment_accesslogsetting.go b/cloudformation/apigateway/aws-apigateway-deployment_accesslogsetting.go index 8051af89b2..91b8454a41 100644 --- a/cloudformation/apigateway/aws-apigateway-deployment_accesslogsetting.go +++ b/cloudformation/apigateway/aws-apigateway-deployment_accesslogsetting.go @@ -21,6 +21,9 @@ type Deployment_AccessLogSetting struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/apigateway/aws-apigateway-deployment_canarysetting.go b/cloudformation/apigateway/aws-apigateway-deployment_canarysetting.go index 79e1a9e07f..ada0364252 100644 --- a/cloudformation/apigateway/aws-apigateway-deployment_canarysetting.go +++ b/cloudformation/apigateway/aws-apigateway-deployment_canarysetting.go @@ -26,6 +26,9 @@ type Deployment_CanarySetting struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/apigateway/aws-apigateway-deployment_deploymentcanarysettings.go b/cloudformation/apigateway/aws-apigateway-deployment_deploymentcanarysettings.go index c25f2849a4..fb20f1324a 100644 --- a/cloudformation/apigateway/aws-apigateway-deployment_deploymentcanarysettings.go +++ b/cloudformation/apigateway/aws-apigateway-deployment_deploymentcanarysettings.go @@ -26,6 +26,9 @@ type Deployment_DeploymentCanarySettings struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/apigateway/aws-apigateway-deployment_methodsetting.go b/cloudformation/apigateway/aws-apigateway-deployment_methodsetting.go index 2963da97a6..e56c89d00e 100644 --- a/cloudformation/apigateway/aws-apigateway-deployment_methodsetting.go +++ b/cloudformation/apigateway/aws-apigateway-deployment_methodsetting.go @@ -61,6 +61,9 @@ type Deployment_MethodSetting struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/apigateway/aws-apigateway-deployment_stagedescription.go b/cloudformation/apigateway/aws-apigateway-deployment_stagedescription.go index 006d9676de..84e6429098 100644 --- a/cloudformation/apigateway/aws-apigateway-deployment_stagedescription.go +++ b/cloudformation/apigateway/aws-apigateway-deployment_stagedescription.go @@ -107,6 +107,9 @@ type Deployment_StageDescription struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/apigateway/aws-apigateway-documentationpart.go b/cloudformation/apigateway/aws-apigateway-documentationpart.go index 4f9cca6c04..af5f0e46f1 100644 --- a/cloudformation/apigateway/aws-apigateway-documentationpart.go +++ b/cloudformation/apigateway/aws-apigateway-documentationpart.go @@ -30,6 +30,9 @@ type DocumentationPart struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *DocumentationPart) AWSCloudFormationType() string { func (r DocumentationPart) MarshalJSON() ([]byte, error) { type Properties DocumentationPart return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r DocumentationPart) MarshalJSON() ([]byte, error) { func (r *DocumentationPart) UnmarshalJSON(b []byte) error { type Properties DocumentationPart res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *DocumentationPart) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/apigateway/aws-apigateway-documentationpart_location.go b/cloudformation/apigateway/aws-apigateway-documentationpart_location.go index 642b951e4e..675dd305c9 100644 --- a/cloudformation/apigateway/aws-apigateway-documentationpart_location.go +++ b/cloudformation/apigateway/aws-apigateway-documentationpart_location.go @@ -36,6 +36,9 @@ type DocumentationPart_Location struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/apigateway/aws-apigateway-documentationversion.go b/cloudformation/apigateway/aws-apigateway-documentationversion.go index 9a69d2cf92..0e40cfa17f 100644 --- a/cloudformation/apigateway/aws-apigateway-documentationversion.go +++ b/cloudformation/apigateway/aws-apigateway-documentationversion.go @@ -30,6 +30,9 @@ type DocumentationVersion struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *DocumentationVersion) AWSCloudFormationType() string { func (r DocumentationVersion) MarshalJSON() ([]byte, error) { type Properties DocumentationVersion return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r DocumentationVersion) MarshalJSON() ([]byte, error) { func (r *DocumentationVersion) UnmarshalJSON(b []byte) error { type Properties DocumentationVersion res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *DocumentationVersion) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/apigateway/aws-apigateway-domainname.go b/cloudformation/apigateway/aws-apigateway-domainname.go index 59ee5c90f6..77846ba0e5 100644 --- a/cloudformation/apigateway/aws-apigateway-domainname.go +++ b/cloudformation/apigateway/aws-apigateway-domainname.go @@ -46,6 +46,9 @@ type DomainName struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -66,19 +69,21 @@ func (r *DomainName) AWSCloudFormationType() string { func (r DomainName) MarshalJSON() ([]byte, error) { type Properties DomainName return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -87,12 +92,13 @@ func (r DomainName) MarshalJSON() ([]byte, error) { func (r *DomainName) UnmarshalJSON(b []byte) error { type Properties DomainName res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -116,6 +122,9 @@ func (r *DomainName) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/apigateway/aws-apigateway-domainname_endpointconfiguration.go b/cloudformation/apigateway/aws-apigateway-domainname_endpointconfiguration.go index 77c39f4419..d89c3bd482 100644 --- a/cloudformation/apigateway/aws-apigateway-domainname_endpointconfiguration.go +++ b/cloudformation/apigateway/aws-apigateway-domainname_endpointconfiguration.go @@ -16,6 +16,9 @@ type DomainName_EndpointConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/apigateway/aws-apigateway-gatewayresponse.go b/cloudformation/apigateway/aws-apigateway-gatewayresponse.go index 421cce638d..98d4e8665a 100644 --- a/cloudformation/apigateway/aws-apigateway-gatewayresponse.go +++ b/cloudformation/apigateway/aws-apigateway-gatewayresponse.go @@ -40,6 +40,9 @@ type GatewayResponse struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -60,19 +63,21 @@ func (r *GatewayResponse) AWSCloudFormationType() string { func (r GatewayResponse) MarshalJSON() ([]byte, error) { type Properties GatewayResponse return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -81,12 +86,13 @@ func (r GatewayResponse) MarshalJSON() ([]byte, error) { func (r *GatewayResponse) UnmarshalJSON(b []byte) error { type Properties GatewayResponse res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -110,6 +116,9 @@ func (r *GatewayResponse) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/apigateway/aws-apigateway-method.go b/cloudformation/apigateway/aws-apigateway-method.go index 61fa0c061c..96927a9509 100644 --- a/cloudformation/apigateway/aws-apigateway-method.go +++ b/cloudformation/apigateway/aws-apigateway-method.go @@ -80,6 +80,9 @@ type Method struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -100,19 +103,21 @@ func (r *Method) AWSCloudFormationType() string { func (r Method) MarshalJSON() ([]byte, error) { type Properties Method return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -121,12 +126,13 @@ func (r Method) MarshalJSON() ([]byte, error) { func (r *Method) UnmarshalJSON(b []byte) error { type Properties Method res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -150,6 +156,9 @@ func (r *Method) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/apigateway/aws-apigateway-method_integration.go b/cloudformation/apigateway/aws-apigateway-method_integration.go index 2a4cb27018..693bca34e4 100644 --- a/cloudformation/apigateway/aws-apigateway-method_integration.go +++ b/cloudformation/apigateway/aws-apigateway-method_integration.go @@ -81,6 +81,9 @@ type Method_Integration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/apigateway/aws-apigateway-method_integrationresponse.go b/cloudformation/apigateway/aws-apigateway-method_integrationresponse.go index 2ccde46425..0eec56e5b5 100644 --- a/cloudformation/apigateway/aws-apigateway-method_integrationresponse.go +++ b/cloudformation/apigateway/aws-apigateway-method_integrationresponse.go @@ -36,6 +36,9 @@ type Method_IntegrationResponse struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/apigateway/aws-apigateway-method_methodresponse.go b/cloudformation/apigateway/aws-apigateway-method_methodresponse.go index 68fc18a499..de9f89f6f7 100644 --- a/cloudformation/apigateway/aws-apigateway-method_methodresponse.go +++ b/cloudformation/apigateway/aws-apigateway-method_methodresponse.go @@ -26,6 +26,9 @@ type Method_MethodResponse struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/apigateway/aws-apigateway-model.go b/cloudformation/apigateway/aws-apigateway-model.go index 9cc5b18e49..a60d6f8dd4 100644 --- a/cloudformation/apigateway/aws-apigateway-model.go +++ b/cloudformation/apigateway/aws-apigateway-model.go @@ -40,6 +40,9 @@ type Model struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -60,19 +63,21 @@ func (r *Model) AWSCloudFormationType() string { func (r Model) MarshalJSON() ([]byte, error) { type Properties Model return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -81,12 +86,13 @@ func (r Model) MarshalJSON() ([]byte, error) { func (r *Model) UnmarshalJSON(b []byte) error { type Properties Model res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -110,6 +116,9 @@ func (r *Model) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/apigateway/aws-apigateway-requestvalidator.go b/cloudformation/apigateway/aws-apigateway-requestvalidator.go index efd9a2a7e9..9e819e9b5a 100644 --- a/cloudformation/apigateway/aws-apigateway-requestvalidator.go +++ b/cloudformation/apigateway/aws-apigateway-requestvalidator.go @@ -35,6 +35,9 @@ type RequestValidator struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -55,19 +58,21 @@ func (r *RequestValidator) AWSCloudFormationType() string { func (r RequestValidator) MarshalJSON() ([]byte, error) { type Properties RequestValidator return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -76,12 +81,13 @@ func (r RequestValidator) MarshalJSON() ([]byte, error) { func (r *RequestValidator) UnmarshalJSON(b []byte) error { type Properties RequestValidator res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -105,6 +111,9 @@ func (r *RequestValidator) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/apigateway/aws-apigateway-resource.go b/cloudformation/apigateway/aws-apigateway-resource.go index 0e3b5b8312..03af34fc69 100644 --- a/cloudformation/apigateway/aws-apigateway-resource.go +++ b/cloudformation/apigateway/aws-apigateway-resource.go @@ -30,6 +30,9 @@ type Resource struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *Resource) AWSCloudFormationType() string { func (r Resource) MarshalJSON() ([]byte, error) { type Properties Resource return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r Resource) MarshalJSON() ([]byte, error) { func (r *Resource) UnmarshalJSON(b []byte) error { type Properties Resource res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *Resource) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/apigateway/aws-apigateway-restapi.go b/cloudformation/apigateway/aws-apigateway-restapi.go index 05fc725cc5..86c3e4db15 100644 --- a/cloudformation/apigateway/aws-apigateway-restapi.go +++ b/cloudformation/apigateway/aws-apigateway-restapi.go @@ -81,6 +81,9 @@ type RestApi struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -101,19 +104,21 @@ func (r *RestApi) AWSCloudFormationType() string { func (r RestApi) MarshalJSON() ([]byte, error) { type Properties RestApi return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -122,12 +127,13 @@ func (r RestApi) MarshalJSON() ([]byte, error) { func (r *RestApi) UnmarshalJSON(b []byte) error { type Properties RestApi res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -151,6 +157,9 @@ func (r *RestApi) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/apigateway/aws-apigateway-restapi_endpointconfiguration.go b/cloudformation/apigateway/aws-apigateway-restapi_endpointconfiguration.go index 25a092d00f..2771f7b530 100644 --- a/cloudformation/apigateway/aws-apigateway-restapi_endpointconfiguration.go +++ b/cloudformation/apigateway/aws-apigateway-restapi_endpointconfiguration.go @@ -21,6 +21,9 @@ type RestApi_EndpointConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/apigateway/aws-apigateway-restapi_s3location.go b/cloudformation/apigateway/aws-apigateway-restapi_s3location.go index 014e11df8c..ee9f4e326b 100644 --- a/cloudformation/apigateway/aws-apigateway-restapi_s3location.go +++ b/cloudformation/apigateway/aws-apigateway-restapi_s3location.go @@ -31,6 +31,9 @@ type RestApi_S3Location struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/apigateway/aws-apigateway-stage.go b/cloudformation/apigateway/aws-apigateway-stage.go index 289c378304..32f4c70321 100644 --- a/cloudformation/apigateway/aws-apigateway-stage.go +++ b/cloudformation/apigateway/aws-apigateway-stage.go @@ -86,6 +86,9 @@ type Stage struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -106,19 +109,21 @@ func (r *Stage) AWSCloudFormationType() string { func (r Stage) MarshalJSON() ([]byte, error) { type Properties Stage return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -127,12 +132,13 @@ func (r Stage) MarshalJSON() ([]byte, error) { func (r *Stage) UnmarshalJSON(b []byte) error { type Properties Stage res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -156,6 +162,9 @@ func (r *Stage) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/apigateway/aws-apigateway-stage_accesslogsetting.go b/cloudformation/apigateway/aws-apigateway-stage_accesslogsetting.go index 3986202403..2af54f5c96 100644 --- a/cloudformation/apigateway/aws-apigateway-stage_accesslogsetting.go +++ b/cloudformation/apigateway/aws-apigateway-stage_accesslogsetting.go @@ -21,6 +21,9 @@ type Stage_AccessLogSetting struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/apigateway/aws-apigateway-stage_canarysetting.go b/cloudformation/apigateway/aws-apigateway-stage_canarysetting.go index 977d307055..4b0a4bd33e 100644 --- a/cloudformation/apigateway/aws-apigateway-stage_canarysetting.go +++ b/cloudformation/apigateway/aws-apigateway-stage_canarysetting.go @@ -31,6 +31,9 @@ type Stage_CanarySetting struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/apigateway/aws-apigateway-stage_methodsetting.go b/cloudformation/apigateway/aws-apigateway-stage_methodsetting.go index 25f3816aa3..799bbe5526 100644 --- a/cloudformation/apigateway/aws-apigateway-stage_methodsetting.go +++ b/cloudformation/apigateway/aws-apigateway-stage_methodsetting.go @@ -61,6 +61,9 @@ type Stage_MethodSetting struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/apigateway/aws-apigateway-usageplan.go b/cloudformation/apigateway/aws-apigateway-usageplan.go index 5aed011c4a..6cb37142ed 100644 --- a/cloudformation/apigateway/aws-apigateway-usageplan.go +++ b/cloudformation/apigateway/aws-apigateway-usageplan.go @@ -46,6 +46,9 @@ type UsagePlan struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -66,19 +69,21 @@ func (r *UsagePlan) AWSCloudFormationType() string { func (r UsagePlan) MarshalJSON() ([]byte, error) { type Properties UsagePlan return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -87,12 +92,13 @@ func (r UsagePlan) MarshalJSON() ([]byte, error) { func (r *UsagePlan) UnmarshalJSON(b []byte) error { type Properties UsagePlan res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -116,6 +122,9 @@ func (r *UsagePlan) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/apigateway/aws-apigateway-usageplan_apistage.go b/cloudformation/apigateway/aws-apigateway-usageplan_apistage.go index c73ffee1e2..b34a9d8ba1 100644 --- a/cloudformation/apigateway/aws-apigateway-usageplan_apistage.go +++ b/cloudformation/apigateway/aws-apigateway-usageplan_apistage.go @@ -26,6 +26,9 @@ type UsagePlan_ApiStage struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/apigateway/aws-apigateway-usageplan_quotasettings.go b/cloudformation/apigateway/aws-apigateway-usageplan_quotasettings.go index bfab0dd1ce..0b6791b94b 100644 --- a/cloudformation/apigateway/aws-apigateway-usageplan_quotasettings.go +++ b/cloudformation/apigateway/aws-apigateway-usageplan_quotasettings.go @@ -26,6 +26,9 @@ type UsagePlan_QuotaSettings struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/apigateway/aws-apigateway-usageplan_throttlesettings.go b/cloudformation/apigateway/aws-apigateway-usageplan_throttlesettings.go index 1c22f6ab9b..a78d18b31d 100644 --- a/cloudformation/apigateway/aws-apigateway-usageplan_throttlesettings.go +++ b/cloudformation/apigateway/aws-apigateway-usageplan_throttlesettings.go @@ -21,6 +21,9 @@ type UsagePlan_ThrottleSettings struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/apigateway/aws-apigateway-usageplankey.go b/cloudformation/apigateway/aws-apigateway-usageplankey.go index 94c7160653..fa5aa265a6 100644 --- a/cloudformation/apigateway/aws-apigateway-usageplankey.go +++ b/cloudformation/apigateway/aws-apigateway-usageplankey.go @@ -30,6 +30,9 @@ type UsagePlanKey struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *UsagePlanKey) AWSCloudFormationType() string { func (r UsagePlanKey) MarshalJSON() ([]byte, error) { type Properties UsagePlanKey return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r UsagePlanKey) MarshalJSON() ([]byte, error) { func (r *UsagePlanKey) UnmarshalJSON(b []byte) error { type Properties UsagePlanKey res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *UsagePlanKey) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/apigateway/aws-apigateway-vpclink.go b/cloudformation/apigateway/aws-apigateway-vpclink.go index 64a6301ab8..f27167f4cf 100644 --- a/cloudformation/apigateway/aws-apigateway-vpclink.go +++ b/cloudformation/apigateway/aws-apigateway-vpclink.go @@ -30,6 +30,9 @@ type VpcLink struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *VpcLink) AWSCloudFormationType() string { func (r VpcLink) MarshalJSON() ([]byte, error) { type Properties VpcLink return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r VpcLink) MarshalJSON() ([]byte, error) { func (r *VpcLink) UnmarshalJSON(b []byte) error { type Properties VpcLink res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *VpcLink) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/apigatewayv2/aws-apigatewayv2-api.go b/cloudformation/apigatewayv2/aws-apigatewayv2-api.go index b17a761073..52050455bd 100644 --- a/cloudformation/apigatewayv2/aws-apigatewayv2-api.go +++ b/cloudformation/apigatewayv2/aws-apigatewayv2-api.go @@ -95,6 +95,9 @@ type Api struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -115,19 +118,21 @@ func (r *Api) AWSCloudFormationType() string { func (r Api) MarshalJSON() ([]byte, error) { type Properties Api return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -136,12 +141,13 @@ func (r Api) MarshalJSON() ([]byte, error) { func (r *Api) UnmarshalJSON(b []byte) error { type Properties Api res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -165,6 +171,9 @@ func (r *Api) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/apigatewayv2/aws-apigatewayv2-api_bodys3location.go b/cloudformation/apigatewayv2/aws-apigatewayv2-api_bodys3location.go index ec2dbd49f5..4740dc765f 100644 --- a/cloudformation/apigatewayv2/aws-apigatewayv2-api_bodys3location.go +++ b/cloudformation/apigatewayv2/aws-apigatewayv2-api_bodys3location.go @@ -31,6 +31,9 @@ type Api_BodyS3Location struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/apigatewayv2/aws-apigatewayv2-api_cors.go b/cloudformation/apigatewayv2/aws-apigatewayv2-api_cors.go index b4f0a979dc..b90831e4ee 100644 --- a/cloudformation/apigatewayv2/aws-apigatewayv2-api_cors.go +++ b/cloudformation/apigatewayv2/aws-apigatewayv2-api_cors.go @@ -41,6 +41,9 @@ type Api_Cors struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/apigatewayv2/aws-apigatewayv2-apimapping.go b/cloudformation/apigatewayv2/aws-apigatewayv2-apimapping.go index ac86b89ce0..de034fc2ee 100644 --- a/cloudformation/apigatewayv2/aws-apigatewayv2-apimapping.go +++ b/cloudformation/apigatewayv2/aws-apigatewayv2-apimapping.go @@ -35,6 +35,9 @@ type ApiMapping struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -55,19 +58,21 @@ func (r *ApiMapping) AWSCloudFormationType() string { func (r ApiMapping) MarshalJSON() ([]byte, error) { type Properties ApiMapping return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -76,12 +81,13 @@ func (r ApiMapping) MarshalJSON() ([]byte, error) { func (r *ApiMapping) UnmarshalJSON(b []byte) error { type Properties ApiMapping res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -105,6 +111,9 @@ func (r *ApiMapping) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/apigatewayv2/aws-apigatewayv2-authorizer.go b/cloudformation/apigatewayv2/aws-apigatewayv2-authorizer.go index ef0531fac8..c5048de03c 100644 --- a/cloudformation/apigatewayv2/aws-apigatewayv2-authorizer.go +++ b/cloudformation/apigatewayv2/aws-apigatewayv2-authorizer.go @@ -60,6 +60,9 @@ type Authorizer struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -80,19 +83,21 @@ func (r *Authorizer) AWSCloudFormationType() string { func (r Authorizer) MarshalJSON() ([]byte, error) { type Properties Authorizer return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -101,12 +106,13 @@ func (r Authorizer) MarshalJSON() ([]byte, error) { func (r *Authorizer) UnmarshalJSON(b []byte) error { type Properties Authorizer res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -130,6 +136,9 @@ func (r *Authorizer) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/apigatewayv2/aws-apigatewayv2-authorizer_jwtconfiguration.go b/cloudformation/apigatewayv2/aws-apigatewayv2-authorizer_jwtconfiguration.go index 0a6132c958..1f0dc66cc4 100644 --- a/cloudformation/apigatewayv2/aws-apigatewayv2-authorizer_jwtconfiguration.go +++ b/cloudformation/apigatewayv2/aws-apigatewayv2-authorizer_jwtconfiguration.go @@ -21,6 +21,9 @@ type Authorizer_JWTConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/apigatewayv2/aws-apigatewayv2-deployment.go b/cloudformation/apigatewayv2/aws-apigatewayv2-deployment.go index 557a799a12..40276220a5 100644 --- a/cloudformation/apigatewayv2/aws-apigatewayv2-deployment.go +++ b/cloudformation/apigatewayv2/aws-apigatewayv2-deployment.go @@ -30,6 +30,9 @@ type Deployment struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *Deployment) AWSCloudFormationType() string { func (r Deployment) MarshalJSON() ([]byte, error) { type Properties Deployment return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r Deployment) MarshalJSON() ([]byte, error) { func (r *Deployment) UnmarshalJSON(b []byte) error { type Properties Deployment res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *Deployment) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/apigatewayv2/aws-apigatewayv2-domainname.go b/cloudformation/apigatewayv2/aws-apigatewayv2-domainname.go index 33627b847f..e0a7e08b3d 100644 --- a/cloudformation/apigatewayv2/aws-apigatewayv2-domainname.go +++ b/cloudformation/apigatewayv2/aws-apigatewayv2-domainname.go @@ -30,6 +30,9 @@ type DomainName struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *DomainName) AWSCloudFormationType() string { func (r DomainName) MarshalJSON() ([]byte, error) { type Properties DomainName return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r DomainName) MarshalJSON() ([]byte, error) { func (r *DomainName) UnmarshalJSON(b []byte) error { type Properties DomainName res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *DomainName) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/apigatewayv2/aws-apigatewayv2-domainname_domainnameconfiguration.go b/cloudformation/apigatewayv2/aws-apigatewayv2-domainname_domainnameconfiguration.go index 870d87c98f..5381b1e2f1 100644 --- a/cloudformation/apigatewayv2/aws-apigatewayv2-domainname_domainnameconfiguration.go +++ b/cloudformation/apigatewayv2/aws-apigatewayv2-domainname_domainnameconfiguration.go @@ -26,6 +26,9 @@ type DomainName_DomainNameConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/apigatewayv2/aws-apigatewayv2-integration.go b/cloudformation/apigatewayv2/aws-apigatewayv2-integration.go index 0700a4b7cd..9105c827fd 100644 --- a/cloudformation/apigatewayv2/aws-apigatewayv2-integration.go +++ b/cloudformation/apigatewayv2/aws-apigatewayv2-integration.go @@ -17,6 +17,11 @@ type Integration struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-apiid ApiId string `json:"ApiId,omitempty"` + // ConnectionId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-connectionid + ConnectionId string `json:"ConnectionId,omitempty"` + // ConnectionType AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-connectiontype @@ -82,9 +87,17 @@ type Integration struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-timeoutinmillis TimeoutInMillis int `json:"TimeoutInMillis,omitempty"` + // TlsConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-tlsconfig + TlsConfig *Integration_TlsConfig `json:"TlsConfig,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -105,19 +118,21 @@ func (r *Integration) AWSCloudFormationType() string { func (r Integration) MarshalJSON() ([]byte, error) { type Properties Integration return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -126,12 +141,13 @@ func (r Integration) MarshalJSON() ([]byte, error) { func (r *Integration) UnmarshalJSON(b []byte) error { type Properties Integration res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -155,6 +171,9 @@ func (r *Integration) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/apigatewayv2/aws-apigatewayv2-integration_tlsconfig.go b/cloudformation/apigatewayv2/aws-apigatewayv2-integration_tlsconfig.go new file mode 100644 index 0000000000..8b62fac313 --- /dev/null +++ b/cloudformation/apigatewayv2/aws-apigatewayv2-integration_tlsconfig.go @@ -0,0 +1,35 @@ +package apigatewayv2 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Integration_TlsConfig AWS CloudFormation Resource (AWS::ApiGatewayV2::Integration.TlsConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-integration-tlsconfig.html +type Integration_TlsConfig struct { + + // ServerNameToVerify AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-integration-tlsconfig.html#cfn-apigatewayv2-integration-tlsconfig-servernametoverify + ServerNameToVerify string `json:"ServerNameToVerify,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Integration_TlsConfig) AWSCloudFormationType() string { + return "AWS::ApiGatewayV2::Integration.TlsConfig" +} diff --git a/cloudformation/apigatewayv2/aws-apigatewayv2-integrationresponse.go b/cloudformation/apigatewayv2/aws-apigatewayv2-integrationresponse.go index 4c1a6d584f..227ac0367e 100644 --- a/cloudformation/apigatewayv2/aws-apigatewayv2-integrationresponse.go +++ b/cloudformation/apigatewayv2/aws-apigatewayv2-integrationresponse.go @@ -50,6 +50,9 @@ type IntegrationResponse struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -70,19 +73,21 @@ func (r *IntegrationResponse) AWSCloudFormationType() string { func (r IntegrationResponse) MarshalJSON() ([]byte, error) { type Properties IntegrationResponse return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -91,12 +96,13 @@ func (r IntegrationResponse) MarshalJSON() ([]byte, error) { func (r *IntegrationResponse) UnmarshalJSON(b []byte) error { type Properties IntegrationResponse res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -120,6 +126,9 @@ func (r *IntegrationResponse) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/apigatewayv2/aws-apigatewayv2-model.go b/cloudformation/apigatewayv2/aws-apigatewayv2-model.go index ba10adfcb7..f859bf9c9e 100644 --- a/cloudformation/apigatewayv2/aws-apigatewayv2-model.go +++ b/cloudformation/apigatewayv2/aws-apigatewayv2-model.go @@ -40,6 +40,9 @@ type Model struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -60,19 +63,21 @@ func (r *Model) AWSCloudFormationType() string { func (r Model) MarshalJSON() ([]byte, error) { type Properties Model return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -81,12 +86,13 @@ func (r Model) MarshalJSON() ([]byte, error) { func (r *Model) UnmarshalJSON(b []byte) error { type Properties Model res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -110,6 +116,9 @@ func (r *Model) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/apigatewayv2/aws-apigatewayv2-route.go b/cloudformation/apigatewayv2/aws-apigatewayv2-route.go index 68e540c737..165c286c18 100644 --- a/cloudformation/apigatewayv2/aws-apigatewayv2-route.go +++ b/cloudformation/apigatewayv2/aws-apigatewayv2-route.go @@ -75,6 +75,9 @@ type Route struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -95,19 +98,21 @@ func (r *Route) AWSCloudFormationType() string { func (r Route) MarshalJSON() ([]byte, error) { type Properties Route return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -116,12 +121,13 @@ func (r Route) MarshalJSON() ([]byte, error) { func (r *Route) UnmarshalJSON(b []byte) error { type Properties Route res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -145,6 +151,9 @@ func (r *Route) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/apigatewayv2/aws-apigatewayv2-route_parameterconstraints.go b/cloudformation/apigatewayv2/aws-apigatewayv2-route_parameterconstraints.go index 2e99e1222e..74a9cf9a6b 100644 --- a/cloudformation/apigatewayv2/aws-apigatewayv2-route_parameterconstraints.go +++ b/cloudformation/apigatewayv2/aws-apigatewayv2-route_parameterconstraints.go @@ -16,6 +16,9 @@ type Route_ParameterConstraints struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/apigatewayv2/aws-apigatewayv2-routeresponse.go b/cloudformation/apigatewayv2/aws-apigatewayv2-routeresponse.go index aa6f5ae416..6696998e27 100644 --- a/cloudformation/apigatewayv2/aws-apigatewayv2-routeresponse.go +++ b/cloudformation/apigatewayv2/aws-apigatewayv2-routeresponse.go @@ -45,6 +45,9 @@ type RouteResponse struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -65,19 +68,21 @@ func (r *RouteResponse) AWSCloudFormationType() string { func (r RouteResponse) MarshalJSON() ([]byte, error) { type Properties RouteResponse return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -86,12 +91,13 @@ func (r RouteResponse) MarshalJSON() ([]byte, error) { func (r *RouteResponse) UnmarshalJSON(b []byte) error { type Properties RouteResponse res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -115,6 +121,9 @@ func (r *RouteResponse) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/apigatewayv2/aws-apigatewayv2-routeresponse_parameterconstraints.go b/cloudformation/apigatewayv2/aws-apigatewayv2-routeresponse_parameterconstraints.go index b5c1f657a6..60f3397ce8 100644 --- a/cloudformation/apigatewayv2/aws-apigatewayv2-routeresponse_parameterconstraints.go +++ b/cloudformation/apigatewayv2/aws-apigatewayv2-routeresponse_parameterconstraints.go @@ -16,6 +16,9 @@ type RouteResponse_ParameterConstraints struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/apigatewayv2/aws-apigatewayv2-stage.go b/cloudformation/apigatewayv2/aws-apigatewayv2-stage.go index 542e60a7d6..9af4d61da8 100644 --- a/cloudformation/apigatewayv2/aws-apigatewayv2-stage.go +++ b/cloudformation/apigatewayv2/aws-apigatewayv2-stage.go @@ -70,6 +70,9 @@ type Stage struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -90,19 +93,21 @@ func (r *Stage) AWSCloudFormationType() string { func (r Stage) MarshalJSON() ([]byte, error) { type Properties Stage return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -111,12 +116,13 @@ func (r Stage) MarshalJSON() ([]byte, error) { func (r *Stage) UnmarshalJSON(b []byte) error { type Properties Stage res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -140,6 +146,9 @@ func (r *Stage) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/apigatewayv2/aws-apigatewayv2-stage_accesslogsettings.go b/cloudformation/apigatewayv2/aws-apigatewayv2-stage_accesslogsettings.go index 1f95655525..cf1613d562 100644 --- a/cloudformation/apigatewayv2/aws-apigatewayv2-stage_accesslogsettings.go +++ b/cloudformation/apigatewayv2/aws-apigatewayv2-stage_accesslogsettings.go @@ -21,6 +21,9 @@ type Stage_AccessLogSettings struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/apigatewayv2/aws-apigatewayv2-stage_routesettings.go b/cloudformation/apigatewayv2/aws-apigatewayv2-stage_routesettings.go index f48dd0bb9e..053fb4b4e5 100644 --- a/cloudformation/apigatewayv2/aws-apigatewayv2-stage_routesettings.go +++ b/cloudformation/apigatewayv2/aws-apigatewayv2-stage_routesettings.go @@ -36,6 +36,9 @@ type Stage_RouteSettings struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appconfig/aws-appconfig-application.go b/cloudformation/appconfig/aws-appconfig-application.go index 9d10bf817b..55472758e9 100644 --- a/cloudformation/appconfig/aws-appconfig-application.go +++ b/cloudformation/appconfig/aws-appconfig-application.go @@ -30,6 +30,9 @@ type Application struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *Application) AWSCloudFormationType() string { func (r Application) MarshalJSON() ([]byte, error) { type Properties Application return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r Application) MarshalJSON() ([]byte, error) { func (r *Application) UnmarshalJSON(b []byte) error { type Properties Application res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *Application) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/appconfig/aws-appconfig-application_tags.go b/cloudformation/appconfig/aws-appconfig-application_tags.go index 8086098631..080aa29d40 100644 --- a/cloudformation/appconfig/aws-appconfig-application_tags.go +++ b/cloudformation/appconfig/aws-appconfig-application_tags.go @@ -21,6 +21,9 @@ type Application_Tags struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appconfig/aws-appconfig-configurationprofile.go b/cloudformation/appconfig/aws-appconfig-configurationprofile.go index 0c2fea5e82..13890c7c75 100644 --- a/cloudformation/appconfig/aws-appconfig-configurationprofile.go +++ b/cloudformation/appconfig/aws-appconfig-configurationprofile.go @@ -50,6 +50,9 @@ type ConfigurationProfile struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -70,19 +73,21 @@ func (r *ConfigurationProfile) AWSCloudFormationType() string { func (r ConfigurationProfile) MarshalJSON() ([]byte, error) { type Properties ConfigurationProfile return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -91,12 +96,13 @@ func (r ConfigurationProfile) MarshalJSON() ([]byte, error) { func (r *ConfigurationProfile) UnmarshalJSON(b []byte) error { type Properties ConfigurationProfile res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -120,6 +126,9 @@ func (r *ConfigurationProfile) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/appconfig/aws-appconfig-configurationprofile_tags.go b/cloudformation/appconfig/aws-appconfig-configurationprofile_tags.go index 2c3e6f7c36..ecdd79199b 100644 --- a/cloudformation/appconfig/aws-appconfig-configurationprofile_tags.go +++ b/cloudformation/appconfig/aws-appconfig-configurationprofile_tags.go @@ -21,6 +21,9 @@ type ConfigurationProfile_Tags struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appconfig/aws-appconfig-configurationprofile_validators.go b/cloudformation/appconfig/aws-appconfig-configurationprofile_validators.go index 881f7ef59c..ced19b5549 100644 --- a/cloudformation/appconfig/aws-appconfig-configurationprofile_validators.go +++ b/cloudformation/appconfig/aws-appconfig-configurationprofile_validators.go @@ -21,6 +21,9 @@ type ConfigurationProfile_Validators struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appconfig/aws-appconfig-deployment.go b/cloudformation/appconfig/aws-appconfig-deployment.go index b12c6b628d..cf53139c4a 100644 --- a/cloudformation/appconfig/aws-appconfig-deployment.go +++ b/cloudformation/appconfig/aws-appconfig-deployment.go @@ -50,6 +50,9 @@ type Deployment struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -70,19 +73,21 @@ func (r *Deployment) AWSCloudFormationType() string { func (r Deployment) MarshalJSON() ([]byte, error) { type Properties Deployment return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -91,12 +96,13 @@ func (r Deployment) MarshalJSON() ([]byte, error) { func (r *Deployment) UnmarshalJSON(b []byte) error { type Properties Deployment res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -120,6 +126,9 @@ func (r *Deployment) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/appconfig/aws-appconfig-deployment_tags.go b/cloudformation/appconfig/aws-appconfig-deployment_tags.go index ced15cedf2..1a05a968b9 100644 --- a/cloudformation/appconfig/aws-appconfig-deployment_tags.go +++ b/cloudformation/appconfig/aws-appconfig-deployment_tags.go @@ -21,6 +21,9 @@ type Deployment_Tags struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appconfig/aws-appconfig-deploymentstrategy.go b/cloudformation/appconfig/aws-appconfig-deploymentstrategy.go index 5d89e301b7..36cc7f7cae 100644 --- a/cloudformation/appconfig/aws-appconfig-deploymentstrategy.go +++ b/cloudformation/appconfig/aws-appconfig-deploymentstrategy.go @@ -55,6 +55,9 @@ type DeploymentStrategy struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -75,19 +78,21 @@ func (r *DeploymentStrategy) AWSCloudFormationType() string { func (r DeploymentStrategy) MarshalJSON() ([]byte, error) { type Properties DeploymentStrategy return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -96,12 +101,13 @@ func (r DeploymentStrategy) MarshalJSON() ([]byte, error) { func (r *DeploymentStrategy) UnmarshalJSON(b []byte) error { type Properties DeploymentStrategy res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -125,6 +131,9 @@ func (r *DeploymentStrategy) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/appconfig/aws-appconfig-deploymentstrategy_tags.go b/cloudformation/appconfig/aws-appconfig-deploymentstrategy_tags.go index 2c3700fca4..83ee968e5c 100644 --- a/cloudformation/appconfig/aws-appconfig-deploymentstrategy_tags.go +++ b/cloudformation/appconfig/aws-appconfig-deploymentstrategy_tags.go @@ -21,6 +21,9 @@ type DeploymentStrategy_Tags struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appconfig/aws-appconfig-environment.go b/cloudformation/appconfig/aws-appconfig-environment.go index d1d15e60f3..6836036a03 100644 --- a/cloudformation/appconfig/aws-appconfig-environment.go +++ b/cloudformation/appconfig/aws-appconfig-environment.go @@ -40,6 +40,9 @@ type Environment struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -60,19 +63,21 @@ func (r *Environment) AWSCloudFormationType() string { func (r Environment) MarshalJSON() ([]byte, error) { type Properties Environment return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -81,12 +86,13 @@ func (r Environment) MarshalJSON() ([]byte, error) { func (r *Environment) UnmarshalJSON(b []byte) error { type Properties Environment res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -110,6 +116,9 @@ func (r *Environment) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/appconfig/aws-appconfig-environment_monitors.go b/cloudformation/appconfig/aws-appconfig-environment_monitors.go index b3f84686e7..ae8146f99d 100644 --- a/cloudformation/appconfig/aws-appconfig-environment_monitors.go +++ b/cloudformation/appconfig/aws-appconfig-environment_monitors.go @@ -21,6 +21,9 @@ type Environment_Monitors struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appconfig/aws-appconfig-environment_tags.go b/cloudformation/appconfig/aws-appconfig-environment_tags.go index 03d455cf77..57491fe239 100644 --- a/cloudformation/appconfig/aws-appconfig-environment_tags.go +++ b/cloudformation/appconfig/aws-appconfig-environment_tags.go @@ -21,6 +21,9 @@ type Environment_Tags struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appconfig/aws-appconfig-hostedconfigurationversion.go b/cloudformation/appconfig/aws-appconfig-hostedconfigurationversion.go new file mode 100644 index 0000000000..4a436bab01 --- /dev/null +++ b/cloudformation/appconfig/aws-appconfig-hostedconfigurationversion.go @@ -0,0 +1,131 @@ +package appconfig + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// HostedConfigurationVersion AWS CloudFormation Resource (AWS::AppConfig::HostedConfigurationVersion) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-hostedconfigurationversion.html +type HostedConfigurationVersion struct { + + // ApplicationId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-hostedconfigurationversion.html#cfn-appconfig-hostedconfigurationversion-applicationid + ApplicationId string `json:"ApplicationId,omitempty"` + + // ConfigurationProfileId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-hostedconfigurationversion.html#cfn-appconfig-hostedconfigurationversion-configurationprofileid + ConfigurationProfileId string `json:"ConfigurationProfileId,omitempty"` + + // Content AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-hostedconfigurationversion.html#cfn-appconfig-hostedconfigurationversion-content + Content string `json:"Content,omitempty"` + + // ContentType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-hostedconfigurationversion.html#cfn-appconfig-hostedconfigurationversion-contenttype + ContentType string `json:"ContentType,omitempty"` + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-hostedconfigurationversion.html#cfn-appconfig-hostedconfigurationversion-description + Description string `json:"Description,omitempty"` + + // LatestVersionNumber AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-hostedconfigurationversion.html#cfn-appconfig-hostedconfigurationversion-latestversionnumber + LatestVersionNumber float64 `json:"LatestVersionNumber,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *HostedConfigurationVersion) AWSCloudFormationType() string { + return "AWS::AppConfig::HostedConfigurationVersion" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r HostedConfigurationVersion) MarshalJSON() ([]byte, error) { + type Properties HostedConfigurationVersion + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *HostedConfigurationVersion) UnmarshalJSON(b []byte) error { + type Properties HostedConfigurationVersion + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = HostedConfigurationVersion(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalabletarget.go b/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalabletarget.go index 8df047957b..2be78bc94b 100644 --- a/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalabletarget.go +++ b/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalabletarget.go @@ -55,6 +55,9 @@ type ScalableTarget struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -75,19 +78,21 @@ func (r *ScalableTarget) AWSCloudFormationType() string { func (r ScalableTarget) MarshalJSON() ([]byte, error) { type Properties ScalableTarget return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -96,12 +101,13 @@ func (r ScalableTarget) MarshalJSON() ([]byte, error) { func (r *ScalableTarget) UnmarshalJSON(b []byte) error { type Properties ScalableTarget res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -125,6 +131,9 @@ func (r *ScalableTarget) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalabletarget_scalabletargetaction.go b/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalabletarget_scalabletargetaction.go index 13ba4af7af..6123fc4968 100644 --- a/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalabletarget_scalabletargetaction.go +++ b/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalabletarget_scalabletargetaction.go @@ -21,6 +21,9 @@ type ScalableTarget_ScalableTargetAction struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalabletarget_scheduledaction.go b/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalabletarget_scheduledaction.go index 150e369259..139e3b2495 100644 --- a/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalabletarget_scheduledaction.go +++ b/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalabletarget_scheduledaction.go @@ -36,6 +36,9 @@ type ScalableTarget_ScheduledAction struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalabletarget_suspendedstate.go b/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalabletarget_suspendedstate.go index e00fd230b8..6a58ce314c 100644 --- a/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalabletarget_suspendedstate.go +++ b/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalabletarget_suspendedstate.go @@ -26,6 +26,9 @@ type ScalableTarget_SuspendedState struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalingpolicy.go b/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalingpolicy.go index fc03cc62e5..a4d98847e7 100644 --- a/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalingpolicy.go +++ b/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalingpolicy.go @@ -55,6 +55,9 @@ type ScalingPolicy struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -75,19 +78,21 @@ func (r *ScalingPolicy) AWSCloudFormationType() string { func (r ScalingPolicy) MarshalJSON() ([]byte, error) { type Properties ScalingPolicy return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -96,12 +101,13 @@ func (r ScalingPolicy) MarshalJSON() ([]byte, error) { func (r *ScalingPolicy) UnmarshalJSON(b []byte) error { type Properties ScalingPolicy res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -125,6 +131,9 @@ func (r *ScalingPolicy) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalingpolicy_customizedmetricspecification.go b/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalingpolicy_customizedmetricspecification.go index 16608758a8..eadb1e311a 100644 --- a/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalingpolicy_customizedmetricspecification.go +++ b/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalingpolicy_customizedmetricspecification.go @@ -36,6 +36,9 @@ type ScalingPolicy_CustomizedMetricSpecification struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalingpolicy_metricdimension.go b/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalingpolicy_metricdimension.go index 55ba2ba822..d8a0968343 100644 --- a/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalingpolicy_metricdimension.go +++ b/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalingpolicy_metricdimension.go @@ -21,6 +21,9 @@ type ScalingPolicy_MetricDimension struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalingpolicy_predefinedmetricspecification.go b/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalingpolicy_predefinedmetricspecification.go index 0a9aa57d48..acb0cce3fa 100644 --- a/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalingpolicy_predefinedmetricspecification.go +++ b/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalingpolicy_predefinedmetricspecification.go @@ -21,6 +21,9 @@ type ScalingPolicy_PredefinedMetricSpecification struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalingpolicy_stepadjustment.go b/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalingpolicy_stepadjustment.go index 28639a463f..fe156e942f 100644 --- a/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalingpolicy_stepadjustment.go +++ b/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalingpolicy_stepadjustment.go @@ -26,6 +26,9 @@ type ScalingPolicy_StepAdjustment struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalingpolicy_stepscalingpolicyconfiguration.go b/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalingpolicy_stepscalingpolicyconfiguration.go index 53ca2de258..81c71527d2 100644 --- a/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalingpolicy_stepscalingpolicyconfiguration.go +++ b/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalingpolicy_stepscalingpolicyconfiguration.go @@ -36,6 +36,9 @@ type ScalingPolicy_StepScalingPolicyConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalingpolicy_targettrackingscalingpolicyconfiguration.go b/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalingpolicy_targettrackingscalingpolicyconfiguration.go index 60557a2647..8fea65e3f3 100644 --- a/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalingpolicy_targettrackingscalingpolicyconfiguration.go +++ b/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalingpolicy_targettrackingscalingpolicyconfiguration.go @@ -41,6 +41,9 @@ type ScalingPolicy_TargetTrackingScalingPolicyConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-mesh.go b/cloudformation/appmesh/aws-appmesh-mesh.go index 72912aa62e..39a5cbfa96 100644 --- a/cloudformation/appmesh/aws-appmesh-mesh.go +++ b/cloudformation/appmesh/aws-appmesh-mesh.go @@ -31,6 +31,9 @@ type Mesh struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -51,19 +54,21 @@ func (r *Mesh) AWSCloudFormationType() string { func (r Mesh) MarshalJSON() ([]byte, error) { type Properties Mesh return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -72,12 +77,13 @@ func (r Mesh) MarshalJSON() ([]byte, error) { func (r *Mesh) UnmarshalJSON(b []byte) error { type Properties Mesh res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -101,6 +107,9 @@ func (r *Mesh) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/appmesh/aws-appmesh-mesh_egressfilter.go b/cloudformation/appmesh/aws-appmesh-mesh_egressfilter.go index 7ab982ad03..9303ef3935 100644 --- a/cloudformation/appmesh/aws-appmesh-mesh_egressfilter.go +++ b/cloudformation/appmesh/aws-appmesh-mesh_egressfilter.go @@ -16,6 +16,9 @@ type Mesh_EgressFilter struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-mesh_meshspec.go b/cloudformation/appmesh/aws-appmesh-mesh_meshspec.go index 2fd2dc5f8a..477832b03c 100644 --- a/cloudformation/appmesh/aws-appmesh-mesh_meshspec.go +++ b/cloudformation/appmesh/aws-appmesh-mesh_meshspec.go @@ -16,6 +16,9 @@ type Mesh_MeshSpec struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-route.go b/cloudformation/appmesh/aws-appmesh-route.go index 5499920cc5..bf0306b4ff 100644 --- a/cloudformation/appmesh/aws-appmesh-route.go +++ b/cloudformation/appmesh/aws-appmesh-route.go @@ -18,6 +18,11 @@ type Route struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-route.html#cfn-appmesh-route-meshname MeshName string `json:"MeshName,omitempty"` + // MeshOwner AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-route.html#cfn-appmesh-route-meshowner + MeshOwner string `json:"MeshOwner,omitempty"` + // RouteName AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-route.html#cfn-appmesh-route-routename @@ -41,6 +46,9 @@ type Route struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -61,19 +69,21 @@ func (r *Route) AWSCloudFormationType() string { func (r Route) MarshalJSON() ([]byte, error) { type Properties Route return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -82,12 +92,13 @@ func (r Route) MarshalJSON() ([]byte, error) { func (r *Route) UnmarshalJSON(b []byte) error { type Properties Route res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -111,6 +122,9 @@ func (r *Route) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/appmesh/aws-appmesh-route_duration.go b/cloudformation/appmesh/aws-appmesh-route_duration.go index 0545538eeb..8e82b178cf 100644 --- a/cloudformation/appmesh/aws-appmesh-route_duration.go +++ b/cloudformation/appmesh/aws-appmesh-route_duration.go @@ -21,6 +21,9 @@ type Route_Duration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-route_grpcretrypolicy.go b/cloudformation/appmesh/aws-appmesh-route_grpcretrypolicy.go index 2ca1a152d6..ad92b5a443 100644 --- a/cloudformation/appmesh/aws-appmesh-route_grpcretrypolicy.go +++ b/cloudformation/appmesh/aws-appmesh-route_grpcretrypolicy.go @@ -36,6 +36,9 @@ type Route_GrpcRetryPolicy struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-route_grpcroute.go b/cloudformation/appmesh/aws-appmesh-route_grpcroute.go index e36ed7f4f3..46b276ced3 100644 --- a/cloudformation/appmesh/aws-appmesh-route_grpcroute.go +++ b/cloudformation/appmesh/aws-appmesh-route_grpcroute.go @@ -26,6 +26,9 @@ type Route_GrpcRoute struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-route_grpcrouteaction.go b/cloudformation/appmesh/aws-appmesh-route_grpcrouteaction.go index 4aa59b85b9..75e8310e8f 100644 --- a/cloudformation/appmesh/aws-appmesh-route_grpcrouteaction.go +++ b/cloudformation/appmesh/aws-appmesh-route_grpcrouteaction.go @@ -16,6 +16,9 @@ type Route_GrpcRouteAction struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-route_grpcroutematch.go b/cloudformation/appmesh/aws-appmesh-route_grpcroutematch.go index 99936e828d..3cacda3060 100644 --- a/cloudformation/appmesh/aws-appmesh-route_grpcroutematch.go +++ b/cloudformation/appmesh/aws-appmesh-route_grpcroutematch.go @@ -26,6 +26,9 @@ type Route_GrpcRouteMatch struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-route_grpcroutemetadata.go b/cloudformation/appmesh/aws-appmesh-route_grpcroutemetadata.go index 1ec2d284e1..2e0616b920 100644 --- a/cloudformation/appmesh/aws-appmesh-route_grpcroutemetadata.go +++ b/cloudformation/appmesh/aws-appmesh-route_grpcroutemetadata.go @@ -26,6 +26,9 @@ type Route_GrpcRouteMetadata struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-route_grpcroutemetadatamatchmethod.go b/cloudformation/appmesh/aws-appmesh-route_grpcroutemetadatamatchmethod.go index 0db450f74a..b37bdb1cde 100644 --- a/cloudformation/appmesh/aws-appmesh-route_grpcroutemetadatamatchmethod.go +++ b/cloudformation/appmesh/aws-appmesh-route_grpcroutemetadatamatchmethod.go @@ -36,6 +36,9 @@ type Route_GrpcRouteMetadataMatchMethod struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-route_headermatchmethod.go b/cloudformation/appmesh/aws-appmesh-route_headermatchmethod.go index 9b12c97ef2..8b33e5c587 100644 --- a/cloudformation/appmesh/aws-appmesh-route_headermatchmethod.go +++ b/cloudformation/appmesh/aws-appmesh-route_headermatchmethod.go @@ -36,6 +36,9 @@ type Route_HeaderMatchMethod struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-route_httpretrypolicy.go b/cloudformation/appmesh/aws-appmesh-route_httpretrypolicy.go index c717ab080f..3421653ed2 100644 --- a/cloudformation/appmesh/aws-appmesh-route_httpretrypolicy.go +++ b/cloudformation/appmesh/aws-appmesh-route_httpretrypolicy.go @@ -31,6 +31,9 @@ type Route_HttpRetryPolicy struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-route_httproute.go b/cloudformation/appmesh/aws-appmesh-route_httproute.go index 671727de72..4174193c52 100644 --- a/cloudformation/appmesh/aws-appmesh-route_httproute.go +++ b/cloudformation/appmesh/aws-appmesh-route_httproute.go @@ -26,6 +26,9 @@ type Route_HttpRoute struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-route_httprouteaction.go b/cloudformation/appmesh/aws-appmesh-route_httprouteaction.go index 9bfe010838..03e8fda68b 100644 --- a/cloudformation/appmesh/aws-appmesh-route_httprouteaction.go +++ b/cloudformation/appmesh/aws-appmesh-route_httprouteaction.go @@ -16,6 +16,9 @@ type Route_HttpRouteAction struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-route_httprouteheader.go b/cloudformation/appmesh/aws-appmesh-route_httprouteheader.go index 442ecf9535..9edf2cab71 100644 --- a/cloudformation/appmesh/aws-appmesh-route_httprouteheader.go +++ b/cloudformation/appmesh/aws-appmesh-route_httprouteheader.go @@ -26,6 +26,9 @@ type Route_HttpRouteHeader struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-route_httproutematch.go b/cloudformation/appmesh/aws-appmesh-route_httproutematch.go index 0095dc7bcb..3ac2a633af 100644 --- a/cloudformation/appmesh/aws-appmesh-route_httproutematch.go +++ b/cloudformation/appmesh/aws-appmesh-route_httproutematch.go @@ -31,6 +31,9 @@ type Route_HttpRouteMatch struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-route_matchrange.go b/cloudformation/appmesh/aws-appmesh-route_matchrange.go index 50f6524acf..23e74e4c78 100644 --- a/cloudformation/appmesh/aws-appmesh-route_matchrange.go +++ b/cloudformation/appmesh/aws-appmesh-route_matchrange.go @@ -21,6 +21,9 @@ type Route_MatchRange struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-route_routespec.go b/cloudformation/appmesh/aws-appmesh-route_routespec.go index 0ef7b4d6f2..1107c41255 100644 --- a/cloudformation/appmesh/aws-appmesh-route_routespec.go +++ b/cloudformation/appmesh/aws-appmesh-route_routespec.go @@ -36,6 +36,9 @@ type Route_RouteSpec struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-route_tcproute.go b/cloudformation/appmesh/aws-appmesh-route_tcproute.go index 7ba27a0a68..bace3c6c79 100644 --- a/cloudformation/appmesh/aws-appmesh-route_tcproute.go +++ b/cloudformation/appmesh/aws-appmesh-route_tcproute.go @@ -16,6 +16,9 @@ type Route_TcpRoute struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-route_tcprouteaction.go b/cloudformation/appmesh/aws-appmesh-route_tcprouteaction.go index b5a9f7c560..5d4e8a73c4 100644 --- a/cloudformation/appmesh/aws-appmesh-route_tcprouteaction.go +++ b/cloudformation/appmesh/aws-appmesh-route_tcprouteaction.go @@ -16,6 +16,9 @@ type Route_TcpRouteAction struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-route_weightedtarget.go b/cloudformation/appmesh/aws-appmesh-route_weightedtarget.go index e8dd13b2d8..9f7a224e22 100644 --- a/cloudformation/appmesh/aws-appmesh-route_weightedtarget.go +++ b/cloudformation/appmesh/aws-appmesh-route_weightedtarget.go @@ -21,6 +21,9 @@ type Route_WeightedTarget struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode.go b/cloudformation/appmesh/aws-appmesh-virtualnode.go index 7f6a8ddea6..06d96857ef 100644 --- a/cloudformation/appmesh/aws-appmesh-virtualnode.go +++ b/cloudformation/appmesh/aws-appmesh-virtualnode.go @@ -18,6 +18,11 @@ type VirtualNode struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualnode.html#cfn-appmesh-virtualnode-meshname MeshName string `json:"MeshName,omitempty"` + // MeshOwner AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualnode.html#cfn-appmesh-virtualnode-meshowner + MeshOwner string `json:"MeshOwner,omitempty"` + // Spec AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualnode.html#cfn-appmesh-virtualnode-spec @@ -36,6 +41,9 @@ type VirtualNode struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -56,19 +64,21 @@ func (r *VirtualNode) AWSCloudFormationType() string { func (r VirtualNode) MarshalJSON() ([]byte, error) { type Properties VirtualNode return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -77,12 +87,13 @@ func (r VirtualNode) MarshalJSON() ([]byte, error) { func (r *VirtualNode) UnmarshalJSON(b []byte) error { type Properties VirtualNode res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -106,6 +117,9 @@ func (r *VirtualNode) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_accesslog.go b/cloudformation/appmesh/aws-appmesh-virtualnode_accesslog.go index dfa2b55314..38cb29eed8 100644 --- a/cloudformation/appmesh/aws-appmesh-virtualnode_accesslog.go +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_accesslog.go @@ -16,6 +16,9 @@ type VirtualNode_AccessLog struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_awscloudmapinstanceattribute.go b/cloudformation/appmesh/aws-appmesh-virtualnode_awscloudmapinstanceattribute.go index 3cf41b0b37..6e32a83600 100644 --- a/cloudformation/appmesh/aws-appmesh-virtualnode_awscloudmapinstanceattribute.go +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_awscloudmapinstanceattribute.go @@ -21,6 +21,9 @@ type VirtualNode_AwsCloudMapInstanceAttribute struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_awscloudmapservicediscovery.go b/cloudformation/appmesh/aws-appmesh-virtualnode_awscloudmapservicediscovery.go index bd1bb9011b..58a51b4f1e 100644 --- a/cloudformation/appmesh/aws-appmesh-virtualnode_awscloudmapservicediscovery.go +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_awscloudmapservicediscovery.go @@ -26,6 +26,9 @@ type VirtualNode_AwsCloudMapServiceDiscovery struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_backend.go b/cloudformation/appmesh/aws-appmesh-virtualnode_backend.go index 58826415ea..bb342c49a7 100644 --- a/cloudformation/appmesh/aws-appmesh-virtualnode_backend.go +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_backend.go @@ -16,6 +16,9 @@ type VirtualNode_Backend struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_backenddefaults.go b/cloudformation/appmesh/aws-appmesh-virtualnode_backenddefaults.go new file mode 100644 index 0000000000..a53a416844 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_backenddefaults.go @@ -0,0 +1,35 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualNode_BackendDefaults AWS CloudFormation Resource (AWS::AppMesh::VirtualNode.BackendDefaults) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-backenddefaults.html +type VirtualNode_BackendDefaults struct { + + // ClientPolicy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-backenddefaults.html#cfn-appmesh-virtualnode-backenddefaults-clientpolicy + ClientPolicy *VirtualNode_ClientPolicy `json:"ClientPolicy,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualNode_BackendDefaults) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualNode.BackendDefaults" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_clientpolicy.go b/cloudformation/appmesh/aws-appmesh-virtualnode_clientpolicy.go new file mode 100644 index 0000000000..69cbf96d5f --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_clientpolicy.go @@ -0,0 +1,35 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualNode_ClientPolicy AWS CloudFormation Resource (AWS::AppMesh::VirtualNode.ClientPolicy) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-clientpolicy.html +type VirtualNode_ClientPolicy struct { + + // TLS AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-clientpolicy.html#cfn-appmesh-virtualnode-clientpolicy-tls + TLS *VirtualNode_ClientPolicyTls `json:"TLS,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualNode_ClientPolicy) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualNode.ClientPolicy" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_clientpolicytls.go b/cloudformation/appmesh/aws-appmesh-virtualnode_clientpolicytls.go new file mode 100644 index 0000000000..87371b5528 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_clientpolicytls.go @@ -0,0 +1,45 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualNode_ClientPolicyTls AWS CloudFormation Resource (AWS::AppMesh::VirtualNode.ClientPolicyTls) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-clientpolicytls.html +type VirtualNode_ClientPolicyTls struct { + + // Enforce AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-clientpolicytls.html#cfn-appmesh-virtualnode-clientpolicytls-enforce + Enforce bool `json:"Enforce,omitempty"` + + // Ports AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-clientpolicytls.html#cfn-appmesh-virtualnode-clientpolicytls-ports + Ports []int `json:"Ports,omitempty"` + + // Validation AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-clientpolicytls.html#cfn-appmesh-virtualnode-clientpolicytls-validation + Validation *VirtualNode_TlsValidationContext `json:"Validation,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualNode_ClientPolicyTls) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualNode.ClientPolicyTls" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_dnsservicediscovery.go b/cloudformation/appmesh/aws-appmesh-virtualnode_dnsservicediscovery.go index 14e8e1cc47..0d5dc4fac1 100644 --- a/cloudformation/appmesh/aws-appmesh-virtualnode_dnsservicediscovery.go +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_dnsservicediscovery.go @@ -16,6 +16,9 @@ type VirtualNode_DnsServiceDiscovery struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_fileaccesslog.go b/cloudformation/appmesh/aws-appmesh-virtualnode_fileaccesslog.go index 69b51e270b..cdd2eeb731 100644 --- a/cloudformation/appmesh/aws-appmesh-virtualnode_fileaccesslog.go +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_fileaccesslog.go @@ -16,6 +16,9 @@ type VirtualNode_FileAccessLog struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_healthcheck.go b/cloudformation/appmesh/aws-appmesh-virtualnode_healthcheck.go index 06af5167cb..66a9841f77 100644 --- a/cloudformation/appmesh/aws-appmesh-virtualnode_healthcheck.go +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_healthcheck.go @@ -46,6 +46,9 @@ type VirtualNode_HealthCheck struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_listener.go b/cloudformation/appmesh/aws-appmesh-virtualnode_listener.go index 47b38e62bd..c9d1b47a05 100644 --- a/cloudformation/appmesh/aws-appmesh-virtualnode_listener.go +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_listener.go @@ -18,9 +18,17 @@ type VirtualNode_Listener struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listener.html#cfn-appmesh-virtualnode-listener-portmapping PortMapping *VirtualNode_PortMapping `json:"PortMapping,omitempty"` + // TLS AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listener.html#cfn-appmesh-virtualnode-listener-tls + TLS *VirtualNode_ListenerTls `json:"TLS,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_listenertls.go b/cloudformation/appmesh/aws-appmesh-virtualnode_listenertls.go new file mode 100644 index 0000000000..1f9502fbb5 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_listenertls.go @@ -0,0 +1,40 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualNode_ListenerTls AWS CloudFormation Resource (AWS::AppMesh::VirtualNode.ListenerTls) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertls.html +type VirtualNode_ListenerTls struct { + + // Certificate AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertls.html#cfn-appmesh-virtualnode-listenertls-certificate + Certificate *VirtualNode_ListenerTlsCertificate `json:"Certificate,omitempty"` + + // Mode AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertls.html#cfn-appmesh-virtualnode-listenertls-mode + Mode string `json:"Mode,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualNode_ListenerTls) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualNode.ListenerTls" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_listenertlsacmcertificate.go b/cloudformation/appmesh/aws-appmesh-virtualnode_listenertlsacmcertificate.go new file mode 100644 index 0000000000..49be66f37d --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_listenertlsacmcertificate.go @@ -0,0 +1,35 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualNode_ListenerTlsAcmCertificate AWS CloudFormation Resource (AWS::AppMesh::VirtualNode.ListenerTlsAcmCertificate) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlsacmcertificate.html +type VirtualNode_ListenerTlsAcmCertificate struct { + + // CertificateArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlsacmcertificate.html#cfn-appmesh-virtualnode-listenertlsacmcertificate-certificatearn + CertificateArn string `json:"CertificateArn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualNode_ListenerTlsAcmCertificate) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualNode.ListenerTlsAcmCertificate" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_listenertlscertificate.go b/cloudformation/appmesh/aws-appmesh-virtualnode_listenertlscertificate.go new file mode 100644 index 0000000000..d407dc9cf6 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_listenertlscertificate.go @@ -0,0 +1,40 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualNode_ListenerTlsCertificate AWS CloudFormation Resource (AWS::AppMesh::VirtualNode.ListenerTlsCertificate) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlscertificate.html +type VirtualNode_ListenerTlsCertificate struct { + + // ACM AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlscertificate.html#cfn-appmesh-virtualnode-listenertlscertificate-acm + ACM *VirtualNode_ListenerTlsAcmCertificate `json:"ACM,omitempty"` + + // File AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlscertificate.html#cfn-appmesh-virtualnode-listenertlscertificate-file + File *VirtualNode_ListenerTlsFileCertificate `json:"File,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualNode_ListenerTlsCertificate) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualNode.ListenerTlsCertificate" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_listenertlsfilecertificate.go b/cloudformation/appmesh/aws-appmesh-virtualnode_listenertlsfilecertificate.go new file mode 100644 index 0000000000..52636a6ee1 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_listenertlsfilecertificate.go @@ -0,0 +1,40 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualNode_ListenerTlsFileCertificate AWS CloudFormation Resource (AWS::AppMesh::VirtualNode.ListenerTlsFileCertificate) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlsfilecertificate.html +type VirtualNode_ListenerTlsFileCertificate struct { + + // CertificateChain AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlsfilecertificate.html#cfn-appmesh-virtualnode-listenertlsfilecertificate-certificatechain + CertificateChain string `json:"CertificateChain,omitempty"` + + // PrivateKey AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlsfilecertificate.html#cfn-appmesh-virtualnode-listenertlsfilecertificate-privatekey + PrivateKey string `json:"PrivateKey,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualNode_ListenerTlsFileCertificate) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualNode.ListenerTlsFileCertificate" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_logging.go b/cloudformation/appmesh/aws-appmesh-virtualnode_logging.go index 99186ad6c5..9d7f1af4ac 100644 --- a/cloudformation/appmesh/aws-appmesh-virtualnode_logging.go +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_logging.go @@ -16,6 +16,9 @@ type VirtualNode_Logging struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_portmapping.go b/cloudformation/appmesh/aws-appmesh-virtualnode_portmapping.go index 33a943458c..680ee0be3c 100644 --- a/cloudformation/appmesh/aws-appmesh-virtualnode_portmapping.go +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_portmapping.go @@ -21,6 +21,9 @@ type VirtualNode_PortMapping struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_servicediscovery.go b/cloudformation/appmesh/aws-appmesh-virtualnode_servicediscovery.go index 196e749436..44333b4ab4 100644 --- a/cloudformation/appmesh/aws-appmesh-virtualnode_servicediscovery.go +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_servicediscovery.go @@ -21,6 +21,9 @@ type VirtualNode_ServiceDiscovery struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_tlsvalidationcontext.go b/cloudformation/appmesh/aws-appmesh-virtualnode_tlsvalidationcontext.go new file mode 100644 index 0000000000..d6ac8febba --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_tlsvalidationcontext.go @@ -0,0 +1,35 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualNode_TlsValidationContext AWS CloudFormation Resource (AWS::AppMesh::VirtualNode.TlsValidationContext) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontext.html +type VirtualNode_TlsValidationContext struct { + + // Trust AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontext.html#cfn-appmesh-virtualnode-tlsvalidationcontext-trust + Trust *VirtualNode_TlsValidationContextTrust `json:"Trust,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualNode_TlsValidationContext) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualNode.TlsValidationContext" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_tlsvalidationcontextacmtrust.go b/cloudformation/appmesh/aws-appmesh-virtualnode_tlsvalidationcontextacmtrust.go new file mode 100644 index 0000000000..35adf0ab15 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_tlsvalidationcontextacmtrust.go @@ -0,0 +1,35 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualNode_TlsValidationContextAcmTrust AWS CloudFormation Resource (AWS::AppMesh::VirtualNode.TlsValidationContextAcmTrust) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontextacmtrust.html +type VirtualNode_TlsValidationContextAcmTrust struct { + + // CertificateAuthorityArns AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontextacmtrust.html#cfn-appmesh-virtualnode-tlsvalidationcontextacmtrust-certificateauthorityarns + CertificateAuthorityArns []string `json:"CertificateAuthorityArns,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualNode_TlsValidationContextAcmTrust) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualNode.TlsValidationContextAcmTrust" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_tlsvalidationcontextfiletrust.go b/cloudformation/appmesh/aws-appmesh-virtualnode_tlsvalidationcontextfiletrust.go new file mode 100644 index 0000000000..e50af2c06d --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_tlsvalidationcontextfiletrust.go @@ -0,0 +1,35 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualNode_TlsValidationContextFileTrust AWS CloudFormation Resource (AWS::AppMesh::VirtualNode.TlsValidationContextFileTrust) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontextfiletrust.html +type VirtualNode_TlsValidationContextFileTrust struct { + + // CertificateChain AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontextfiletrust.html#cfn-appmesh-virtualnode-tlsvalidationcontextfiletrust-certificatechain + CertificateChain string `json:"CertificateChain,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualNode_TlsValidationContextFileTrust) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualNode.TlsValidationContextFileTrust" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_tlsvalidationcontexttrust.go b/cloudformation/appmesh/aws-appmesh-virtualnode_tlsvalidationcontexttrust.go new file mode 100644 index 0000000000..e8f83b4d3c --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_tlsvalidationcontexttrust.go @@ -0,0 +1,40 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualNode_TlsValidationContextTrust AWS CloudFormation Resource (AWS::AppMesh::VirtualNode.TlsValidationContextTrust) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontexttrust.html +type VirtualNode_TlsValidationContextTrust struct { + + // ACM AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontexttrust.html#cfn-appmesh-virtualnode-tlsvalidationcontexttrust-acm + ACM *VirtualNode_TlsValidationContextAcmTrust `json:"ACM,omitempty"` + + // File AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontexttrust.html#cfn-appmesh-virtualnode-tlsvalidationcontexttrust-file + File *VirtualNode_TlsValidationContextFileTrust `json:"File,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualNode_TlsValidationContextTrust) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualNode.TlsValidationContextTrust" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_virtualnodespec.go b/cloudformation/appmesh/aws-appmesh-virtualnode_virtualnodespec.go index 8a0a1c1589..2ec7d83591 100644 --- a/cloudformation/appmesh/aws-appmesh-virtualnode_virtualnodespec.go +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_virtualnodespec.go @@ -8,6 +8,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodespec.html type VirtualNode_VirtualNodeSpec struct { + // BackendDefaults AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodespec.html#cfn-appmesh-virtualnode-virtualnodespec-backenddefaults + BackendDefaults *VirtualNode_BackendDefaults `json:"BackendDefaults,omitempty"` + // Backends AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodespec.html#cfn-appmesh-virtualnode-virtualnodespec-backends @@ -31,6 +36,9 @@ type VirtualNode_VirtualNodeSpec struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_virtualservicebackend.go b/cloudformation/appmesh/aws-appmesh-virtualnode_virtualservicebackend.go index 8dbc6c2572..1b53164673 100644 --- a/cloudformation/appmesh/aws-appmesh-virtualnode_virtualservicebackend.go +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_virtualservicebackend.go @@ -8,6 +8,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualservicebackend.html type VirtualNode_VirtualServiceBackend struct { + // ClientPolicy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualservicebackend.html#cfn-appmesh-virtualnode-virtualservicebackend-clientpolicy + ClientPolicy *VirtualNode_ClientPolicy `json:"ClientPolicy,omitempty"` + // VirtualServiceName AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualservicebackend.html#cfn-appmesh-virtualnode-virtualservicebackend-virtualservicename @@ -16,6 +21,9 @@ type VirtualNode_VirtualServiceBackend struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-virtualrouter.go b/cloudformation/appmesh/aws-appmesh-virtualrouter.go index baf75ae2de..68b6008a30 100644 --- a/cloudformation/appmesh/aws-appmesh-virtualrouter.go +++ b/cloudformation/appmesh/aws-appmesh-virtualrouter.go @@ -18,6 +18,11 @@ type VirtualRouter struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualrouter.html#cfn-appmesh-virtualrouter-meshname MeshName string `json:"MeshName,omitempty"` + // MeshOwner AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualrouter.html#cfn-appmesh-virtualrouter-meshowner + MeshOwner string `json:"MeshOwner,omitempty"` + // Spec AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualrouter.html#cfn-appmesh-virtualrouter-spec @@ -36,6 +41,9 @@ type VirtualRouter struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -56,19 +64,21 @@ func (r *VirtualRouter) AWSCloudFormationType() string { func (r VirtualRouter) MarshalJSON() ([]byte, error) { type Properties VirtualRouter return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -77,12 +87,13 @@ func (r VirtualRouter) MarshalJSON() ([]byte, error) { func (r *VirtualRouter) UnmarshalJSON(b []byte) error { type Properties VirtualRouter res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -106,6 +117,9 @@ func (r *VirtualRouter) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/appmesh/aws-appmesh-virtualrouter_portmapping.go b/cloudformation/appmesh/aws-appmesh-virtualrouter_portmapping.go index 98f59b81c3..4c6af662a4 100644 --- a/cloudformation/appmesh/aws-appmesh-virtualrouter_portmapping.go +++ b/cloudformation/appmesh/aws-appmesh-virtualrouter_portmapping.go @@ -21,6 +21,9 @@ type VirtualRouter_PortMapping struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-virtualrouter_virtualrouterlistener.go b/cloudformation/appmesh/aws-appmesh-virtualrouter_virtualrouterlistener.go index 64c858fc9b..c927c6ed24 100644 --- a/cloudformation/appmesh/aws-appmesh-virtualrouter_virtualrouterlistener.go +++ b/cloudformation/appmesh/aws-appmesh-virtualrouter_virtualrouterlistener.go @@ -16,6 +16,9 @@ type VirtualRouter_VirtualRouterListener struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-virtualrouter_virtualrouterspec.go b/cloudformation/appmesh/aws-appmesh-virtualrouter_virtualrouterspec.go index 48e9cab7fa..5215651796 100644 --- a/cloudformation/appmesh/aws-appmesh-virtualrouter_virtualrouterspec.go +++ b/cloudformation/appmesh/aws-appmesh-virtualrouter_virtualrouterspec.go @@ -16,6 +16,9 @@ type VirtualRouter_VirtualRouterSpec struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-virtualservice.go b/cloudformation/appmesh/aws-appmesh-virtualservice.go index e6b4dc320a..61f3c397bb 100644 --- a/cloudformation/appmesh/aws-appmesh-virtualservice.go +++ b/cloudformation/appmesh/aws-appmesh-virtualservice.go @@ -18,6 +18,11 @@ type VirtualService struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualservice.html#cfn-appmesh-virtualservice-meshname MeshName string `json:"MeshName,omitempty"` + // MeshOwner AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualservice.html#cfn-appmesh-virtualservice-meshowner + MeshOwner string `json:"MeshOwner,omitempty"` + // Spec AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualservice.html#cfn-appmesh-virtualservice-spec @@ -36,6 +41,9 @@ type VirtualService struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -56,19 +64,21 @@ func (r *VirtualService) AWSCloudFormationType() string { func (r VirtualService) MarshalJSON() ([]byte, error) { type Properties VirtualService return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -77,12 +87,13 @@ func (r VirtualService) MarshalJSON() ([]byte, error) { func (r *VirtualService) UnmarshalJSON(b []byte) error { type Properties VirtualService res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -106,6 +117,9 @@ func (r *VirtualService) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/appmesh/aws-appmesh-virtualservice_virtualnodeserviceprovider.go b/cloudformation/appmesh/aws-appmesh-virtualservice_virtualnodeserviceprovider.go index 1a6502b32d..60fda7ecc5 100644 --- a/cloudformation/appmesh/aws-appmesh-virtualservice_virtualnodeserviceprovider.go +++ b/cloudformation/appmesh/aws-appmesh-virtualservice_virtualnodeserviceprovider.go @@ -16,6 +16,9 @@ type VirtualService_VirtualNodeServiceProvider struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-virtualservice_virtualrouterserviceprovider.go b/cloudformation/appmesh/aws-appmesh-virtualservice_virtualrouterserviceprovider.go index 8b65a9ba2b..8add59aa38 100644 --- a/cloudformation/appmesh/aws-appmesh-virtualservice_virtualrouterserviceprovider.go +++ b/cloudformation/appmesh/aws-appmesh-virtualservice_virtualrouterserviceprovider.go @@ -16,6 +16,9 @@ type VirtualService_VirtualRouterServiceProvider struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-virtualservice_virtualserviceprovider.go b/cloudformation/appmesh/aws-appmesh-virtualservice_virtualserviceprovider.go index f044205c73..b73ae7c5d6 100644 --- a/cloudformation/appmesh/aws-appmesh-virtualservice_virtualserviceprovider.go +++ b/cloudformation/appmesh/aws-appmesh-virtualservice_virtualserviceprovider.go @@ -21,6 +21,9 @@ type VirtualService_VirtualServiceProvider struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-virtualservice_virtualservicespec.go b/cloudformation/appmesh/aws-appmesh-virtualservice_virtualservicespec.go index 90caf8c015..6fdd120d09 100644 --- a/cloudformation/appmesh/aws-appmesh-virtualservice_virtualservicespec.go +++ b/cloudformation/appmesh/aws-appmesh-virtualservice_virtualservicespec.go @@ -16,6 +16,9 @@ type VirtualService_VirtualServiceSpec struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appstream/aws-appstream-directoryconfig.go b/cloudformation/appstream/aws-appstream-directoryconfig.go index 4270b4c94d..cd2eae0253 100644 --- a/cloudformation/appstream/aws-appstream-directoryconfig.go +++ b/cloudformation/appstream/aws-appstream-directoryconfig.go @@ -30,6 +30,9 @@ type DirectoryConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *DirectoryConfig) AWSCloudFormationType() string { func (r DirectoryConfig) MarshalJSON() ([]byte, error) { type Properties DirectoryConfig return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r DirectoryConfig) MarshalJSON() ([]byte, error) { func (r *DirectoryConfig) UnmarshalJSON(b []byte) error { type Properties DirectoryConfig res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *DirectoryConfig) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/appstream/aws-appstream-directoryconfig_serviceaccountcredentials.go b/cloudformation/appstream/aws-appstream-directoryconfig_serviceaccountcredentials.go index 3ea9cf17df..d6d3030a82 100644 --- a/cloudformation/appstream/aws-appstream-directoryconfig_serviceaccountcredentials.go +++ b/cloudformation/appstream/aws-appstream-directoryconfig_serviceaccountcredentials.go @@ -21,6 +21,9 @@ type DirectoryConfig_ServiceAccountCredentials struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appstream/aws-appstream-fleet.go b/cloudformation/appstream/aws-appstream-fleet.go index 15a6568aab..cb40048bd7 100644 --- a/cloudformation/appstream/aws-appstream-fleet.go +++ b/cloudformation/appstream/aws-appstream-fleet.go @@ -91,6 +91,9 @@ type Fleet struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -111,19 +114,21 @@ func (r *Fleet) AWSCloudFormationType() string { func (r Fleet) MarshalJSON() ([]byte, error) { type Properties Fleet return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -132,12 +137,13 @@ func (r Fleet) MarshalJSON() ([]byte, error) { func (r *Fleet) UnmarshalJSON(b []byte) error { type Properties Fleet res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -161,6 +167,9 @@ func (r *Fleet) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/appstream/aws-appstream-fleet_computecapacity.go b/cloudformation/appstream/aws-appstream-fleet_computecapacity.go index ff6d670b00..0c207168de 100644 --- a/cloudformation/appstream/aws-appstream-fleet_computecapacity.go +++ b/cloudformation/appstream/aws-appstream-fleet_computecapacity.go @@ -16,6 +16,9 @@ type Fleet_ComputeCapacity struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appstream/aws-appstream-fleet_domainjoininfo.go b/cloudformation/appstream/aws-appstream-fleet_domainjoininfo.go index 5eb7c88bf1..022eb38ac2 100644 --- a/cloudformation/appstream/aws-appstream-fleet_domainjoininfo.go +++ b/cloudformation/appstream/aws-appstream-fleet_domainjoininfo.go @@ -21,6 +21,9 @@ type Fleet_DomainJoinInfo struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appstream/aws-appstream-fleet_vpcconfig.go b/cloudformation/appstream/aws-appstream-fleet_vpcconfig.go index 319f10f234..b2a1cdec63 100644 --- a/cloudformation/appstream/aws-appstream-fleet_vpcconfig.go +++ b/cloudformation/appstream/aws-appstream-fleet_vpcconfig.go @@ -21,6 +21,9 @@ type Fleet_VpcConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appstream/aws-appstream-imagebuilder.go b/cloudformation/appstream/aws-appstream-imagebuilder.go index acbde98f8f..ed71833000 100644 --- a/cloudformation/appstream/aws-appstream-imagebuilder.go +++ b/cloudformation/appstream/aws-appstream-imagebuilder.go @@ -76,6 +76,9 @@ type ImageBuilder struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -96,19 +99,21 @@ func (r *ImageBuilder) AWSCloudFormationType() string { func (r ImageBuilder) MarshalJSON() ([]byte, error) { type Properties ImageBuilder return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -117,12 +122,13 @@ func (r ImageBuilder) MarshalJSON() ([]byte, error) { func (r *ImageBuilder) UnmarshalJSON(b []byte) error { type Properties ImageBuilder res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -146,6 +152,9 @@ func (r *ImageBuilder) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/appstream/aws-appstream-imagebuilder_accessendpoint.go b/cloudformation/appstream/aws-appstream-imagebuilder_accessendpoint.go index 17855e7342..9d77eff0b5 100644 --- a/cloudformation/appstream/aws-appstream-imagebuilder_accessendpoint.go +++ b/cloudformation/appstream/aws-appstream-imagebuilder_accessendpoint.go @@ -21,6 +21,9 @@ type ImageBuilder_AccessEndpoint struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appstream/aws-appstream-imagebuilder_domainjoininfo.go b/cloudformation/appstream/aws-appstream-imagebuilder_domainjoininfo.go index 9f001c8532..6ab32e503c 100644 --- a/cloudformation/appstream/aws-appstream-imagebuilder_domainjoininfo.go +++ b/cloudformation/appstream/aws-appstream-imagebuilder_domainjoininfo.go @@ -21,6 +21,9 @@ type ImageBuilder_DomainJoinInfo struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appstream/aws-appstream-imagebuilder_vpcconfig.go b/cloudformation/appstream/aws-appstream-imagebuilder_vpcconfig.go index b718bbfee0..d5277bdca9 100644 --- a/cloudformation/appstream/aws-appstream-imagebuilder_vpcconfig.go +++ b/cloudformation/appstream/aws-appstream-imagebuilder_vpcconfig.go @@ -21,6 +21,9 @@ type ImageBuilder_VpcConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appstream/aws-appstream-stack.go b/cloudformation/appstream/aws-appstream-stack.go index 0f2ad7b698..cfd2eb1993 100644 --- a/cloudformation/appstream/aws-appstream-stack.go +++ b/cloudformation/appstream/aws-appstream-stack.go @@ -81,6 +81,9 @@ type Stack struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -101,19 +104,21 @@ func (r *Stack) AWSCloudFormationType() string { func (r Stack) MarshalJSON() ([]byte, error) { type Properties Stack return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -122,12 +127,13 @@ func (r Stack) MarshalJSON() ([]byte, error) { func (r *Stack) UnmarshalJSON(b []byte) error { type Properties Stack res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -151,6 +157,9 @@ func (r *Stack) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/appstream/aws-appstream-stack_accessendpoint.go b/cloudformation/appstream/aws-appstream-stack_accessendpoint.go index db38b460a9..ddb49552f9 100644 --- a/cloudformation/appstream/aws-appstream-stack_accessendpoint.go +++ b/cloudformation/appstream/aws-appstream-stack_accessendpoint.go @@ -21,6 +21,9 @@ type Stack_AccessEndpoint struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appstream/aws-appstream-stack_applicationsettings.go b/cloudformation/appstream/aws-appstream-stack_applicationsettings.go index 27cd85295f..9f6c714f73 100644 --- a/cloudformation/appstream/aws-appstream-stack_applicationsettings.go +++ b/cloudformation/appstream/aws-appstream-stack_applicationsettings.go @@ -21,6 +21,9 @@ type Stack_ApplicationSettings struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appstream/aws-appstream-stack_storageconnector.go b/cloudformation/appstream/aws-appstream-stack_storageconnector.go index 7cb9d94dd5..f992bbcdec 100644 --- a/cloudformation/appstream/aws-appstream-stack_storageconnector.go +++ b/cloudformation/appstream/aws-appstream-stack_storageconnector.go @@ -26,6 +26,9 @@ type Stack_StorageConnector struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appstream/aws-appstream-stack_usersetting.go b/cloudformation/appstream/aws-appstream-stack_usersetting.go index 8ee601470b..606cb8c8c9 100644 --- a/cloudformation/appstream/aws-appstream-stack_usersetting.go +++ b/cloudformation/appstream/aws-appstream-stack_usersetting.go @@ -21,6 +21,9 @@ type Stack_UserSetting struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appstream/aws-appstream-stackfleetassociation.go b/cloudformation/appstream/aws-appstream-stackfleetassociation.go index 8a20dc6635..c6149c2a4f 100644 --- a/cloudformation/appstream/aws-appstream-stackfleetassociation.go +++ b/cloudformation/appstream/aws-appstream-stackfleetassociation.go @@ -25,6 +25,9 @@ type StackFleetAssociation struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *StackFleetAssociation) AWSCloudFormationType() string { func (r StackFleetAssociation) MarshalJSON() ([]byte, error) { type Properties StackFleetAssociation return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r StackFleetAssociation) MarshalJSON() ([]byte, error) { func (r *StackFleetAssociation) UnmarshalJSON(b []byte) error { type Properties StackFleetAssociation res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *StackFleetAssociation) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/appstream/aws-appstream-stackuserassociation.go b/cloudformation/appstream/aws-appstream-stackuserassociation.go index deeda70467..1c32482198 100644 --- a/cloudformation/appstream/aws-appstream-stackuserassociation.go +++ b/cloudformation/appstream/aws-appstream-stackuserassociation.go @@ -35,6 +35,9 @@ type StackUserAssociation struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -55,19 +58,21 @@ func (r *StackUserAssociation) AWSCloudFormationType() string { func (r StackUserAssociation) MarshalJSON() ([]byte, error) { type Properties StackUserAssociation return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -76,12 +81,13 @@ func (r StackUserAssociation) MarshalJSON() ([]byte, error) { func (r *StackUserAssociation) UnmarshalJSON(b []byte) error { type Properties StackUserAssociation res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -105,6 +111,9 @@ func (r *StackUserAssociation) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/appstream/aws-appstream-user.go b/cloudformation/appstream/aws-appstream-user.go index fd66f0d594..082ef4e9a9 100644 --- a/cloudformation/appstream/aws-appstream-user.go +++ b/cloudformation/appstream/aws-appstream-user.go @@ -40,6 +40,9 @@ type User struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -60,19 +63,21 @@ func (r *User) AWSCloudFormationType() string { func (r User) MarshalJSON() ([]byte, error) { type Properties User return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -81,12 +86,13 @@ func (r User) MarshalJSON() ([]byte, error) { func (r *User) UnmarshalJSON(b []byte) error { type Properties User res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -110,6 +116,9 @@ func (r *User) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/appsync/aws-appsync-apicache.go b/cloudformation/appsync/aws-appsync-apicache.go index 827b7d6b77..edbec5bb0d 100644 --- a/cloudformation/appsync/aws-appsync-apicache.go +++ b/cloudformation/appsync/aws-appsync-apicache.go @@ -45,6 +45,9 @@ type ApiCache struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -65,19 +68,21 @@ func (r *ApiCache) AWSCloudFormationType() string { func (r ApiCache) MarshalJSON() ([]byte, error) { type Properties ApiCache return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -86,12 +91,13 @@ func (r ApiCache) MarshalJSON() ([]byte, error) { func (r *ApiCache) UnmarshalJSON(b []byte) error { type Properties ApiCache res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -115,6 +121,9 @@ func (r *ApiCache) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/appsync/aws-appsync-apikey.go b/cloudformation/appsync/aws-appsync-apikey.go index 77c22ac610..b01cac4cc1 100644 --- a/cloudformation/appsync/aws-appsync-apikey.go +++ b/cloudformation/appsync/aws-appsync-apikey.go @@ -30,6 +30,9 @@ type ApiKey struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *ApiKey) AWSCloudFormationType() string { func (r ApiKey) MarshalJSON() ([]byte, error) { type Properties ApiKey return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r ApiKey) MarshalJSON() ([]byte, error) { func (r *ApiKey) UnmarshalJSON(b []byte) error { type Properties ApiKey res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *ApiKey) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/appsync/aws-appsync-datasource.go b/cloudformation/appsync/aws-appsync-datasource.go index 14052949be..eca1a3ba5a 100644 --- a/cloudformation/appsync/aws-appsync-datasource.go +++ b/cloudformation/appsync/aws-appsync-datasource.go @@ -65,6 +65,9 @@ type DataSource struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -85,19 +88,21 @@ func (r *DataSource) AWSCloudFormationType() string { func (r DataSource) MarshalJSON() ([]byte, error) { type Properties DataSource return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -106,12 +111,13 @@ func (r DataSource) MarshalJSON() ([]byte, error) { func (r *DataSource) UnmarshalJSON(b []byte) error { type Properties DataSource res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -135,6 +141,9 @@ func (r *DataSource) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/appsync/aws-appsync-datasource_authorizationconfig.go b/cloudformation/appsync/aws-appsync-datasource_authorizationconfig.go index 3204c86125..3268d64a8b 100644 --- a/cloudformation/appsync/aws-appsync-datasource_authorizationconfig.go +++ b/cloudformation/appsync/aws-appsync-datasource_authorizationconfig.go @@ -21,6 +21,9 @@ type DataSource_AuthorizationConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appsync/aws-appsync-datasource_awsiamconfig.go b/cloudformation/appsync/aws-appsync-datasource_awsiamconfig.go index bf71de3748..400ac0a4ae 100644 --- a/cloudformation/appsync/aws-appsync-datasource_awsiamconfig.go +++ b/cloudformation/appsync/aws-appsync-datasource_awsiamconfig.go @@ -21,6 +21,9 @@ type DataSource_AwsIamConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appsync/aws-appsync-datasource_deltasyncconfig.go b/cloudformation/appsync/aws-appsync-datasource_deltasyncconfig.go index e9b8ae8b7f..7a790908d3 100644 --- a/cloudformation/appsync/aws-appsync-datasource_deltasyncconfig.go +++ b/cloudformation/appsync/aws-appsync-datasource_deltasyncconfig.go @@ -26,6 +26,9 @@ type DataSource_DeltaSyncConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appsync/aws-appsync-datasource_dynamodbconfig.go b/cloudformation/appsync/aws-appsync-datasource_dynamodbconfig.go index fd4e2fea80..be4763aa46 100644 --- a/cloudformation/appsync/aws-appsync-datasource_dynamodbconfig.go +++ b/cloudformation/appsync/aws-appsync-datasource_dynamodbconfig.go @@ -36,6 +36,9 @@ type DataSource_DynamoDBConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appsync/aws-appsync-datasource_elasticsearchconfig.go b/cloudformation/appsync/aws-appsync-datasource_elasticsearchconfig.go index 6128712140..2fd782f08b 100644 --- a/cloudformation/appsync/aws-appsync-datasource_elasticsearchconfig.go +++ b/cloudformation/appsync/aws-appsync-datasource_elasticsearchconfig.go @@ -21,6 +21,9 @@ type DataSource_ElasticsearchConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appsync/aws-appsync-datasource_httpconfig.go b/cloudformation/appsync/aws-appsync-datasource_httpconfig.go index 00240b6524..6dad89d762 100644 --- a/cloudformation/appsync/aws-appsync-datasource_httpconfig.go +++ b/cloudformation/appsync/aws-appsync-datasource_httpconfig.go @@ -21,6 +21,9 @@ type DataSource_HttpConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appsync/aws-appsync-datasource_lambdaconfig.go b/cloudformation/appsync/aws-appsync-datasource_lambdaconfig.go index d37516c60f..648005a12b 100644 --- a/cloudformation/appsync/aws-appsync-datasource_lambdaconfig.go +++ b/cloudformation/appsync/aws-appsync-datasource_lambdaconfig.go @@ -16,6 +16,9 @@ type DataSource_LambdaConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appsync/aws-appsync-datasource_rdshttpendpointconfig.go b/cloudformation/appsync/aws-appsync-datasource_rdshttpendpointconfig.go index 0310c7dc24..7180d7fc43 100644 --- a/cloudformation/appsync/aws-appsync-datasource_rdshttpendpointconfig.go +++ b/cloudformation/appsync/aws-appsync-datasource_rdshttpendpointconfig.go @@ -36,6 +36,9 @@ type DataSource_RdsHttpEndpointConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appsync/aws-appsync-datasource_relationaldatabaseconfig.go b/cloudformation/appsync/aws-appsync-datasource_relationaldatabaseconfig.go index 063b6346a7..08e35d6ae1 100644 --- a/cloudformation/appsync/aws-appsync-datasource_relationaldatabaseconfig.go +++ b/cloudformation/appsync/aws-appsync-datasource_relationaldatabaseconfig.go @@ -21,6 +21,9 @@ type DataSource_RelationalDatabaseConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appsync/aws-appsync-functionconfiguration.go b/cloudformation/appsync/aws-appsync-functionconfiguration.go index 95130bb4b1..e4383610cc 100644 --- a/cloudformation/appsync/aws-appsync-functionconfiguration.go +++ b/cloudformation/appsync/aws-appsync-functionconfiguration.go @@ -60,6 +60,9 @@ type FunctionConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -80,19 +83,21 @@ func (r *FunctionConfiguration) AWSCloudFormationType() string { func (r FunctionConfiguration) MarshalJSON() ([]byte, error) { type Properties FunctionConfiguration return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -101,12 +106,13 @@ func (r FunctionConfiguration) MarshalJSON() ([]byte, error) { func (r *FunctionConfiguration) UnmarshalJSON(b []byte) error { type Properties FunctionConfiguration res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -130,6 +136,9 @@ func (r *FunctionConfiguration) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/appsync/aws-appsync-graphqlapi.go b/cloudformation/appsync/aws-appsync-graphqlapi.go index 89234b879c..ebb0f91b05 100644 --- a/cloudformation/appsync/aws-appsync-graphqlapi.go +++ b/cloudformation/appsync/aws-appsync-graphqlapi.go @@ -55,6 +55,9 @@ type GraphQLApi struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -75,19 +78,21 @@ func (r *GraphQLApi) AWSCloudFormationType() string { func (r GraphQLApi) MarshalJSON() ([]byte, error) { type Properties GraphQLApi return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -96,12 +101,13 @@ func (r GraphQLApi) MarshalJSON() ([]byte, error) { func (r *GraphQLApi) UnmarshalJSON(b []byte) error { type Properties GraphQLApi res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -125,6 +131,9 @@ func (r *GraphQLApi) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/appsync/aws-appsync-graphqlapi_additionalauthenticationprovider.go b/cloudformation/appsync/aws-appsync-graphqlapi_additionalauthenticationprovider.go index 084ba767a3..73ec6a2fd8 100644 --- a/cloudformation/appsync/aws-appsync-graphqlapi_additionalauthenticationprovider.go +++ b/cloudformation/appsync/aws-appsync-graphqlapi_additionalauthenticationprovider.go @@ -26,6 +26,9 @@ type GraphQLApi_AdditionalAuthenticationProvider struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appsync/aws-appsync-graphqlapi_additionalauthenticationproviders.go b/cloudformation/appsync/aws-appsync-graphqlapi_additionalauthenticationproviders.go index 257adf110f..2ad0edcce0 100644 --- a/cloudformation/appsync/aws-appsync-graphqlapi_additionalauthenticationproviders.go +++ b/cloudformation/appsync/aws-appsync-graphqlapi_additionalauthenticationproviders.go @@ -11,6 +11,9 @@ type GraphQLApi_AdditionalAuthenticationProviders struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appsync/aws-appsync-graphqlapi_cognitouserpoolconfig.go b/cloudformation/appsync/aws-appsync-graphqlapi_cognitouserpoolconfig.go index 68d23ee8a3..4156797b6e 100644 --- a/cloudformation/appsync/aws-appsync-graphqlapi_cognitouserpoolconfig.go +++ b/cloudformation/appsync/aws-appsync-graphqlapi_cognitouserpoolconfig.go @@ -26,6 +26,9 @@ type GraphQLApi_CognitoUserPoolConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appsync/aws-appsync-graphqlapi_logconfig.go b/cloudformation/appsync/aws-appsync-graphqlapi_logconfig.go index 0d7235aa51..b8b1a58eac 100644 --- a/cloudformation/appsync/aws-appsync-graphqlapi_logconfig.go +++ b/cloudformation/appsync/aws-appsync-graphqlapi_logconfig.go @@ -26,6 +26,9 @@ type GraphQLApi_LogConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appsync/aws-appsync-graphqlapi_openidconnectconfig.go b/cloudformation/appsync/aws-appsync-graphqlapi_openidconnectconfig.go index 526f419ad6..33104a62d5 100644 --- a/cloudformation/appsync/aws-appsync-graphqlapi_openidconnectconfig.go +++ b/cloudformation/appsync/aws-appsync-graphqlapi_openidconnectconfig.go @@ -31,6 +31,9 @@ type GraphQLApi_OpenIDConnectConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appsync/aws-appsync-graphqlapi_tags.go b/cloudformation/appsync/aws-appsync-graphqlapi_tags.go index 82054374d2..a76a56fc4c 100644 --- a/cloudformation/appsync/aws-appsync-graphqlapi_tags.go +++ b/cloudformation/appsync/aws-appsync-graphqlapi_tags.go @@ -11,6 +11,9 @@ type GraphQLApi_Tags struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appsync/aws-appsync-graphqlapi_userpoolconfig.go b/cloudformation/appsync/aws-appsync-graphqlapi_userpoolconfig.go index 31446da9de..3d797bbc45 100644 --- a/cloudformation/appsync/aws-appsync-graphqlapi_userpoolconfig.go +++ b/cloudformation/appsync/aws-appsync-graphqlapi_userpoolconfig.go @@ -31,6 +31,9 @@ type GraphQLApi_UserPoolConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appsync/aws-appsync-graphqlschema.go b/cloudformation/appsync/aws-appsync-graphqlschema.go index ff69ba0b67..80053e6fcb 100644 --- a/cloudformation/appsync/aws-appsync-graphqlschema.go +++ b/cloudformation/appsync/aws-appsync-graphqlschema.go @@ -30,6 +30,9 @@ type GraphQLSchema struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *GraphQLSchema) AWSCloudFormationType() string { func (r GraphQLSchema) MarshalJSON() ([]byte, error) { type Properties GraphQLSchema return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r GraphQLSchema) MarshalJSON() ([]byte, error) { func (r *GraphQLSchema) UnmarshalJSON(b []byte) error { type Properties GraphQLSchema res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *GraphQLSchema) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/appsync/aws-appsync-resolver.go b/cloudformation/appsync/aws-appsync-resolver.go index fda52add9c..560c82ae36 100644 --- a/cloudformation/appsync/aws-appsync-resolver.go +++ b/cloudformation/appsync/aws-appsync-resolver.go @@ -75,6 +75,9 @@ type Resolver struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -95,19 +98,21 @@ func (r *Resolver) AWSCloudFormationType() string { func (r Resolver) MarshalJSON() ([]byte, error) { type Properties Resolver return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -116,12 +121,13 @@ func (r Resolver) MarshalJSON() ([]byte, error) { func (r *Resolver) UnmarshalJSON(b []byte) error { type Properties Resolver res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -145,6 +151,9 @@ func (r *Resolver) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/appsync/aws-appsync-resolver_cachingconfig.go b/cloudformation/appsync/aws-appsync-resolver_cachingconfig.go index 1ffa7b4ed8..8ad536e534 100644 --- a/cloudformation/appsync/aws-appsync-resolver_cachingconfig.go +++ b/cloudformation/appsync/aws-appsync-resolver_cachingconfig.go @@ -21,6 +21,9 @@ type Resolver_CachingConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appsync/aws-appsync-resolver_lambdaconflicthandlerconfig.go b/cloudformation/appsync/aws-appsync-resolver_lambdaconflicthandlerconfig.go index 898086f213..803f6f1843 100644 --- a/cloudformation/appsync/aws-appsync-resolver_lambdaconflicthandlerconfig.go +++ b/cloudformation/appsync/aws-appsync-resolver_lambdaconflicthandlerconfig.go @@ -16,6 +16,9 @@ type Resolver_LambdaConflictHandlerConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appsync/aws-appsync-resolver_pipelineconfig.go b/cloudformation/appsync/aws-appsync-resolver_pipelineconfig.go index c8c379332e..fbeac434a6 100644 --- a/cloudformation/appsync/aws-appsync-resolver_pipelineconfig.go +++ b/cloudformation/appsync/aws-appsync-resolver_pipelineconfig.go @@ -16,6 +16,9 @@ type Resolver_PipelineConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/appsync/aws-appsync-resolver_syncconfig.go b/cloudformation/appsync/aws-appsync-resolver_syncconfig.go index 989ce3937c..92b09ab5cd 100644 --- a/cloudformation/appsync/aws-appsync-resolver_syncconfig.go +++ b/cloudformation/appsync/aws-appsync-resolver_syncconfig.go @@ -26,6 +26,9 @@ type Resolver_SyncConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ask/alexa-ask-skill.go b/cloudformation/ask/alexa-ask-skill.go index 2308bba76d..4b718e4ea7 100644 --- a/cloudformation/ask/alexa-ask-skill.go +++ b/cloudformation/ask/alexa-ask-skill.go @@ -30,6 +30,9 @@ type Skill struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *Skill) AWSCloudFormationType() string { func (r Skill) MarshalJSON() ([]byte, error) { type Properties Skill return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r Skill) MarshalJSON() ([]byte, error) { func (r *Skill) UnmarshalJSON(b []byte) error { type Properties Skill res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *Skill) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ask/alexa-ask-skill_authenticationconfiguration.go b/cloudformation/ask/alexa-ask-skill_authenticationconfiguration.go index d23dc81523..f07d70e1a3 100644 --- a/cloudformation/ask/alexa-ask-skill_authenticationconfiguration.go +++ b/cloudformation/ask/alexa-ask-skill_authenticationconfiguration.go @@ -26,6 +26,9 @@ type Skill_AuthenticationConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ask/alexa-ask-skill_overrides.go b/cloudformation/ask/alexa-ask-skill_overrides.go index a5260e69ac..74a4db586f 100644 --- a/cloudformation/ask/alexa-ask-skill_overrides.go +++ b/cloudformation/ask/alexa-ask-skill_overrides.go @@ -16,6 +16,9 @@ type Skill_Overrides struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ask/alexa-ask-skill_skillpackage.go b/cloudformation/ask/alexa-ask-skill_skillpackage.go index 177e81d72f..ea8a9d7d2b 100644 --- a/cloudformation/ask/alexa-ask-skill_skillpackage.go +++ b/cloudformation/ask/alexa-ask-skill_skillpackage.go @@ -36,6 +36,9 @@ type Skill_SkillPackage struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/athena/aws-athena-namedquery.go b/cloudformation/athena/aws-athena-namedquery.go index 09546fbc82..cbd9e558c1 100644 --- a/cloudformation/athena/aws-athena-namedquery.go +++ b/cloudformation/athena/aws-athena-namedquery.go @@ -35,6 +35,9 @@ type NamedQuery struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -55,19 +58,21 @@ func (r *NamedQuery) AWSCloudFormationType() string { func (r NamedQuery) MarshalJSON() ([]byte, error) { type Properties NamedQuery return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -76,12 +81,13 @@ func (r NamedQuery) MarshalJSON() ([]byte, error) { func (r *NamedQuery) UnmarshalJSON(b []byte) error { type Properties NamedQuery res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -105,6 +111,9 @@ func (r *NamedQuery) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/athena/aws-athena-workgroup.go b/cloudformation/athena/aws-athena-workgroup.go new file mode 100644 index 0000000000..e0020b8fa0 --- /dev/null +++ b/cloudformation/athena/aws-athena-workgroup.go @@ -0,0 +1,136 @@ +package athena + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// WorkGroup AWS CloudFormation Resource (AWS::Athena::WorkGroup) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-workgroup.html +type WorkGroup struct { + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-workgroup.html#cfn-athena-workgroup-description + Description string `json:"Description,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-workgroup.html#cfn-athena-workgroup-name + Name string `json:"Name,omitempty"` + + // RecursiveDeleteOption AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-workgroup.html#cfn-athena-workgroup-recursivedeleteoption + RecursiveDeleteOption bool `json:"RecursiveDeleteOption,omitempty"` + + // State AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-workgroup.html#cfn-athena-workgroup-state + State string `json:"State,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-workgroup.html#cfn-athena-workgroup-tags + Tags *WorkGroup_Tags `json:"Tags,omitempty"` + + // WorkGroupConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-workgroup.html#cfn-athena-workgroup-workgroupconfiguration + WorkGroupConfiguration *WorkGroup_WorkGroupConfiguration `json:"WorkGroupConfiguration,omitempty"` + + // WorkGroupConfigurationUpdates AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-workgroup.html#cfn-athena-workgroup-workgroupconfigurationupdates + WorkGroupConfigurationUpdates *WorkGroup_WorkGroupConfigurationUpdates `json:"WorkGroupConfigurationUpdates,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *WorkGroup) AWSCloudFormationType() string { + return "AWS::Athena::WorkGroup" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r WorkGroup) MarshalJSON() ([]byte, error) { + type Properties WorkGroup + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *WorkGroup) UnmarshalJSON(b []byte) error { + type Properties WorkGroup + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = WorkGroup(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/athena/aws-athena-workgroup_encryptionconfiguration.go b/cloudformation/athena/aws-athena-workgroup_encryptionconfiguration.go new file mode 100644 index 0000000000..22064e28ab --- /dev/null +++ b/cloudformation/athena/aws-athena-workgroup_encryptionconfiguration.go @@ -0,0 +1,40 @@ +package athena + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// WorkGroup_EncryptionConfiguration AWS CloudFormation Resource (AWS::Athena::WorkGroup.EncryptionConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-encryptionconfiguration.html +type WorkGroup_EncryptionConfiguration struct { + + // EncryptionOption AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-encryptionconfiguration.html#cfn-athena-workgroup-encryptionconfiguration-encryptionoption + EncryptionOption string `json:"EncryptionOption,omitempty"` + + // KmsKey AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-encryptionconfiguration.html#cfn-athena-workgroup-encryptionconfiguration-kmskey + KmsKey string `json:"KmsKey,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *WorkGroup_EncryptionConfiguration) AWSCloudFormationType() string { + return "AWS::Athena::WorkGroup.EncryptionConfiguration" +} diff --git a/cloudformation/athena/aws-athena-workgroup_resultconfiguration.go b/cloudformation/athena/aws-athena-workgroup_resultconfiguration.go new file mode 100644 index 0000000000..6cf3c669b3 --- /dev/null +++ b/cloudformation/athena/aws-athena-workgroup_resultconfiguration.go @@ -0,0 +1,40 @@ +package athena + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// WorkGroup_ResultConfiguration AWS CloudFormation Resource (AWS::Athena::WorkGroup.ResultConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-resultconfiguration.html +type WorkGroup_ResultConfiguration struct { + + // EncryptionConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-resultconfiguration.html#cfn-athena-workgroup-resultconfiguration-encryptionconfiguration + EncryptionConfiguration *WorkGroup_EncryptionConfiguration `json:"EncryptionConfiguration,omitempty"` + + // OutputLocation AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-resultconfiguration.html#cfn-athena-workgroup-resultconfiguration-outputlocation + OutputLocation string `json:"OutputLocation,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *WorkGroup_ResultConfiguration) AWSCloudFormationType() string { + return "AWS::Athena::WorkGroup.ResultConfiguration" +} diff --git a/cloudformation/athena/aws-athena-workgroup_resultconfigurationupdates.go b/cloudformation/athena/aws-athena-workgroup_resultconfigurationupdates.go new file mode 100644 index 0000000000..9e44b2fb2e --- /dev/null +++ b/cloudformation/athena/aws-athena-workgroup_resultconfigurationupdates.go @@ -0,0 +1,50 @@ +package athena + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// WorkGroup_ResultConfigurationUpdates AWS CloudFormation Resource (AWS::Athena::WorkGroup.ResultConfigurationUpdates) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-resultconfigurationupdates.html +type WorkGroup_ResultConfigurationUpdates struct { + + // EncryptionConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-resultconfigurationupdates.html#cfn-athena-workgroup-resultconfigurationupdates-encryptionconfiguration + EncryptionConfiguration *WorkGroup_EncryptionConfiguration `json:"EncryptionConfiguration,omitempty"` + + // OutputLocation AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-resultconfigurationupdates.html#cfn-athena-workgroup-resultconfigurationupdates-outputlocation + OutputLocation string `json:"OutputLocation,omitempty"` + + // RemoveEncryptionConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-resultconfigurationupdates.html#cfn-athena-workgroup-resultconfigurationupdates-removeencryptionconfiguration + RemoveEncryptionConfiguration bool `json:"RemoveEncryptionConfiguration,omitempty"` + + // RemoveOutputLocation AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-resultconfigurationupdates.html#cfn-athena-workgroup-resultconfigurationupdates-removeoutputlocation + RemoveOutputLocation bool `json:"RemoveOutputLocation,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *WorkGroup_ResultConfigurationUpdates) AWSCloudFormationType() string { + return "AWS::Athena::WorkGroup.ResultConfigurationUpdates" +} diff --git a/cloudformation/athena/aws-athena-workgroup_tags.go b/cloudformation/athena/aws-athena-workgroup_tags.go new file mode 100644 index 0000000000..9a72235aae --- /dev/null +++ b/cloudformation/athena/aws-athena-workgroup_tags.go @@ -0,0 +1,36 @@ +package athena + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// WorkGroup_Tags AWS CloudFormation Resource (AWS::Athena::WorkGroup.Tags) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-tags.html +type WorkGroup_Tags struct { + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-tags.html#cfn-athena-workgroup-tags-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *WorkGroup_Tags) AWSCloudFormationType() string { + return "AWS::Athena::WorkGroup.Tags" +} diff --git a/cloudformation/athena/aws-athena-workgroup_workgroupconfiguration.go b/cloudformation/athena/aws-athena-workgroup_workgroupconfiguration.go new file mode 100644 index 0000000000..268048c43f --- /dev/null +++ b/cloudformation/athena/aws-athena-workgroup_workgroupconfiguration.go @@ -0,0 +1,55 @@ +package athena + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// WorkGroup_WorkGroupConfiguration AWS CloudFormation Resource (AWS::Athena::WorkGroup.WorkGroupConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfiguration.html +type WorkGroup_WorkGroupConfiguration struct { + + // BytesScannedCutoffPerQuery AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfiguration.html#cfn-athena-workgroup-workgroupconfiguration-bytesscannedcutoffperquery + BytesScannedCutoffPerQuery int `json:"BytesScannedCutoffPerQuery,omitempty"` + + // EnforceWorkGroupConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfiguration.html#cfn-athena-workgroup-workgroupconfiguration-enforceworkgroupconfiguration + EnforceWorkGroupConfiguration bool `json:"EnforceWorkGroupConfiguration,omitempty"` + + // PublishCloudWatchMetricsEnabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfiguration.html#cfn-athena-workgroup-workgroupconfiguration-publishcloudwatchmetricsenabled + PublishCloudWatchMetricsEnabled bool `json:"PublishCloudWatchMetricsEnabled,omitempty"` + + // RequesterPaysEnabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfiguration.html#cfn-athena-workgroup-workgroupconfiguration-requesterpaysenabled + RequesterPaysEnabled bool `json:"RequesterPaysEnabled,omitempty"` + + // ResultConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfiguration.html#cfn-athena-workgroup-workgroupconfiguration-resultconfiguration + ResultConfiguration *WorkGroup_ResultConfiguration `json:"ResultConfiguration,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *WorkGroup_WorkGroupConfiguration) AWSCloudFormationType() string { + return "AWS::Athena::WorkGroup.WorkGroupConfiguration" +} diff --git a/cloudformation/athena/aws-athena-workgroup_workgroupconfigurationupdates.go b/cloudformation/athena/aws-athena-workgroup_workgroupconfigurationupdates.go new file mode 100644 index 0000000000..247a9175ed --- /dev/null +++ b/cloudformation/athena/aws-athena-workgroup_workgroupconfigurationupdates.go @@ -0,0 +1,60 @@ +package athena + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// WorkGroup_WorkGroupConfigurationUpdates AWS CloudFormation Resource (AWS::Athena::WorkGroup.WorkGroupConfigurationUpdates) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfigurationupdates.html +type WorkGroup_WorkGroupConfigurationUpdates struct { + + // BytesScannedCutoffPerQuery AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfigurationupdates.html#cfn-athena-workgroup-workgroupconfigurationupdates-bytesscannedcutoffperquery + BytesScannedCutoffPerQuery int `json:"BytesScannedCutoffPerQuery,omitempty"` + + // EnforceWorkGroupConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfigurationupdates.html#cfn-athena-workgroup-workgroupconfigurationupdates-enforceworkgroupconfiguration + EnforceWorkGroupConfiguration bool `json:"EnforceWorkGroupConfiguration,omitempty"` + + // PublishCloudWatchMetricsEnabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfigurationupdates.html#cfn-athena-workgroup-workgroupconfigurationupdates-publishcloudwatchmetricsenabled + PublishCloudWatchMetricsEnabled bool `json:"PublishCloudWatchMetricsEnabled,omitempty"` + + // RemoveBytesScannedCutoffPerQuery AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfigurationupdates.html#cfn-athena-workgroup-workgroupconfigurationupdates-removebytesscannedcutoffperquery + RemoveBytesScannedCutoffPerQuery bool `json:"RemoveBytesScannedCutoffPerQuery,omitempty"` + + // RequesterPaysEnabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfigurationupdates.html#cfn-athena-workgroup-workgroupconfigurationupdates-requesterpaysenabled + RequesterPaysEnabled bool `json:"RequesterPaysEnabled,omitempty"` + + // ResultConfigurationUpdates AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfigurationupdates.html#cfn-athena-workgroup-workgroupconfigurationupdates-resultconfigurationupdates + ResultConfigurationUpdates *WorkGroup_ResultConfigurationUpdates `json:"ResultConfigurationUpdates,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *WorkGroup_WorkGroupConfigurationUpdates) AWSCloudFormationType() string { + return "AWS::Athena::WorkGroup.WorkGroupConfigurationUpdates" +} diff --git a/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup.go b/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup.go index c0aa91141f..0bcc07edbc 100644 --- a/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup.go +++ b/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup.go @@ -67,6 +67,11 @@ type AutoScalingGroup struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-loadbalancernames LoadBalancerNames []string `json:"LoadBalancerNames,omitempty"` + // MaxInstanceLifetime AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-maxinstancelifetime + MaxInstanceLifetime int `json:"MaxInstanceLifetime,omitempty"` + // MaxSize AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-maxsize @@ -131,6 +136,9 @@ type AutoScalingGroup struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -151,23 +159,25 @@ func (r *AutoScalingGroup) AWSCloudFormationType() string { func (r AutoScalingGroup) MarshalJSON() ([]byte, error) { type Properties AutoScalingGroup return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` - UpdatePolicy *policies.UpdatePolicy `json:"UpdatePolicy,omitempty"` - CreationPolicy *policies.CreationPolicy `json:"CreationPolicy,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + UpdatePolicy *policies.UpdatePolicy `json:"UpdatePolicy,omitempty"` + CreationPolicy *policies.CreationPolicy `json:"CreationPolicy,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, - UpdatePolicy: r.AWSCloudFormationUpdatePolicy, - CreationPolicy: r.AWSCloudFormationCreationPolicy, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + UpdatePolicy: r.AWSCloudFormationUpdatePolicy, + CreationPolicy: r.AWSCloudFormationCreationPolicy, }) } @@ -176,12 +186,13 @@ func (r AutoScalingGroup) MarshalJSON() ([]byte, error) { func (r *AutoScalingGroup) UnmarshalJSON(b []byte) error { type Properties AutoScalingGroup res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -205,6 +216,9 @@ func (r *AutoScalingGroup) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_instancesdistribution.go b/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_instancesdistribution.go index 4e1791558b..a8627c7d0e 100644 --- a/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_instancesdistribution.go +++ b/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_instancesdistribution.go @@ -41,6 +41,9 @@ type AutoScalingGroup_InstancesDistribution struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_launchtemplate.go b/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_launchtemplate.go index 527efebcd2..95c1d67be8 100644 --- a/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_launchtemplate.go +++ b/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_launchtemplate.go @@ -21,6 +21,9 @@ type AutoScalingGroup_LaunchTemplate struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_launchtemplateoverrides.go b/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_launchtemplateoverrides.go index c6ae8d9518..e0e3d36a6a 100644 --- a/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_launchtemplateoverrides.go +++ b/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_launchtemplateoverrides.go @@ -21,6 +21,9 @@ type AutoScalingGroup_LaunchTemplateOverrides struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_launchtemplatespecification.go b/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_launchtemplatespecification.go index 89b39358f6..9e50e96f2d 100644 --- a/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_launchtemplatespecification.go +++ b/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_launchtemplatespecification.go @@ -26,6 +26,9 @@ type AutoScalingGroup_LaunchTemplateSpecification struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_lifecyclehookspecification.go b/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_lifecyclehookspecification.go index 66e2a34f4d..f2d8ed0271 100644 --- a/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_lifecyclehookspecification.go +++ b/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_lifecyclehookspecification.go @@ -46,6 +46,9 @@ type AutoScalingGroup_LifecycleHookSpecification struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_metricscollection.go b/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_metricscollection.go index 1ae9aee4cb..2d985187fb 100644 --- a/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_metricscollection.go +++ b/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_metricscollection.go @@ -21,6 +21,9 @@ type AutoScalingGroup_MetricsCollection struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_mixedinstancespolicy.go b/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_mixedinstancespolicy.go index 6778fc942a..025f9f45a7 100644 --- a/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_mixedinstancespolicy.go +++ b/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_mixedinstancespolicy.go @@ -21,6 +21,9 @@ type AutoScalingGroup_MixedInstancesPolicy struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_notificationconfiguration.go b/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_notificationconfiguration.go index 4c5012ee97..bf600dbe4e 100644 --- a/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_notificationconfiguration.go +++ b/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_notificationconfiguration.go @@ -21,6 +21,9 @@ type AutoScalingGroup_NotificationConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_tagproperty.go b/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_tagproperty.go index 037569ba60..752b086f09 100644 --- a/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_tagproperty.go +++ b/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_tagproperty.go @@ -26,6 +26,9 @@ type AutoScalingGroup_TagProperty struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/autoscaling/aws-autoscaling-launchconfiguration.go b/cloudformation/autoscaling/aws-autoscaling-launchconfiguration.go index 6ce99af70b..97775cf9fd 100644 --- a/cloudformation/autoscaling/aws-autoscaling-launchconfiguration.go +++ b/cloudformation/autoscaling/aws-autoscaling-launchconfiguration.go @@ -105,6 +105,9 @@ type LaunchConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -125,19 +128,21 @@ func (r *LaunchConfiguration) AWSCloudFormationType() string { func (r LaunchConfiguration) MarshalJSON() ([]byte, error) { type Properties LaunchConfiguration return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -146,12 +151,13 @@ func (r LaunchConfiguration) MarshalJSON() ([]byte, error) { func (r *LaunchConfiguration) UnmarshalJSON(b []byte) error { type Properties LaunchConfiguration res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -175,6 +181,9 @@ func (r *LaunchConfiguration) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/autoscaling/aws-autoscaling-launchconfiguration_blockdevice.go b/cloudformation/autoscaling/aws-autoscaling-launchconfiguration_blockdevice.go index c097a0fef2..4afa935922 100644 --- a/cloudformation/autoscaling/aws-autoscaling-launchconfiguration_blockdevice.go +++ b/cloudformation/autoscaling/aws-autoscaling-launchconfiguration_blockdevice.go @@ -41,6 +41,9 @@ type LaunchConfiguration_BlockDevice struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/autoscaling/aws-autoscaling-launchconfiguration_blockdevicemapping.go b/cloudformation/autoscaling/aws-autoscaling-launchconfiguration_blockdevicemapping.go index b43622f3da..126e8dcc43 100644 --- a/cloudformation/autoscaling/aws-autoscaling-launchconfiguration_blockdevicemapping.go +++ b/cloudformation/autoscaling/aws-autoscaling-launchconfiguration_blockdevicemapping.go @@ -31,6 +31,9 @@ type LaunchConfiguration_BlockDeviceMapping struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/autoscaling/aws-autoscaling-lifecyclehook.go b/cloudformation/autoscaling/aws-autoscaling-lifecyclehook.go index 0b509b9426..577b376441 100644 --- a/cloudformation/autoscaling/aws-autoscaling-lifecyclehook.go +++ b/cloudformation/autoscaling/aws-autoscaling-lifecyclehook.go @@ -55,6 +55,9 @@ type LifecycleHook struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -75,19 +78,21 @@ func (r *LifecycleHook) AWSCloudFormationType() string { func (r LifecycleHook) MarshalJSON() ([]byte, error) { type Properties LifecycleHook return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -96,12 +101,13 @@ func (r LifecycleHook) MarshalJSON() ([]byte, error) { func (r *LifecycleHook) UnmarshalJSON(b []byte) error { type Properties LifecycleHook res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -125,6 +131,9 @@ func (r *LifecycleHook) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/autoscaling/aws-autoscaling-scalingpolicy.go b/cloudformation/autoscaling/aws-autoscaling-scalingpolicy.go index dcf1f97070..c0be99fa1b 100644 --- a/cloudformation/autoscaling/aws-autoscaling-scalingpolicy.go +++ b/cloudformation/autoscaling/aws-autoscaling-scalingpolicy.go @@ -65,6 +65,9 @@ type ScalingPolicy struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -85,19 +88,21 @@ func (r *ScalingPolicy) AWSCloudFormationType() string { func (r ScalingPolicy) MarshalJSON() ([]byte, error) { type Properties ScalingPolicy return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -106,12 +111,13 @@ func (r ScalingPolicy) MarshalJSON() ([]byte, error) { func (r *ScalingPolicy) UnmarshalJSON(b []byte) error { type Properties ScalingPolicy res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -135,6 +141,9 @@ func (r *ScalingPolicy) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/autoscaling/aws-autoscaling-scalingpolicy_customizedmetricspecification.go b/cloudformation/autoscaling/aws-autoscaling-scalingpolicy_customizedmetricspecification.go index 43c80de46d..3eaef060c5 100644 --- a/cloudformation/autoscaling/aws-autoscaling-scalingpolicy_customizedmetricspecification.go +++ b/cloudformation/autoscaling/aws-autoscaling-scalingpolicy_customizedmetricspecification.go @@ -36,6 +36,9 @@ type ScalingPolicy_CustomizedMetricSpecification struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/autoscaling/aws-autoscaling-scalingpolicy_metricdimension.go b/cloudformation/autoscaling/aws-autoscaling-scalingpolicy_metricdimension.go index 839051ecdb..76fdc02609 100644 --- a/cloudformation/autoscaling/aws-autoscaling-scalingpolicy_metricdimension.go +++ b/cloudformation/autoscaling/aws-autoscaling-scalingpolicy_metricdimension.go @@ -21,6 +21,9 @@ type ScalingPolicy_MetricDimension struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/autoscaling/aws-autoscaling-scalingpolicy_predefinedmetricspecification.go b/cloudformation/autoscaling/aws-autoscaling-scalingpolicy_predefinedmetricspecification.go index a67760a6ff..4e31e500cb 100644 --- a/cloudformation/autoscaling/aws-autoscaling-scalingpolicy_predefinedmetricspecification.go +++ b/cloudformation/autoscaling/aws-autoscaling-scalingpolicy_predefinedmetricspecification.go @@ -21,6 +21,9 @@ type ScalingPolicy_PredefinedMetricSpecification struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/autoscaling/aws-autoscaling-scalingpolicy_stepadjustment.go b/cloudformation/autoscaling/aws-autoscaling-scalingpolicy_stepadjustment.go index c3b27f697c..7350ad206f 100644 --- a/cloudformation/autoscaling/aws-autoscaling-scalingpolicy_stepadjustment.go +++ b/cloudformation/autoscaling/aws-autoscaling-scalingpolicy_stepadjustment.go @@ -26,6 +26,9 @@ type ScalingPolicy_StepAdjustment struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/autoscaling/aws-autoscaling-scalingpolicy_targettrackingconfiguration.go b/cloudformation/autoscaling/aws-autoscaling-scalingpolicy_targettrackingconfiguration.go index 1cac353d93..6e4269982b 100644 --- a/cloudformation/autoscaling/aws-autoscaling-scalingpolicy_targettrackingconfiguration.go +++ b/cloudformation/autoscaling/aws-autoscaling-scalingpolicy_targettrackingconfiguration.go @@ -31,6 +31,9 @@ type ScalingPolicy_TargetTrackingConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/autoscaling/aws-autoscaling-scheduledaction.go b/cloudformation/autoscaling/aws-autoscaling-scheduledaction.go index 52f4ccf7b7..988948db51 100644 --- a/cloudformation/autoscaling/aws-autoscaling-scheduledaction.go +++ b/cloudformation/autoscaling/aws-autoscaling-scheduledaction.go @@ -50,6 +50,9 @@ type ScheduledAction struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -70,19 +73,21 @@ func (r *ScheduledAction) AWSCloudFormationType() string { func (r ScheduledAction) MarshalJSON() ([]byte, error) { type Properties ScheduledAction return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -91,12 +96,13 @@ func (r ScheduledAction) MarshalJSON() ([]byte, error) { func (r *ScheduledAction) UnmarshalJSON(b []byte) error { type Properties ScheduledAction res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -120,6 +126,9 @@ func (r *ScheduledAction) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/autoscalingplans/aws-autoscalingplans-scalingplan.go b/cloudformation/autoscalingplans/aws-autoscalingplans-scalingplan.go index f3124191fc..54c4212ae3 100644 --- a/cloudformation/autoscalingplans/aws-autoscalingplans-scalingplan.go +++ b/cloudformation/autoscalingplans/aws-autoscalingplans-scalingplan.go @@ -25,6 +25,9 @@ type ScalingPlan struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *ScalingPlan) AWSCloudFormationType() string { func (r ScalingPlan) MarshalJSON() ([]byte, error) { type Properties ScalingPlan return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r ScalingPlan) MarshalJSON() ([]byte, error) { func (r *ScalingPlan) UnmarshalJSON(b []byte) error { type Properties ScalingPlan res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *ScalingPlan) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/autoscalingplans/aws-autoscalingplans-scalingplan_applicationsource.go b/cloudformation/autoscalingplans/aws-autoscalingplans-scalingplan_applicationsource.go index 3df089f350..8a7a480fa6 100644 --- a/cloudformation/autoscalingplans/aws-autoscalingplans-scalingplan_applicationsource.go +++ b/cloudformation/autoscalingplans/aws-autoscalingplans-scalingplan_applicationsource.go @@ -21,6 +21,9 @@ type ScalingPlan_ApplicationSource struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/autoscalingplans/aws-autoscalingplans-scalingplan_customizedloadmetricspecification.go b/cloudformation/autoscalingplans/aws-autoscalingplans-scalingplan_customizedloadmetricspecification.go index f9cc23f98f..390738d2d2 100644 --- a/cloudformation/autoscalingplans/aws-autoscalingplans-scalingplan_customizedloadmetricspecification.go +++ b/cloudformation/autoscalingplans/aws-autoscalingplans-scalingplan_customizedloadmetricspecification.go @@ -36,6 +36,9 @@ type ScalingPlan_CustomizedLoadMetricSpecification struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/autoscalingplans/aws-autoscalingplans-scalingplan_customizedscalingmetricspecification.go b/cloudformation/autoscalingplans/aws-autoscalingplans-scalingplan_customizedscalingmetricspecification.go index 926a10e0df..bbb09240e8 100644 --- a/cloudformation/autoscalingplans/aws-autoscalingplans-scalingplan_customizedscalingmetricspecification.go +++ b/cloudformation/autoscalingplans/aws-autoscalingplans-scalingplan_customizedscalingmetricspecification.go @@ -36,6 +36,9 @@ type ScalingPlan_CustomizedScalingMetricSpecification struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/autoscalingplans/aws-autoscalingplans-scalingplan_metricdimension.go b/cloudformation/autoscalingplans/aws-autoscalingplans-scalingplan_metricdimension.go index dd4cb792d8..d6c7f7a057 100644 --- a/cloudformation/autoscalingplans/aws-autoscalingplans-scalingplan_metricdimension.go +++ b/cloudformation/autoscalingplans/aws-autoscalingplans-scalingplan_metricdimension.go @@ -21,6 +21,9 @@ type ScalingPlan_MetricDimension struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/autoscalingplans/aws-autoscalingplans-scalingplan_predefinedloadmetricspecification.go b/cloudformation/autoscalingplans/aws-autoscalingplans-scalingplan_predefinedloadmetricspecification.go index eb6a719dc4..e77637c1ee 100644 --- a/cloudformation/autoscalingplans/aws-autoscalingplans-scalingplan_predefinedloadmetricspecification.go +++ b/cloudformation/autoscalingplans/aws-autoscalingplans-scalingplan_predefinedloadmetricspecification.go @@ -21,6 +21,9 @@ type ScalingPlan_PredefinedLoadMetricSpecification struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/autoscalingplans/aws-autoscalingplans-scalingplan_predefinedscalingmetricspecification.go b/cloudformation/autoscalingplans/aws-autoscalingplans-scalingplan_predefinedscalingmetricspecification.go index c292c304c9..75c4a1aad7 100644 --- a/cloudformation/autoscalingplans/aws-autoscalingplans-scalingplan_predefinedscalingmetricspecification.go +++ b/cloudformation/autoscalingplans/aws-autoscalingplans-scalingplan_predefinedscalingmetricspecification.go @@ -21,6 +21,9 @@ type ScalingPlan_PredefinedScalingMetricSpecification struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/autoscalingplans/aws-autoscalingplans-scalingplan_scalinginstruction.go b/cloudformation/autoscalingplans/aws-autoscalingplans-scalingplan_scalinginstruction.go index a68be34dbf..a22c703344 100644 --- a/cloudformation/autoscalingplans/aws-autoscalingplans-scalingplan_scalinginstruction.go +++ b/cloudformation/autoscalingplans/aws-autoscalingplans-scalingplan_scalinginstruction.go @@ -81,6 +81,9 @@ type ScalingPlan_ScalingInstruction struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/autoscalingplans/aws-autoscalingplans-scalingplan_tagfilter.go b/cloudformation/autoscalingplans/aws-autoscalingplans-scalingplan_tagfilter.go index e98e523d9c..20d7d52e35 100644 --- a/cloudformation/autoscalingplans/aws-autoscalingplans-scalingplan_tagfilter.go +++ b/cloudformation/autoscalingplans/aws-autoscalingplans-scalingplan_tagfilter.go @@ -21,6 +21,9 @@ type ScalingPlan_TagFilter struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/autoscalingplans/aws-autoscalingplans-scalingplan_targettrackingconfiguration.go b/cloudformation/autoscalingplans/aws-autoscalingplans-scalingplan_targettrackingconfiguration.go index 88a03edb59..1089b2ea34 100644 --- a/cloudformation/autoscalingplans/aws-autoscalingplans-scalingplan_targettrackingconfiguration.go +++ b/cloudformation/autoscalingplans/aws-autoscalingplans-scalingplan_targettrackingconfiguration.go @@ -46,6 +46,9 @@ type ScalingPlan_TargetTrackingConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/backup/aws-backup-backupplan.go b/cloudformation/backup/aws-backup-backupplan.go index 5a6d26b57d..a87fecac98 100644 --- a/cloudformation/backup/aws-backup-backupplan.go +++ b/cloudformation/backup/aws-backup-backupplan.go @@ -25,6 +25,9 @@ type BackupPlan struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *BackupPlan) AWSCloudFormationType() string { func (r BackupPlan) MarshalJSON() ([]byte, error) { type Properties BackupPlan return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r BackupPlan) MarshalJSON() ([]byte, error) { func (r *BackupPlan) UnmarshalJSON(b []byte) error { type Properties BackupPlan res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *BackupPlan) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/backup/aws-backup-backupplan_backupplanresourcetype.go b/cloudformation/backup/aws-backup-backupplan_backupplanresourcetype.go index 9f7c9e7a8a..74969e4c94 100644 --- a/cloudformation/backup/aws-backup-backupplan_backupplanresourcetype.go +++ b/cloudformation/backup/aws-backup-backupplan_backupplanresourcetype.go @@ -21,6 +21,9 @@ type BackupPlan_BackupPlanResourceType struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/backup/aws-backup-backupplan_backupruleresourcetype.go b/cloudformation/backup/aws-backup-backupplan_backupruleresourcetype.go index 4dc52e8e84..5814f72525 100644 --- a/cloudformation/backup/aws-backup-backupplan_backupruleresourcetype.go +++ b/cloudformation/backup/aws-backup-backupplan_backupruleresourcetype.go @@ -51,6 +51,9 @@ type BackupPlan_BackupRuleResourceType struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/backup/aws-backup-backupplan_copyactionresourcetype.go b/cloudformation/backup/aws-backup-backupplan_copyactionresourcetype.go index f4765c6420..2ea84a9610 100644 --- a/cloudformation/backup/aws-backup-backupplan_copyactionresourcetype.go +++ b/cloudformation/backup/aws-backup-backupplan_copyactionresourcetype.go @@ -21,6 +21,9 @@ type BackupPlan_CopyActionResourceType struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/backup/aws-backup-backupplan_lifecycleresourcetype.go b/cloudformation/backup/aws-backup-backupplan_lifecycleresourcetype.go index 93fc32d8fd..bd8dc83eaa 100644 --- a/cloudformation/backup/aws-backup-backupplan_lifecycleresourcetype.go +++ b/cloudformation/backup/aws-backup-backupplan_lifecycleresourcetype.go @@ -21,6 +21,9 @@ type BackupPlan_LifecycleResourceType struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/backup/aws-backup-backupselection.go b/cloudformation/backup/aws-backup-backupselection.go index 88a5a679b7..4f7e49eb1d 100644 --- a/cloudformation/backup/aws-backup-backupselection.go +++ b/cloudformation/backup/aws-backup-backupselection.go @@ -25,6 +25,9 @@ type BackupSelection struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *BackupSelection) AWSCloudFormationType() string { func (r BackupSelection) MarshalJSON() ([]byte, error) { type Properties BackupSelection return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r BackupSelection) MarshalJSON() ([]byte, error) { func (r *BackupSelection) UnmarshalJSON(b []byte) error { type Properties BackupSelection res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *BackupSelection) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/backup/aws-backup-backupselection_backupselectionresourcetype.go b/cloudformation/backup/aws-backup-backupselection_backupselectionresourcetype.go index 48d7931d79..84a0f472a5 100644 --- a/cloudformation/backup/aws-backup-backupselection_backupselectionresourcetype.go +++ b/cloudformation/backup/aws-backup-backupselection_backupselectionresourcetype.go @@ -31,6 +31,9 @@ type BackupSelection_BackupSelectionResourceType struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/backup/aws-backup-backupselection_conditionresourcetype.go b/cloudformation/backup/aws-backup-backupselection_conditionresourcetype.go index 838cda496f..b2ac0bbd5f 100644 --- a/cloudformation/backup/aws-backup-backupselection_conditionresourcetype.go +++ b/cloudformation/backup/aws-backup-backupselection_conditionresourcetype.go @@ -26,6 +26,9 @@ type BackupSelection_ConditionResourceType struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/backup/aws-backup-backupvault.go b/cloudformation/backup/aws-backup-backupvault.go index 16c7f835a8..8f1aaa7161 100644 --- a/cloudformation/backup/aws-backup-backupvault.go +++ b/cloudformation/backup/aws-backup-backupvault.go @@ -40,6 +40,9 @@ type BackupVault struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -60,19 +63,21 @@ func (r *BackupVault) AWSCloudFormationType() string { func (r BackupVault) MarshalJSON() ([]byte, error) { type Properties BackupVault return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -81,12 +86,13 @@ func (r BackupVault) MarshalJSON() ([]byte, error) { func (r *BackupVault) UnmarshalJSON(b []byte) error { type Properties BackupVault res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -110,6 +116,9 @@ func (r *BackupVault) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/backup/aws-backup-backupvault_notificationobjecttype.go b/cloudformation/backup/aws-backup-backupvault_notificationobjecttype.go index 99574d3e99..c2996ca330 100644 --- a/cloudformation/backup/aws-backup-backupvault_notificationobjecttype.go +++ b/cloudformation/backup/aws-backup-backupvault_notificationobjecttype.go @@ -21,6 +21,9 @@ type BackupVault_NotificationObjectType struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/batch/aws-batch-computeenvironment.go b/cloudformation/batch/aws-batch-computeenvironment.go index 5118f3512b..34d1fda226 100644 --- a/cloudformation/batch/aws-batch-computeenvironment.go +++ b/cloudformation/batch/aws-batch-computeenvironment.go @@ -40,6 +40,9 @@ type ComputeEnvironment struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -60,19 +63,21 @@ func (r *ComputeEnvironment) AWSCloudFormationType() string { func (r ComputeEnvironment) MarshalJSON() ([]byte, error) { type Properties ComputeEnvironment return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -81,12 +86,13 @@ func (r ComputeEnvironment) MarshalJSON() ([]byte, error) { func (r *ComputeEnvironment) UnmarshalJSON(b []byte) error { type Properties ComputeEnvironment res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -110,6 +116,9 @@ func (r *ComputeEnvironment) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/batch/aws-batch-computeenvironment_computeresources.go b/cloudformation/batch/aws-batch-computeenvironment_computeresources.go index 598f5b9a23..1cb371917a 100644 --- a/cloudformation/batch/aws-batch-computeenvironment_computeresources.go +++ b/cloudformation/batch/aws-batch-computeenvironment_computeresources.go @@ -91,6 +91,9 @@ type ComputeEnvironment_ComputeResources struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/batch/aws-batch-computeenvironment_launchtemplatespecification.go b/cloudformation/batch/aws-batch-computeenvironment_launchtemplatespecification.go index 11fffa913a..eff90ff2ec 100644 --- a/cloudformation/batch/aws-batch-computeenvironment_launchtemplatespecification.go +++ b/cloudformation/batch/aws-batch-computeenvironment_launchtemplatespecification.go @@ -26,6 +26,9 @@ type ComputeEnvironment_LaunchTemplateSpecification struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/batch/aws-batch-jobdefinition.go b/cloudformation/batch/aws-batch-jobdefinition.go index 50cbd16f5d..82d22af29a 100644 --- a/cloudformation/batch/aws-batch-jobdefinition.go +++ b/cloudformation/batch/aws-batch-jobdefinition.go @@ -50,6 +50,9 @@ type JobDefinition struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -70,19 +73,21 @@ func (r *JobDefinition) AWSCloudFormationType() string { func (r JobDefinition) MarshalJSON() ([]byte, error) { type Properties JobDefinition return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -91,12 +96,13 @@ func (r JobDefinition) MarshalJSON() ([]byte, error) { func (r *JobDefinition) UnmarshalJSON(b []byte) error { type Properties JobDefinition res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -120,6 +126,9 @@ func (r *JobDefinition) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/batch/aws-batch-jobdefinition_containerproperties.go b/cloudformation/batch/aws-batch-jobdefinition_containerproperties.go index f47e1435ff..462d226432 100644 --- a/cloudformation/batch/aws-batch-jobdefinition_containerproperties.go +++ b/cloudformation/batch/aws-batch-jobdefinition_containerproperties.go @@ -39,9 +39,9 @@ type JobDefinition_ContainerProperties struct { LinuxParameters *JobDefinition_LinuxParameters `json:"LinuxParameters,omitempty"` // Memory AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-memory - Memory int `json:"Memory"` + Memory int `json:"Memory,omitempty"` // MountPoints AWS CloudFormation Property // Required: false @@ -74,9 +74,9 @@ type JobDefinition_ContainerProperties struct { User string `json:"User,omitempty"` // Vcpus AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-vcpus - Vcpus int `json:"Vcpus"` + Vcpus int `json:"Vcpus,omitempty"` // Volumes AWS CloudFormation Property // Required: false @@ -86,6 +86,9 @@ type JobDefinition_ContainerProperties struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/batch/aws-batch-jobdefinition_device.go b/cloudformation/batch/aws-batch-jobdefinition_device.go index 64fcb4df3f..6928be2dca 100644 --- a/cloudformation/batch/aws-batch-jobdefinition_device.go +++ b/cloudformation/batch/aws-batch-jobdefinition_device.go @@ -26,6 +26,9 @@ type JobDefinition_Device struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/batch/aws-batch-jobdefinition_environment.go b/cloudformation/batch/aws-batch-jobdefinition_environment.go index eddd8606b5..6c84e3d80e 100644 --- a/cloudformation/batch/aws-batch-jobdefinition_environment.go +++ b/cloudformation/batch/aws-batch-jobdefinition_environment.go @@ -21,6 +21,9 @@ type JobDefinition_Environment struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/batch/aws-batch-jobdefinition_linuxparameters.go b/cloudformation/batch/aws-batch-jobdefinition_linuxparameters.go index 8c80505a4c..f528162cdc 100644 --- a/cloudformation/batch/aws-batch-jobdefinition_linuxparameters.go +++ b/cloudformation/batch/aws-batch-jobdefinition_linuxparameters.go @@ -16,6 +16,9 @@ type JobDefinition_LinuxParameters struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/batch/aws-batch-jobdefinition_mountpoints.go b/cloudformation/batch/aws-batch-jobdefinition_mountpoints.go index 91a80ab7ea..8347874a3b 100644 --- a/cloudformation/batch/aws-batch-jobdefinition_mountpoints.go +++ b/cloudformation/batch/aws-batch-jobdefinition_mountpoints.go @@ -26,6 +26,9 @@ type JobDefinition_MountPoints struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/batch/aws-batch-jobdefinition_nodeproperties.go b/cloudformation/batch/aws-batch-jobdefinition_nodeproperties.go index e59432e8ab..9e031f8f92 100644 --- a/cloudformation/batch/aws-batch-jobdefinition_nodeproperties.go +++ b/cloudformation/batch/aws-batch-jobdefinition_nodeproperties.go @@ -26,6 +26,9 @@ type JobDefinition_NodeProperties struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/batch/aws-batch-jobdefinition_noderangeproperty.go b/cloudformation/batch/aws-batch-jobdefinition_noderangeproperty.go index 918f99a9de..45cfd8c25a 100644 --- a/cloudformation/batch/aws-batch-jobdefinition_noderangeproperty.go +++ b/cloudformation/batch/aws-batch-jobdefinition_noderangeproperty.go @@ -21,6 +21,9 @@ type JobDefinition_NodeRangeProperty struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/batch/aws-batch-jobdefinition_resourcerequirement.go b/cloudformation/batch/aws-batch-jobdefinition_resourcerequirement.go index 8c70b7b619..2f5728d1cb 100644 --- a/cloudformation/batch/aws-batch-jobdefinition_resourcerequirement.go +++ b/cloudformation/batch/aws-batch-jobdefinition_resourcerequirement.go @@ -21,6 +21,9 @@ type JobDefinition_ResourceRequirement struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/batch/aws-batch-jobdefinition_retrystrategy.go b/cloudformation/batch/aws-batch-jobdefinition_retrystrategy.go index 591ca42c8e..57f61d68ff 100644 --- a/cloudformation/batch/aws-batch-jobdefinition_retrystrategy.go +++ b/cloudformation/batch/aws-batch-jobdefinition_retrystrategy.go @@ -16,6 +16,9 @@ type JobDefinition_RetryStrategy struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/batch/aws-batch-jobdefinition_timeout.go b/cloudformation/batch/aws-batch-jobdefinition_timeout.go index 61c0f245fe..51055af060 100644 --- a/cloudformation/batch/aws-batch-jobdefinition_timeout.go +++ b/cloudformation/batch/aws-batch-jobdefinition_timeout.go @@ -16,6 +16,9 @@ type JobDefinition_Timeout struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/batch/aws-batch-jobdefinition_ulimit.go b/cloudformation/batch/aws-batch-jobdefinition_ulimit.go index d8ca535d89..70fcb48100 100644 --- a/cloudformation/batch/aws-batch-jobdefinition_ulimit.go +++ b/cloudformation/batch/aws-batch-jobdefinition_ulimit.go @@ -26,6 +26,9 @@ type JobDefinition_Ulimit struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/batch/aws-batch-jobdefinition_volumes.go b/cloudformation/batch/aws-batch-jobdefinition_volumes.go index 037c5ca80e..b6cc067acb 100644 --- a/cloudformation/batch/aws-batch-jobdefinition_volumes.go +++ b/cloudformation/batch/aws-batch-jobdefinition_volumes.go @@ -21,6 +21,9 @@ type JobDefinition_Volumes struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/batch/aws-batch-jobdefinition_volumeshost.go b/cloudformation/batch/aws-batch-jobdefinition_volumeshost.go index c1475bd91b..fbb8ebc00b 100644 --- a/cloudformation/batch/aws-batch-jobdefinition_volumeshost.go +++ b/cloudformation/batch/aws-batch-jobdefinition_volumeshost.go @@ -16,6 +16,9 @@ type JobDefinition_VolumesHost struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/batch/aws-batch-jobqueue.go b/cloudformation/batch/aws-batch-jobqueue.go index 5dc8e04f26..e0413c85c1 100644 --- a/cloudformation/batch/aws-batch-jobqueue.go +++ b/cloudformation/batch/aws-batch-jobqueue.go @@ -35,6 +35,9 @@ type JobQueue struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -55,19 +58,21 @@ func (r *JobQueue) AWSCloudFormationType() string { func (r JobQueue) MarshalJSON() ([]byte, error) { type Properties JobQueue return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -76,12 +81,13 @@ func (r JobQueue) MarshalJSON() ([]byte, error) { func (r *JobQueue) UnmarshalJSON(b []byte) error { type Properties JobQueue res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -105,6 +111,9 @@ func (r *JobQueue) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/batch/aws-batch-jobqueue_computeenvironmentorder.go b/cloudformation/batch/aws-batch-jobqueue_computeenvironmentorder.go index 46e1fa0fe8..f17e59655b 100644 --- a/cloudformation/batch/aws-batch-jobqueue_computeenvironmentorder.go +++ b/cloudformation/batch/aws-batch-jobqueue_computeenvironmentorder.go @@ -21,6 +21,9 @@ type JobQueue_ComputeEnvironmentOrder struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/budgets/aws-budgets-budget.go b/cloudformation/budgets/aws-budgets-budget.go index 2465fe275e..afad373f91 100644 --- a/cloudformation/budgets/aws-budgets-budget.go +++ b/cloudformation/budgets/aws-budgets-budget.go @@ -25,6 +25,9 @@ type Budget struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *Budget) AWSCloudFormationType() string { func (r Budget) MarshalJSON() ([]byte, error) { type Properties Budget return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r Budget) MarshalJSON() ([]byte, error) { func (r *Budget) UnmarshalJSON(b []byte) error { type Properties Budget res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *Budget) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/budgets/aws-budgets-budget_budgetdata.go b/cloudformation/budgets/aws-budgets-budget_budgetdata.go index ba4a25be5b..740138f8bb 100644 --- a/cloudformation/budgets/aws-budgets-budget_budgetdata.go +++ b/cloudformation/budgets/aws-budgets-budget_budgetdata.go @@ -51,6 +51,9 @@ type Budget_BudgetData struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/budgets/aws-budgets-budget_costtypes.go b/cloudformation/budgets/aws-budgets-budget_costtypes.go index 1d43fb3e89..d4dd1b3cd6 100644 --- a/cloudformation/budgets/aws-budgets-budget_costtypes.go +++ b/cloudformation/budgets/aws-budgets-budget_costtypes.go @@ -66,6 +66,9 @@ type Budget_CostTypes struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/budgets/aws-budgets-budget_notification.go b/cloudformation/budgets/aws-budgets-budget_notification.go index d633cf3e8a..b748a79b6b 100644 --- a/cloudformation/budgets/aws-budgets-budget_notification.go +++ b/cloudformation/budgets/aws-budgets-budget_notification.go @@ -31,6 +31,9 @@ type Budget_Notification struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/budgets/aws-budgets-budget_notificationwithsubscribers.go b/cloudformation/budgets/aws-budgets-budget_notificationwithsubscribers.go index 1bed822db3..cd8e57b035 100644 --- a/cloudformation/budgets/aws-budgets-budget_notificationwithsubscribers.go +++ b/cloudformation/budgets/aws-budgets-budget_notificationwithsubscribers.go @@ -21,6 +21,9 @@ type Budget_NotificationWithSubscribers struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/budgets/aws-budgets-budget_spend.go b/cloudformation/budgets/aws-budgets-budget_spend.go index c4141b2cc4..ddba130089 100644 --- a/cloudformation/budgets/aws-budgets-budget_spend.go +++ b/cloudformation/budgets/aws-budgets-budget_spend.go @@ -21,6 +21,9 @@ type Budget_Spend struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/budgets/aws-budgets-budget_subscriber.go b/cloudformation/budgets/aws-budgets-budget_subscriber.go index 63191787f8..d3ff9d3cf9 100644 --- a/cloudformation/budgets/aws-budgets-budget_subscriber.go +++ b/cloudformation/budgets/aws-budgets-budget_subscriber.go @@ -21,6 +21,9 @@ type Budget_Subscriber struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/budgets/aws-budgets-budget_timeperiod.go b/cloudformation/budgets/aws-budgets-budget_timeperiod.go index 15320e1dce..b367d59ad0 100644 --- a/cloudformation/budgets/aws-budgets-budget_timeperiod.go +++ b/cloudformation/budgets/aws-budgets-budget_timeperiod.go @@ -21,6 +21,9 @@ type Budget_TimePeriod struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cassandra/aws-cassandra-keyspace.go b/cloudformation/cassandra/aws-cassandra-keyspace.go new file mode 100644 index 0000000000..cfcddcb589 --- /dev/null +++ b/cloudformation/cassandra/aws-cassandra-keyspace.go @@ -0,0 +1,106 @@ +package cassandra + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Keyspace AWS CloudFormation Resource (AWS::Cassandra::Keyspace) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-keyspace.html +type Keyspace struct { + + // KeyspaceName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-keyspace.html#cfn-cassandra-keyspace-keyspacename + KeyspaceName string `json:"KeyspaceName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Keyspace) AWSCloudFormationType() string { + return "AWS::Cassandra::Keyspace" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r Keyspace) MarshalJSON() ([]byte, error) { + type Properties Keyspace + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *Keyspace) UnmarshalJSON(b []byte) error { + type Properties Keyspace + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = Keyspace(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/cassandra/aws-cassandra-table.go b/cloudformation/cassandra/aws-cassandra-table.go new file mode 100644 index 0000000000..d717ba5529 --- /dev/null +++ b/cloudformation/cassandra/aws-cassandra-table.go @@ -0,0 +1,131 @@ +package cassandra + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Table AWS CloudFormation Resource (AWS::Cassandra::Table) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html +type Table struct { + + // BillingMode AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-billingmode + BillingMode *Table_BillingMode `json:"BillingMode,omitempty"` + + // ClusteringKeyColumns AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-clusteringkeycolumns + ClusteringKeyColumns []Table_ClusteringKeyColumn `json:"ClusteringKeyColumns,omitempty"` + + // KeyspaceName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-keyspacename + KeyspaceName string `json:"KeyspaceName,omitempty"` + + // PartitionKeyColumns AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-partitionkeycolumns + PartitionKeyColumns []Table_Column `json:"PartitionKeyColumns,omitempty"` + + // RegularColumns AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-regularcolumns + RegularColumns []Table_Column `json:"RegularColumns,omitempty"` + + // TableName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-tablename + TableName string `json:"TableName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Table) AWSCloudFormationType() string { + return "AWS::Cassandra::Table" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r Table) MarshalJSON() ([]byte, error) { + type Properties Table + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *Table) UnmarshalJSON(b []byte) error { + type Properties Table + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = Table(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/cassandra/aws-cassandra-table_billingmode.go b/cloudformation/cassandra/aws-cassandra-table_billingmode.go new file mode 100644 index 0000000000..d90f4b44ab --- /dev/null +++ b/cloudformation/cassandra/aws-cassandra-table_billingmode.go @@ -0,0 +1,40 @@ +package cassandra + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Table_BillingMode AWS CloudFormation Resource (AWS::Cassandra::Table.BillingMode) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-billingmode.html +type Table_BillingMode struct { + + // Mode AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-billingmode.html#cfn-cassandra-table-billingmode-mode + Mode string `json:"Mode,omitempty"` + + // ProvisionedThroughput AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-billingmode.html#cfn-cassandra-table-billingmode-provisionedthroughput + ProvisionedThroughput *Table_ProvisionedThroughput `json:"ProvisionedThroughput,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Table_BillingMode) AWSCloudFormationType() string { + return "AWS::Cassandra::Table.BillingMode" +} diff --git a/cloudformation/cassandra/aws-cassandra-table_clusteringkeycolumn.go b/cloudformation/cassandra/aws-cassandra-table_clusteringkeycolumn.go new file mode 100644 index 0000000000..ca1e6481dc --- /dev/null +++ b/cloudformation/cassandra/aws-cassandra-table_clusteringkeycolumn.go @@ -0,0 +1,40 @@ +package cassandra + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Table_ClusteringKeyColumn AWS CloudFormation Resource (AWS::Cassandra::Table.ClusteringKeyColumn) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-clusteringkeycolumn.html +type Table_ClusteringKeyColumn struct { + + // Column AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-clusteringkeycolumn.html#cfn-cassandra-table-clusteringkeycolumn-column + Column *Table_Column `json:"Column,omitempty"` + + // OrderBy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-clusteringkeycolumn.html#cfn-cassandra-table-clusteringkeycolumn-orderby + OrderBy string `json:"OrderBy,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Table_ClusteringKeyColumn) AWSCloudFormationType() string { + return "AWS::Cassandra::Table.ClusteringKeyColumn" +} diff --git a/cloudformation/cassandra/aws-cassandra-table_column.go b/cloudformation/cassandra/aws-cassandra-table_column.go new file mode 100644 index 0000000000..445d1d4cd4 --- /dev/null +++ b/cloudformation/cassandra/aws-cassandra-table_column.go @@ -0,0 +1,40 @@ +package cassandra + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Table_Column AWS CloudFormation Resource (AWS::Cassandra::Table.Column) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-column.html +type Table_Column struct { + + // ColumnName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-column.html#cfn-cassandra-table-column-columnname + ColumnName string `json:"ColumnName,omitempty"` + + // ColumnType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-column.html#cfn-cassandra-table-column-columntype + ColumnType string `json:"ColumnType,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Table_Column) AWSCloudFormationType() string { + return "AWS::Cassandra::Table.Column" +} diff --git a/cloudformation/cassandra/aws-cassandra-table_provisionedthroughput.go b/cloudformation/cassandra/aws-cassandra-table_provisionedthroughput.go new file mode 100644 index 0000000000..08059e7c9e --- /dev/null +++ b/cloudformation/cassandra/aws-cassandra-table_provisionedthroughput.go @@ -0,0 +1,40 @@ +package cassandra + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Table_ProvisionedThroughput AWS CloudFormation Resource (AWS::Cassandra::Table.ProvisionedThroughput) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-provisionedthroughput.html +type Table_ProvisionedThroughput struct { + + // ReadCapacityUnits AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-provisionedthroughput.html#cfn-cassandra-table-provisionedthroughput-readcapacityunits + ReadCapacityUnits int `json:"ReadCapacityUnits"` + + // WriteCapacityUnits AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-provisionedthroughput.html#cfn-cassandra-table-provisionedthroughput-writecapacityunits + WriteCapacityUnits int `json:"WriteCapacityUnits"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Table_ProvisionedThroughput) AWSCloudFormationType() string { + return "AWS::Cassandra::Table.ProvisionedThroughput" +} diff --git a/cloudformation/ce/aws-ce-costcategory.go b/cloudformation/ce/aws-ce-costcategory.go new file mode 100644 index 0000000000..86f161ee12 --- /dev/null +++ b/cloudformation/ce/aws-ce-costcategory.go @@ -0,0 +1,116 @@ +package ce + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// CostCategory AWS CloudFormation Resource (AWS::CE::CostCategory) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-costcategory.html +type CostCategory struct { + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-costcategory.html#cfn-ce-costcategory-name + Name string `json:"Name,omitempty"` + + // RuleVersion AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-costcategory.html#cfn-ce-costcategory-ruleversion + RuleVersion string `json:"RuleVersion,omitempty"` + + // Rules AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-costcategory.html#cfn-ce-costcategory-rules + Rules string `json:"Rules,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *CostCategory) AWSCloudFormationType() string { + return "AWS::CE::CostCategory" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r CostCategory) MarshalJSON() ([]byte, error) { + type Properties CostCategory + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *CostCategory) UnmarshalJSON(b []byte) error { + type Properties CostCategory + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = CostCategory(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/certificatemanager/aws-certificatemanager-certificate.go b/cloudformation/certificatemanager/aws-certificatemanager-certificate.go index 7fe6195de4..1809912c6e 100644 --- a/cloudformation/certificatemanager/aws-certificatemanager-certificate.go +++ b/cloudformation/certificatemanager/aws-certificatemanager-certificate.go @@ -13,6 +13,16 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-certificatemanager-certificate.html type Certificate struct { + // CertificateAuthorityArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-certificatemanager-certificate.html#cfn-certificatemanager-certificate-certificateauthorityarn + CertificateAuthorityArn string `json:"CertificateAuthorityArn,omitempty"` + + // CertificateTransparencyLoggingPreference AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-certificatemanager-certificate.html#cfn-certificatemanager-certificate-certificatetransparencyloggingpreference + CertificateTransparencyLoggingPreference string `json:"CertificateTransparencyLoggingPreference,omitempty"` + // DomainName AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-certificatemanager-certificate.html#cfn-certificatemanager-certificate-domainname @@ -41,6 +51,9 @@ type Certificate struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -61,19 +74,21 @@ func (r *Certificate) AWSCloudFormationType() string { func (r Certificate) MarshalJSON() ([]byte, error) { type Properties Certificate return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -82,12 +97,13 @@ func (r Certificate) MarshalJSON() ([]byte, error) { func (r *Certificate) UnmarshalJSON(b []byte) error { type Properties Certificate res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -111,6 +127,9 @@ func (r *Certificate) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/certificatemanager/aws-certificatemanager-certificate_domainvalidationoption.go b/cloudformation/certificatemanager/aws-certificatemanager-certificate_domainvalidationoption.go index 94e692d945..87a7d44263 100644 --- a/cloudformation/certificatemanager/aws-certificatemanager-certificate_domainvalidationoption.go +++ b/cloudformation/certificatemanager/aws-certificatemanager-certificate_domainvalidationoption.go @@ -13,14 +13,22 @@ type Certificate_DomainValidationOption struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-certificatemanager-certificate-domainvalidationoption.html#cfn-certificatemanager-certificate-domainvalidationoptions-domainname DomainName string `json:"DomainName,omitempty"` + // HostedZoneId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-certificatemanager-certificate-domainvalidationoption.html#cfn-certificatemanager-certificate-domainvalidationoption-hostedzoneid + HostedZoneId string `json:"HostedZoneId,omitempty"` + // ValidationDomain AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-certificatemanager-certificate-domainvalidationoption.html#cfn-certificatemanager-certificate-domainvalidationoption-validationdomain ValidationDomain string `json:"ValidationDomain,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/chatbot/aws-chatbot-slackchannelconfiguration.go b/cloudformation/chatbot/aws-chatbot-slackchannelconfiguration.go new file mode 100644 index 0000000000..6fb4f638d2 --- /dev/null +++ b/cloudformation/chatbot/aws-chatbot-slackchannelconfiguration.go @@ -0,0 +1,131 @@ +package chatbot + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// SlackChannelConfiguration AWS CloudFormation Resource (AWS::Chatbot::SlackChannelConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.html +type SlackChannelConfiguration struct { + + // ConfigurationName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.html#cfn-chatbot-slackchannelconfiguration-configurationname + ConfigurationName string `json:"ConfigurationName,omitempty"` + + // IamRoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.html#cfn-chatbot-slackchannelconfiguration-iamrolearn + IamRoleArn string `json:"IamRoleArn,omitempty"` + + // LoggingLevel AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.html#cfn-chatbot-slackchannelconfiguration-logginglevel + LoggingLevel string `json:"LoggingLevel,omitempty"` + + // SlackChannelId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.html#cfn-chatbot-slackchannelconfiguration-slackchannelid + SlackChannelId string `json:"SlackChannelId,omitempty"` + + // SlackWorkspaceId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.html#cfn-chatbot-slackchannelconfiguration-slackworkspaceid + SlackWorkspaceId string `json:"SlackWorkspaceId,omitempty"` + + // SnsTopicArns AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.html#cfn-chatbot-slackchannelconfiguration-snstopicarns + SnsTopicArns []string `json:"SnsTopicArns,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *SlackChannelConfiguration) AWSCloudFormationType() string { + return "AWS::Chatbot::SlackChannelConfiguration" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r SlackChannelConfiguration) MarshalJSON() ([]byte, error) { + type Properties SlackChannelConfiguration + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *SlackChannelConfiguration) UnmarshalJSON(b []byte) error { + type Properties SlackChannelConfiguration + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = SlackChannelConfiguration(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/cloud9/aws-cloud9-environmentec2.go b/cloudformation/cloud9/aws-cloud9-environmentec2.go index 2fdc930720..bdfed17064 100644 --- a/cloudformation/cloud9/aws-cloud9-environmentec2.go +++ b/cloudformation/cloud9/aws-cloud9-environmentec2.go @@ -18,6 +18,11 @@ type EnvironmentEC2 struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloud9-environmentec2.html#cfn-cloud9-environmentec2-automaticstoptimeminutes AutomaticStopTimeMinutes int `json:"AutomaticStopTimeMinutes,omitempty"` + // ConnectionType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloud9-environmentec2.html#cfn-cloud9-environmentec2-connectiontype + ConnectionType string `json:"ConnectionType,omitempty"` + // Description AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloud9-environmentec2.html#cfn-cloud9-environmentec2-description @@ -56,6 +61,9 @@ type EnvironmentEC2 struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -76,19 +84,21 @@ func (r *EnvironmentEC2) AWSCloudFormationType() string { func (r EnvironmentEC2) MarshalJSON() ([]byte, error) { type Properties EnvironmentEC2 return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -97,12 +107,13 @@ func (r EnvironmentEC2) MarshalJSON() ([]byte, error) { func (r *EnvironmentEC2) UnmarshalJSON(b []byte) error { type Properties EnvironmentEC2 res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -126,6 +137,9 @@ func (r *EnvironmentEC2) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/cloud9/aws-cloud9-environmentec2_repository.go b/cloudformation/cloud9/aws-cloud9-environmentec2_repository.go index bdb34d2743..0fc560faf9 100644 --- a/cloudformation/cloud9/aws-cloud9-environmentec2_repository.go +++ b/cloudformation/cloud9/aws-cloud9-environmentec2_repository.go @@ -21,6 +21,9 @@ type EnvironmentEC2_Repository struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cloudformation/aws-cloudformation-customresource.go b/cloudformation/cloudformation/aws-cloudformation-customresource.go index 73852f093b..dee2d23fbd 100644 --- a/cloudformation/cloudformation/aws-cloudformation-customresource.go +++ b/cloudformation/cloudformation/aws-cloudformation-customresource.go @@ -20,6 +20,9 @@ type CustomResource struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -40,19 +43,21 @@ func (r *CustomResource) AWSCloudFormationType() string { func (r CustomResource) MarshalJSON() ([]byte, error) { type Properties CustomResource return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -61,12 +66,13 @@ func (r CustomResource) MarshalJSON() ([]byte, error) { func (r *CustomResource) UnmarshalJSON(b []byte) error { type Properties CustomResource res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -90,6 +96,9 @@ func (r *CustomResource) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/cloudformation/aws-cloudformation-macro.go b/cloudformation/cloudformation/aws-cloudformation-macro.go index 1ecf3327e7..ebcb05cd8d 100644 --- a/cloudformation/cloudformation/aws-cloudformation-macro.go +++ b/cloudformation/cloudformation/aws-cloudformation-macro.go @@ -40,6 +40,9 @@ type Macro struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -60,19 +63,21 @@ func (r *Macro) AWSCloudFormationType() string { func (r Macro) MarshalJSON() ([]byte, error) { type Properties Macro return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -81,12 +86,13 @@ func (r Macro) MarshalJSON() ([]byte, error) { func (r *Macro) UnmarshalJSON(b []byte) error { type Properties Macro res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -110,6 +116,9 @@ func (r *Macro) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/cloudformation/aws-cloudformation-stack.go b/cloudformation/cloudformation/aws-cloudformation-stack.go index 0cd018d2b2..f0d648dfd1 100644 --- a/cloudformation/cloudformation/aws-cloudformation-stack.go +++ b/cloudformation/cloudformation/aws-cloudformation-stack.go @@ -41,6 +41,9 @@ type Stack struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -61,19 +64,21 @@ func (r *Stack) AWSCloudFormationType() string { func (r Stack) MarshalJSON() ([]byte, error) { type Properties Stack return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -82,12 +87,13 @@ func (r Stack) MarshalJSON() ([]byte, error) { func (r *Stack) UnmarshalJSON(b []byte) error { type Properties Stack res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -111,6 +117,9 @@ func (r *Stack) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/cloudformation/aws-cloudformation-waitcondition.go b/cloudformation/cloudformation/aws-cloudformation-waitcondition.go index 402726cb7e..6202eab0f0 100644 --- a/cloudformation/cloudformation/aws-cloudformation-waitcondition.go +++ b/cloudformation/cloudformation/aws-cloudformation-waitcondition.go @@ -33,6 +33,9 @@ type WaitCondition struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -53,21 +56,23 @@ func (r *WaitCondition) AWSCloudFormationType() string { func (r WaitCondition) MarshalJSON() ([]byte, error) { type Properties WaitCondition return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` CreationPolicy *policies.CreationPolicy `json:"CreationPolicy,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, CreationPolicy: r.AWSCloudFormationCreationPolicy, }) @@ -78,12 +83,13 @@ func (r WaitCondition) MarshalJSON() ([]byte, error) { func (r *WaitCondition) UnmarshalJSON(b []byte) error { type Properties WaitCondition res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -107,6 +113,9 @@ func (r *WaitCondition) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/cloudformation/aws-cloudformation-waitconditionhandle.go b/cloudformation/cloudformation/aws-cloudformation-waitconditionhandle.go index f1440774af..f00de9c9ac 100644 --- a/cloudformation/cloudformation/aws-cloudformation-waitconditionhandle.go +++ b/cloudformation/cloudformation/aws-cloudformation-waitconditionhandle.go @@ -15,6 +15,9 @@ type WaitConditionHandle struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -35,19 +38,21 @@ func (r *WaitConditionHandle) AWSCloudFormationType() string { func (r WaitConditionHandle) MarshalJSON() ([]byte, error) { type Properties WaitConditionHandle return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -56,12 +61,13 @@ func (r WaitConditionHandle) MarshalJSON() ([]byte, error) { func (r *WaitConditionHandle) UnmarshalJSON(b []byte) error { type Properties WaitConditionHandle res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -85,6 +91,9 @@ func (r *WaitConditionHandle) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/cloudformation/tag.go b/cloudformation/cloudformation/tag.go index 19031b1b97..9702ae35c3 100644 --- a/cloudformation/cloudformation/tag.go +++ b/cloudformation/cloudformation/tag.go @@ -21,6 +21,9 @@ type Tag struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cloudfront/aws-cloudfront-cloudfrontoriginaccessidentity.go b/cloudformation/cloudfront/aws-cloudfront-cloudfrontoriginaccessidentity.go index a505b8ad40..72d7b116c7 100644 --- a/cloudformation/cloudfront/aws-cloudfront-cloudfrontoriginaccessidentity.go +++ b/cloudformation/cloudfront/aws-cloudfront-cloudfrontoriginaccessidentity.go @@ -20,6 +20,9 @@ type CloudFrontOriginAccessIdentity struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -40,19 +43,21 @@ func (r *CloudFrontOriginAccessIdentity) AWSCloudFormationType() string { func (r CloudFrontOriginAccessIdentity) MarshalJSON() ([]byte, error) { type Properties CloudFrontOriginAccessIdentity return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -61,12 +66,13 @@ func (r CloudFrontOriginAccessIdentity) MarshalJSON() ([]byte, error) { func (r *CloudFrontOriginAccessIdentity) UnmarshalJSON(b []byte) error { type Properties CloudFrontOriginAccessIdentity res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -90,6 +96,9 @@ func (r *CloudFrontOriginAccessIdentity) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/cloudfront/aws-cloudfront-cloudfrontoriginaccessidentity_cloudfrontoriginaccessidentityconfig.go b/cloudformation/cloudfront/aws-cloudfront-cloudfrontoriginaccessidentity_cloudfrontoriginaccessidentityconfig.go index d2ef5196a7..d941635bcc 100644 --- a/cloudformation/cloudfront/aws-cloudfront-cloudfrontoriginaccessidentity_cloudfrontoriginaccessidentityconfig.go +++ b/cloudformation/cloudfront/aws-cloudfront-cloudfrontoriginaccessidentity_cloudfrontoriginaccessidentityconfig.go @@ -16,6 +16,9 @@ type CloudFrontOriginAccessIdentity_CloudFrontOriginAccessIdentityConfig struct // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cloudfront/aws-cloudfront-distribution.go b/cloudformation/cloudfront/aws-cloudfront-distribution.go index e809a949e5..d548ecec00 100644 --- a/cloudformation/cloudfront/aws-cloudfront-distribution.go +++ b/cloudformation/cloudfront/aws-cloudfront-distribution.go @@ -26,6 +26,9 @@ type Distribution struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -46,19 +49,21 @@ func (r *Distribution) AWSCloudFormationType() string { func (r Distribution) MarshalJSON() ([]byte, error) { type Properties Distribution return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -67,12 +72,13 @@ func (r Distribution) MarshalJSON() ([]byte, error) { func (r *Distribution) UnmarshalJSON(b []byte) error { type Properties Distribution res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -96,6 +102,9 @@ func (r *Distribution) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/cloudfront/aws-cloudfront-distribution_cachebehavior.go b/cloudformation/cloudfront/aws-cloudfront-distribution_cachebehavior.go index d8d4f09cb1..26e445769c 100644 --- a/cloudformation/cloudfront/aws-cloudfront-distribution_cachebehavior.go +++ b/cloudformation/cloudfront/aws-cloudfront-distribution_cachebehavior.go @@ -81,6 +81,9 @@ type Distribution_CacheBehavior struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cloudfront/aws-cloudfront-distribution_cookies.go b/cloudformation/cloudfront/aws-cloudfront-distribution_cookies.go index ed8e6a687a..64faf51bb3 100644 --- a/cloudformation/cloudfront/aws-cloudfront-distribution_cookies.go +++ b/cloudformation/cloudfront/aws-cloudfront-distribution_cookies.go @@ -21,6 +21,9 @@ type Distribution_Cookies struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cloudfront/aws-cloudfront-distribution_customerrorresponse.go b/cloudformation/cloudfront/aws-cloudfront-distribution_customerrorresponse.go index ab8fa9eef1..01bf5fa04b 100644 --- a/cloudformation/cloudfront/aws-cloudfront-distribution_customerrorresponse.go +++ b/cloudformation/cloudfront/aws-cloudfront-distribution_customerrorresponse.go @@ -31,6 +31,9 @@ type Distribution_CustomErrorResponse struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cloudfront/aws-cloudfront-distribution_customoriginconfig.go b/cloudformation/cloudfront/aws-cloudfront-distribution_customoriginconfig.go index b3e32076ad..324c40d61d 100644 --- a/cloudformation/cloudfront/aws-cloudfront-distribution_customoriginconfig.go +++ b/cloudformation/cloudfront/aws-cloudfront-distribution_customoriginconfig.go @@ -41,6 +41,9 @@ type Distribution_CustomOriginConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cloudfront/aws-cloudfront-distribution_defaultcachebehavior.go b/cloudformation/cloudfront/aws-cloudfront-distribution_defaultcachebehavior.go index bbb74bc70d..411eb7bab3 100644 --- a/cloudformation/cloudfront/aws-cloudfront-distribution_defaultcachebehavior.go +++ b/cloudformation/cloudfront/aws-cloudfront-distribution_defaultcachebehavior.go @@ -76,6 +76,9 @@ type Distribution_DefaultCacheBehavior struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cloudfront/aws-cloudfront-distribution_distributionconfig.go b/cloudformation/cloudfront/aws-cloudfront-distribution_distributionconfig.go index 7c74f0b09b..d0e4813a02 100644 --- a/cloudformation/cloudfront/aws-cloudfront-distribution_distributionconfig.go +++ b/cloudformation/cloudfront/aws-cloudfront-distribution_distributionconfig.go @@ -58,6 +58,11 @@ type Distribution_DistributionConfig struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-logging Logging *Distribution_Logging `json:"Logging,omitempty"` + // OriginGroups AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-origingroups + OriginGroups *Distribution_OriginGroups `json:"OriginGroups,omitempty"` + // Origins AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-origins @@ -86,6 +91,9 @@ type Distribution_DistributionConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cloudfront/aws-cloudfront-distribution_forwardedvalues.go b/cloudformation/cloudfront/aws-cloudfront-distribution_forwardedvalues.go index e86b05ee9c..0f7031b06a 100644 --- a/cloudformation/cloudfront/aws-cloudfront-distribution_forwardedvalues.go +++ b/cloudformation/cloudfront/aws-cloudfront-distribution_forwardedvalues.go @@ -31,6 +31,9 @@ type Distribution_ForwardedValues struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cloudfront/aws-cloudfront-distribution_georestriction.go b/cloudformation/cloudfront/aws-cloudfront-distribution_georestriction.go index 7fde54d333..4575dd8e20 100644 --- a/cloudformation/cloudfront/aws-cloudfront-distribution_georestriction.go +++ b/cloudformation/cloudfront/aws-cloudfront-distribution_georestriction.go @@ -21,6 +21,9 @@ type Distribution_GeoRestriction struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cloudfront/aws-cloudfront-distribution_lambdafunctionassociation.go b/cloudformation/cloudfront/aws-cloudfront-distribution_lambdafunctionassociation.go index 83c16e3789..f9e29b3bcb 100644 --- a/cloudformation/cloudfront/aws-cloudfront-distribution_lambdafunctionassociation.go +++ b/cloudformation/cloudfront/aws-cloudfront-distribution_lambdafunctionassociation.go @@ -13,6 +13,11 @@ type Distribution_LambdaFunctionAssociation struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-lambdafunctionassociation.html#cfn-cloudfront-distribution-lambdafunctionassociation-eventtype EventType string `json:"EventType,omitempty"` + // IncludeBody AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-lambdafunctionassociation.html#cfn-cloudfront-distribution-lambdafunctionassociation-includebody + IncludeBody bool `json:"IncludeBody,omitempty"` + // LambdaFunctionARN AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-lambdafunctionassociation.html#cfn-cloudfront-distribution-lambdafunctionassociation-lambdafunctionarn @@ -21,6 +26,9 @@ type Distribution_LambdaFunctionAssociation struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cloudfront/aws-cloudfront-distribution_logging.go b/cloudformation/cloudfront/aws-cloudfront-distribution_logging.go index c8aeac5f42..5d18927e24 100644 --- a/cloudformation/cloudfront/aws-cloudfront-distribution_logging.go +++ b/cloudformation/cloudfront/aws-cloudfront-distribution_logging.go @@ -26,6 +26,9 @@ type Distribution_Logging struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cloudfront/aws-cloudfront-distribution_origin.go b/cloudformation/cloudfront/aws-cloudfront-distribution_origin.go index 45216b8696..330de03ade 100644 --- a/cloudformation/cloudfront/aws-cloudfront-distribution_origin.go +++ b/cloudformation/cloudfront/aws-cloudfront-distribution_origin.go @@ -8,6 +8,16 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html type Distribution_Origin struct { + // ConnectionAttempts AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-connectionattempts + ConnectionAttempts int `json:"ConnectionAttempts,omitempty"` + + // ConnectionTimeout AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-connectiontimeout + ConnectionTimeout int `json:"ConnectionTimeout,omitempty"` + // CustomOriginConfig AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-customoriginconfig @@ -41,6 +51,9 @@ type Distribution_Origin struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cloudfront/aws-cloudfront-distribution_origincustomheader.go b/cloudformation/cloudfront/aws-cloudfront-distribution_origincustomheader.go index 83bbd98acd..7571fb6758 100644 --- a/cloudformation/cloudfront/aws-cloudfront-distribution_origincustomheader.go +++ b/cloudformation/cloudfront/aws-cloudfront-distribution_origincustomheader.go @@ -21,6 +21,9 @@ type Distribution_OriginCustomHeader struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cloudfront/aws-cloudfront-distribution_origingroup.go b/cloudformation/cloudfront/aws-cloudfront-distribution_origingroup.go new file mode 100644 index 0000000000..72bbbe9c87 --- /dev/null +++ b/cloudformation/cloudfront/aws-cloudfront-distribution_origingroup.go @@ -0,0 +1,45 @@ +package cloudfront + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Distribution_OriginGroup AWS CloudFormation Resource (AWS::CloudFront::Distribution.OriginGroup) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroup.html +type Distribution_OriginGroup struct { + + // FailoverCriteria AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroup.html#cfn-cloudfront-distribution-origingroup-failovercriteria + FailoverCriteria *Distribution_OriginGroupFailoverCriteria `json:"FailoverCriteria,omitempty"` + + // Id AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroup.html#cfn-cloudfront-distribution-origingroup-id + Id string `json:"Id,omitempty"` + + // Members AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroup.html#cfn-cloudfront-distribution-origingroup-members + Members *Distribution_OriginGroupMembers `json:"Members,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Distribution_OriginGroup) AWSCloudFormationType() string { + return "AWS::CloudFront::Distribution.OriginGroup" +} diff --git a/cloudformation/cloudfront/aws-cloudfront-distribution_origingroupfailovercriteria.go b/cloudformation/cloudfront/aws-cloudfront-distribution_origingroupfailovercriteria.go new file mode 100644 index 0000000000..3b420e7940 --- /dev/null +++ b/cloudformation/cloudfront/aws-cloudfront-distribution_origingroupfailovercriteria.go @@ -0,0 +1,35 @@ +package cloudfront + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Distribution_OriginGroupFailoverCriteria AWS CloudFormation Resource (AWS::CloudFront::Distribution.OriginGroupFailoverCriteria) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroupfailovercriteria.html +type Distribution_OriginGroupFailoverCriteria struct { + + // StatusCodes AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroupfailovercriteria.html#cfn-cloudfront-distribution-origingroupfailovercriteria-statuscodes + StatusCodes *Distribution_StatusCodes `json:"StatusCodes,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Distribution_OriginGroupFailoverCriteria) AWSCloudFormationType() string { + return "AWS::CloudFront::Distribution.OriginGroupFailoverCriteria" +} diff --git a/cloudformation/cloudfront/aws-cloudfront-distribution_origingroupmember.go b/cloudformation/cloudfront/aws-cloudfront-distribution_origingroupmember.go new file mode 100644 index 0000000000..5748e3f294 --- /dev/null +++ b/cloudformation/cloudfront/aws-cloudfront-distribution_origingroupmember.go @@ -0,0 +1,35 @@ +package cloudfront + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Distribution_OriginGroupMember AWS CloudFormation Resource (AWS::CloudFront::Distribution.OriginGroupMember) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroupmember.html +type Distribution_OriginGroupMember struct { + + // OriginId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroupmember.html#cfn-cloudfront-distribution-origingroupmember-originid + OriginId string `json:"OriginId,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Distribution_OriginGroupMember) AWSCloudFormationType() string { + return "AWS::CloudFront::Distribution.OriginGroupMember" +} diff --git a/cloudformation/cloudfront/aws-cloudfront-distribution_origingroupmembers.go b/cloudformation/cloudfront/aws-cloudfront-distribution_origingroupmembers.go new file mode 100644 index 0000000000..bd3d2d08ed --- /dev/null +++ b/cloudformation/cloudfront/aws-cloudfront-distribution_origingroupmembers.go @@ -0,0 +1,40 @@ +package cloudfront + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Distribution_OriginGroupMembers AWS CloudFormation Resource (AWS::CloudFront::Distribution.OriginGroupMembers) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroupmembers.html +type Distribution_OriginGroupMembers struct { + + // Items AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroupmembers.html#cfn-cloudfront-distribution-origingroupmembers-items + Items []Distribution_OriginGroupMember `json:"Items,omitempty"` + + // Quantity AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroupmembers.html#cfn-cloudfront-distribution-origingroupmembers-quantity + Quantity int `json:"Quantity"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Distribution_OriginGroupMembers) AWSCloudFormationType() string { + return "AWS::CloudFront::Distribution.OriginGroupMembers" +} diff --git a/cloudformation/cloudfront/aws-cloudfront-distribution_origingroups.go b/cloudformation/cloudfront/aws-cloudfront-distribution_origingroups.go new file mode 100644 index 0000000000..e9b7a9a3eb --- /dev/null +++ b/cloudformation/cloudfront/aws-cloudfront-distribution_origingroups.go @@ -0,0 +1,40 @@ +package cloudfront + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Distribution_OriginGroups AWS CloudFormation Resource (AWS::CloudFront::Distribution.OriginGroups) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroups.html +type Distribution_OriginGroups struct { + + // Items AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroups.html#cfn-cloudfront-distribution-origingroups-items + Items []Distribution_OriginGroup `json:"Items,omitempty"` + + // Quantity AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroups.html#cfn-cloudfront-distribution-origingroups-quantity + Quantity int `json:"Quantity"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Distribution_OriginGroups) AWSCloudFormationType() string { + return "AWS::CloudFront::Distribution.OriginGroups" +} diff --git a/cloudformation/cloudfront/aws-cloudfront-distribution_restrictions.go b/cloudformation/cloudfront/aws-cloudfront-distribution_restrictions.go index 16aee4ff39..82441bcf2f 100644 --- a/cloudformation/cloudfront/aws-cloudfront-distribution_restrictions.go +++ b/cloudformation/cloudfront/aws-cloudfront-distribution_restrictions.go @@ -16,6 +16,9 @@ type Distribution_Restrictions struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cloudfront/aws-cloudfront-distribution_s3originconfig.go b/cloudformation/cloudfront/aws-cloudfront-distribution_s3originconfig.go index 38cafea176..bb09e81f69 100644 --- a/cloudformation/cloudfront/aws-cloudfront-distribution_s3originconfig.go +++ b/cloudformation/cloudfront/aws-cloudfront-distribution_s3originconfig.go @@ -16,6 +16,9 @@ type Distribution_S3OriginConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cloudfront/aws-cloudfront-distribution_statuscodes.go b/cloudformation/cloudfront/aws-cloudfront-distribution_statuscodes.go new file mode 100644 index 0000000000..c690103b36 --- /dev/null +++ b/cloudformation/cloudfront/aws-cloudfront-distribution_statuscodes.go @@ -0,0 +1,40 @@ +package cloudfront + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Distribution_StatusCodes AWS CloudFormation Resource (AWS::CloudFront::Distribution.StatusCodes) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-statuscodes.html +type Distribution_StatusCodes struct { + + // Items AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-statuscodes.html#cfn-cloudfront-distribution-statuscodes-items + Items []int `json:"Items,omitempty"` + + // Quantity AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-statuscodes.html#cfn-cloudfront-distribution-statuscodes-quantity + Quantity int `json:"Quantity"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Distribution_StatusCodes) AWSCloudFormationType() string { + return "AWS::CloudFront::Distribution.StatusCodes" +} diff --git a/cloudformation/cloudfront/aws-cloudfront-distribution_viewercertificate.go b/cloudformation/cloudfront/aws-cloudfront-distribution_viewercertificate.go index 7aed597184..70445a9fe1 100644 --- a/cloudformation/cloudfront/aws-cloudfront-distribution_viewercertificate.go +++ b/cloudformation/cloudfront/aws-cloudfront-distribution_viewercertificate.go @@ -36,6 +36,9 @@ type Distribution_ViewerCertificate struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cloudfront/aws-cloudfront-streamingdistribution.go b/cloudformation/cloudfront/aws-cloudfront-streamingdistribution.go index 8e99c17c34..c3ce19d59d 100644 --- a/cloudformation/cloudfront/aws-cloudfront-streamingdistribution.go +++ b/cloudformation/cloudfront/aws-cloudfront-streamingdistribution.go @@ -26,6 +26,9 @@ type StreamingDistribution struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -46,19 +49,21 @@ func (r *StreamingDistribution) AWSCloudFormationType() string { func (r StreamingDistribution) MarshalJSON() ([]byte, error) { type Properties StreamingDistribution return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -67,12 +72,13 @@ func (r StreamingDistribution) MarshalJSON() ([]byte, error) { func (r *StreamingDistribution) UnmarshalJSON(b []byte) error { type Properties StreamingDistribution res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -96,6 +102,9 @@ func (r *StreamingDistribution) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/cloudfront/aws-cloudfront-streamingdistribution_logging.go b/cloudformation/cloudfront/aws-cloudfront-streamingdistribution_logging.go index 3951677f7e..4ecf34b6e2 100644 --- a/cloudformation/cloudfront/aws-cloudfront-streamingdistribution_logging.go +++ b/cloudformation/cloudfront/aws-cloudfront-streamingdistribution_logging.go @@ -26,6 +26,9 @@ type StreamingDistribution_Logging struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cloudfront/aws-cloudfront-streamingdistribution_s3origin.go b/cloudformation/cloudfront/aws-cloudfront-streamingdistribution_s3origin.go index 8d26f328b6..1e106555e7 100644 --- a/cloudformation/cloudfront/aws-cloudfront-streamingdistribution_s3origin.go +++ b/cloudformation/cloudfront/aws-cloudfront-streamingdistribution_s3origin.go @@ -21,6 +21,9 @@ type StreamingDistribution_S3Origin struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cloudfront/aws-cloudfront-streamingdistribution_streamingdistributionconfig.go b/cloudformation/cloudfront/aws-cloudfront-streamingdistribution_streamingdistributionconfig.go index f8224c3632..c3a27d5abf 100644 --- a/cloudformation/cloudfront/aws-cloudfront-streamingdistribution_streamingdistributionconfig.go +++ b/cloudformation/cloudfront/aws-cloudfront-streamingdistribution_streamingdistributionconfig.go @@ -46,6 +46,9 @@ type StreamingDistribution_StreamingDistributionConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cloudfront/aws-cloudfront-streamingdistribution_trustedsigners.go b/cloudformation/cloudfront/aws-cloudfront-streamingdistribution_trustedsigners.go index fe4b93e5d4..020aac9fce 100644 --- a/cloudformation/cloudfront/aws-cloudfront-streamingdistribution_trustedsigners.go +++ b/cloudformation/cloudfront/aws-cloudfront-streamingdistribution_trustedsigners.go @@ -21,6 +21,9 @@ type StreamingDistribution_TrustedSigners struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cloudtrail/aws-cloudtrail-trail.go b/cloudformation/cloudtrail/aws-cloudtrail-trail.go index 14f8e8977b..ec58c13213 100644 --- a/cloudformation/cloudtrail/aws-cloudtrail-trail.go +++ b/cloudformation/cloudtrail/aws-cloudtrail-trail.go @@ -81,6 +81,9 @@ type Trail struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -101,19 +104,21 @@ func (r *Trail) AWSCloudFormationType() string { func (r Trail) MarshalJSON() ([]byte, error) { type Properties Trail return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -122,12 +127,13 @@ func (r Trail) MarshalJSON() ([]byte, error) { func (r *Trail) UnmarshalJSON(b []byte) error { type Properties Trail res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -151,6 +157,9 @@ func (r *Trail) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/cloudtrail/aws-cloudtrail-trail_dataresource.go b/cloudformation/cloudtrail/aws-cloudtrail-trail_dataresource.go index d4e81e317c..6cdd4aedfd 100644 --- a/cloudformation/cloudtrail/aws-cloudtrail-trail_dataresource.go +++ b/cloudformation/cloudtrail/aws-cloudtrail-trail_dataresource.go @@ -21,6 +21,9 @@ type Trail_DataResource struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cloudtrail/aws-cloudtrail-trail_eventselector.go b/cloudformation/cloudtrail/aws-cloudtrail-trail_eventselector.go index 7346fc5f22..333223b2cf 100644 --- a/cloudformation/cloudtrail/aws-cloudtrail-trail_eventselector.go +++ b/cloudformation/cloudtrail/aws-cloudtrail-trail_eventselector.go @@ -26,6 +26,9 @@ type Trail_EventSelector struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cloudwatch/aws-cloudwatch-alarm.go b/cloudformation/cloudwatch/aws-cloudwatch-alarm.go index 33f45b9616..071fa4b63d 100644 --- a/cloudformation/cloudwatch/aws-cloudwatch-alarm.go +++ b/cloudformation/cloudwatch/aws-cloudwatch-alarm.go @@ -120,6 +120,9 @@ type Alarm struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -140,19 +143,21 @@ func (r *Alarm) AWSCloudFormationType() string { func (r Alarm) MarshalJSON() ([]byte, error) { type Properties Alarm return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -161,12 +166,13 @@ func (r Alarm) MarshalJSON() ([]byte, error) { func (r *Alarm) UnmarshalJSON(b []byte) error { type Properties Alarm res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -190,6 +196,9 @@ func (r *Alarm) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/cloudwatch/aws-cloudwatch-alarm_dimension.go b/cloudformation/cloudwatch/aws-cloudwatch-alarm_dimension.go index f3d6c92a6d..fca16e1b72 100644 --- a/cloudformation/cloudwatch/aws-cloudwatch-alarm_dimension.go +++ b/cloudformation/cloudwatch/aws-cloudwatch-alarm_dimension.go @@ -21,6 +21,9 @@ type Alarm_Dimension struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cloudwatch/aws-cloudwatch-alarm_metric.go b/cloudformation/cloudwatch/aws-cloudwatch-alarm_metric.go index 98e2369070..8835d39453 100644 --- a/cloudformation/cloudwatch/aws-cloudwatch-alarm_metric.go +++ b/cloudformation/cloudwatch/aws-cloudwatch-alarm_metric.go @@ -26,6 +26,9 @@ type Alarm_Metric struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cloudwatch/aws-cloudwatch-alarm_metricdataquery.go b/cloudformation/cloudwatch/aws-cloudwatch-alarm_metricdataquery.go index 960f78996f..2d1a1db29b 100644 --- a/cloudformation/cloudwatch/aws-cloudwatch-alarm_metricdataquery.go +++ b/cloudformation/cloudwatch/aws-cloudwatch-alarm_metricdataquery.go @@ -28,6 +28,11 @@ type Alarm_MetricDataQuery struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-alarm-metricdataquery.html#cfn-cloudwatch-alarm-metricdataquery-metricstat MetricStat *Alarm_MetricStat `json:"MetricStat,omitempty"` + // Period AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-alarm-metricdataquery.html#cfn-cloudwatch-alarm-metricdataquery-period + Period int `json:"Period,omitempty"` + // ReturnData AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-alarm-metricdataquery.html#cfn-cloudwatch-alarm-metricdataquery-returndata @@ -36,6 +41,9 @@ type Alarm_MetricDataQuery struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cloudwatch/aws-cloudwatch-alarm_metricstat.go b/cloudformation/cloudwatch/aws-cloudwatch-alarm_metricstat.go index 83ec608f30..a03e2f3fb9 100644 --- a/cloudformation/cloudwatch/aws-cloudwatch-alarm_metricstat.go +++ b/cloudformation/cloudwatch/aws-cloudwatch-alarm_metricstat.go @@ -31,6 +31,9 @@ type Alarm_MetricStat struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cloudwatch/aws-cloudwatch-anomalydetector.go b/cloudformation/cloudwatch/aws-cloudwatch-anomalydetector.go index 266ccbb8d9..9f17cbf58d 100644 --- a/cloudformation/cloudwatch/aws-cloudwatch-anomalydetector.go +++ b/cloudformation/cloudwatch/aws-cloudwatch-anomalydetector.go @@ -40,6 +40,9 @@ type AnomalyDetector struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -60,19 +63,21 @@ func (r *AnomalyDetector) AWSCloudFormationType() string { func (r AnomalyDetector) MarshalJSON() ([]byte, error) { type Properties AnomalyDetector return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -81,12 +86,13 @@ func (r AnomalyDetector) MarshalJSON() ([]byte, error) { func (r *AnomalyDetector) UnmarshalJSON(b []byte) error { type Properties AnomalyDetector res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -110,6 +116,9 @@ func (r *AnomalyDetector) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/cloudwatch/aws-cloudwatch-anomalydetector_configuration.go b/cloudformation/cloudwatch/aws-cloudwatch-anomalydetector_configuration.go index ca4d238373..30fae77af9 100644 --- a/cloudformation/cloudwatch/aws-cloudwatch-anomalydetector_configuration.go +++ b/cloudformation/cloudwatch/aws-cloudwatch-anomalydetector_configuration.go @@ -21,6 +21,9 @@ type AnomalyDetector_Configuration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cloudwatch/aws-cloudwatch-anomalydetector_dimension.go b/cloudformation/cloudwatch/aws-cloudwatch-anomalydetector_dimension.go index 721de69550..807c61aa99 100644 --- a/cloudformation/cloudwatch/aws-cloudwatch-anomalydetector_dimension.go +++ b/cloudformation/cloudwatch/aws-cloudwatch-anomalydetector_dimension.go @@ -21,6 +21,9 @@ type AnomalyDetector_Dimension struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cloudwatch/aws-cloudwatch-anomalydetector_range.go b/cloudformation/cloudwatch/aws-cloudwatch-anomalydetector_range.go index f271249d40..a3df4e83d2 100644 --- a/cloudformation/cloudwatch/aws-cloudwatch-anomalydetector_range.go +++ b/cloudformation/cloudwatch/aws-cloudwatch-anomalydetector_range.go @@ -21,6 +21,9 @@ type AnomalyDetector_Range struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cloudwatch/aws-cloudwatch-compositealarm.go b/cloudformation/cloudwatch/aws-cloudwatch-compositealarm.go new file mode 100644 index 0000000000..35bb686f83 --- /dev/null +++ b/cloudformation/cloudwatch/aws-cloudwatch-compositealarm.go @@ -0,0 +1,136 @@ +package cloudwatch + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// CompositeAlarm AWS CloudFormation Resource (AWS::CloudWatch::CompositeAlarm) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-compositealarm.html +type CompositeAlarm struct { + + // ActionsEnabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-compositealarm.html#cfn-cloudwatch-compositealarm-actionsenabled + ActionsEnabled bool `json:"ActionsEnabled,omitempty"` + + // AlarmActions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-compositealarm.html#cfn-cloudwatch-compositealarm-alarmactions + AlarmActions []string `json:"AlarmActions,omitempty"` + + // AlarmDescription AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-compositealarm.html#cfn-cloudwatch-compositealarm-alarmdescription + AlarmDescription string `json:"AlarmDescription,omitempty"` + + // AlarmName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-compositealarm.html#cfn-cloudwatch-compositealarm-alarmname + AlarmName string `json:"AlarmName,omitempty"` + + // AlarmRule AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-compositealarm.html#cfn-cloudwatch-compositealarm-alarmrule + AlarmRule string `json:"AlarmRule,omitempty"` + + // InsufficientDataActions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-compositealarm.html#cfn-cloudwatch-compositealarm-insufficientdataactions + InsufficientDataActions []string `json:"InsufficientDataActions,omitempty"` + + // OKActions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-compositealarm.html#cfn-cloudwatch-compositealarm-okactions + OKActions []string `json:"OKActions,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *CompositeAlarm) AWSCloudFormationType() string { + return "AWS::CloudWatch::CompositeAlarm" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r CompositeAlarm) MarshalJSON() ([]byte, error) { + type Properties CompositeAlarm + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *CompositeAlarm) UnmarshalJSON(b []byte) error { + type Properties CompositeAlarm + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = CompositeAlarm(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/cloudwatch/aws-cloudwatch-dashboard.go b/cloudformation/cloudwatch/aws-cloudwatch-dashboard.go index b008f95e4b..f579122085 100644 --- a/cloudformation/cloudwatch/aws-cloudwatch-dashboard.go +++ b/cloudformation/cloudwatch/aws-cloudwatch-dashboard.go @@ -25,6 +25,9 @@ type Dashboard struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *Dashboard) AWSCloudFormationType() string { func (r Dashboard) MarshalJSON() ([]byte, error) { type Properties Dashboard return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r Dashboard) MarshalJSON() ([]byte, error) { func (r *Dashboard) UnmarshalJSON(b []byte) error { type Properties Dashboard res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *Dashboard) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/cloudwatch/aws-cloudwatch-insightrule.go b/cloudformation/cloudwatch/aws-cloudwatch-insightrule.go index 710a2a2e7c..3938a93580 100644 --- a/cloudformation/cloudwatch/aws-cloudwatch-insightrule.go +++ b/cloudformation/cloudwatch/aws-cloudwatch-insightrule.go @@ -27,9 +27,17 @@ type InsightRule struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-insightrule.html#cfn-cloudwatch-insightrule-rulestate RuleState string `json:"RuleState,omitempty"` + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-insightrule.html#cfn-cloudwatch-insightrule-tags + Tags *InsightRule_Tags `json:"Tags,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +58,21 @@ func (r *InsightRule) AWSCloudFormationType() string { func (r InsightRule) MarshalJSON() ([]byte, error) { type Properties InsightRule return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +81,13 @@ func (r InsightRule) MarshalJSON() ([]byte, error) { func (r *InsightRule) UnmarshalJSON(b []byte) error { type Properties InsightRule res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +111,9 @@ func (r *InsightRule) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/cloudwatch/aws-cloudwatch-insightrule_tags.go b/cloudformation/cloudwatch/aws-cloudwatch-insightrule_tags.go new file mode 100644 index 0000000000..26d952fb18 --- /dev/null +++ b/cloudformation/cloudwatch/aws-cloudwatch-insightrule_tags.go @@ -0,0 +1,30 @@ +package cloudwatch + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// InsightRule_Tags AWS CloudFormation Resource (AWS::CloudWatch::InsightRule.Tags) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-insightrule-tags.html +type InsightRule_Tags struct { + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *InsightRule_Tags) AWSCloudFormationType() string { + return "AWS::CloudWatch::InsightRule.Tags" +} diff --git a/cloudformation/codebuild/aws-codebuild-project.go b/cloudformation/codebuild/aws-codebuild-project.go index 404b14c97b..a0bc94a1a6 100644 --- a/cloudformation/codebuild/aws-codebuild-project.go +++ b/cloudformation/codebuild/aws-codebuild-project.go @@ -116,6 +116,9 @@ type Project struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -136,19 +139,21 @@ func (r *Project) AWSCloudFormationType() string { func (r Project) MarshalJSON() ([]byte, error) { type Properties Project return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -157,12 +162,13 @@ func (r Project) MarshalJSON() ([]byte, error) { func (r *Project) UnmarshalJSON(b []byte) error { type Properties Project res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -186,6 +192,9 @@ func (r *Project) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/codebuild/aws-codebuild-project_artifacts.go b/cloudformation/codebuild/aws-codebuild-project_artifacts.go index 62a93f7292..90af734a6f 100644 --- a/cloudformation/codebuild/aws-codebuild-project_artifacts.go +++ b/cloudformation/codebuild/aws-codebuild-project_artifacts.go @@ -56,6 +56,9 @@ type Project_Artifacts struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codebuild/aws-codebuild-project_cloudwatchlogsconfig.go b/cloudformation/codebuild/aws-codebuild-project_cloudwatchlogsconfig.go index 77b3353d93..5a5974cf13 100644 --- a/cloudformation/codebuild/aws-codebuild-project_cloudwatchlogsconfig.go +++ b/cloudformation/codebuild/aws-codebuild-project_cloudwatchlogsconfig.go @@ -26,6 +26,9 @@ type Project_CloudWatchLogsConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codebuild/aws-codebuild-project_environment.go b/cloudformation/codebuild/aws-codebuild-project_environment.go index 7fefacccfa..5ac470959b 100644 --- a/cloudformation/codebuild/aws-codebuild-project_environment.go +++ b/cloudformation/codebuild/aws-codebuild-project_environment.go @@ -51,6 +51,9 @@ type Project_Environment struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codebuild/aws-codebuild-project_environmentvariable.go b/cloudformation/codebuild/aws-codebuild-project_environmentvariable.go index 81f96bea38..84396b69ca 100644 --- a/cloudformation/codebuild/aws-codebuild-project_environmentvariable.go +++ b/cloudformation/codebuild/aws-codebuild-project_environmentvariable.go @@ -26,6 +26,9 @@ type Project_EnvironmentVariable struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codebuild/aws-codebuild-project_filtergroup.go b/cloudformation/codebuild/aws-codebuild-project_filtergroup.go index 6c98cf8a5c..955cdca101 100644 --- a/cloudformation/codebuild/aws-codebuild-project_filtergroup.go +++ b/cloudformation/codebuild/aws-codebuild-project_filtergroup.go @@ -11,6 +11,9 @@ type Project_FilterGroup struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codebuild/aws-codebuild-project_gitsubmodulesconfig.go b/cloudformation/codebuild/aws-codebuild-project_gitsubmodulesconfig.go index 0e7cdf7c74..6d77837fce 100644 --- a/cloudformation/codebuild/aws-codebuild-project_gitsubmodulesconfig.go +++ b/cloudformation/codebuild/aws-codebuild-project_gitsubmodulesconfig.go @@ -16,6 +16,9 @@ type Project_GitSubmodulesConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codebuild/aws-codebuild-project_logsconfig.go b/cloudformation/codebuild/aws-codebuild-project_logsconfig.go index eeaeb8aa3f..149454b489 100644 --- a/cloudformation/codebuild/aws-codebuild-project_logsconfig.go +++ b/cloudformation/codebuild/aws-codebuild-project_logsconfig.go @@ -21,6 +21,9 @@ type Project_LogsConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codebuild/aws-codebuild-project_projectcache.go b/cloudformation/codebuild/aws-codebuild-project_projectcache.go index 74c6dd4d74..73a556a1e6 100644 --- a/cloudformation/codebuild/aws-codebuild-project_projectcache.go +++ b/cloudformation/codebuild/aws-codebuild-project_projectcache.go @@ -26,6 +26,9 @@ type Project_ProjectCache struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codebuild/aws-codebuild-project_projectfilesystemlocation.go b/cloudformation/codebuild/aws-codebuild-project_projectfilesystemlocation.go index c853c1d3bd..931c88ddd2 100644 --- a/cloudformation/codebuild/aws-codebuild-project_projectfilesystemlocation.go +++ b/cloudformation/codebuild/aws-codebuild-project_projectfilesystemlocation.go @@ -36,6 +36,9 @@ type Project_ProjectFileSystemLocation struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codebuild/aws-codebuild-project_projectsourceversion.go b/cloudformation/codebuild/aws-codebuild-project_projectsourceversion.go index 47094a55c9..d922208da8 100644 --- a/cloudformation/codebuild/aws-codebuild-project_projectsourceversion.go +++ b/cloudformation/codebuild/aws-codebuild-project_projectsourceversion.go @@ -21,6 +21,9 @@ type Project_ProjectSourceVersion struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codebuild/aws-codebuild-project_projecttriggers.go b/cloudformation/codebuild/aws-codebuild-project_projecttriggers.go index d2a1b1b2b1..9ab2829fab 100644 --- a/cloudformation/codebuild/aws-codebuild-project_projecttriggers.go +++ b/cloudformation/codebuild/aws-codebuild-project_projecttriggers.go @@ -21,6 +21,9 @@ type Project_ProjectTriggers struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codebuild/aws-codebuild-project_registrycredential.go b/cloudformation/codebuild/aws-codebuild-project_registrycredential.go index 0e2400ae40..521696ec5e 100644 --- a/cloudformation/codebuild/aws-codebuild-project_registrycredential.go +++ b/cloudformation/codebuild/aws-codebuild-project_registrycredential.go @@ -21,6 +21,9 @@ type Project_RegistryCredential struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codebuild/aws-codebuild-project_s3logsconfig.go b/cloudformation/codebuild/aws-codebuild-project_s3logsconfig.go index 22be938aa5..d1722f609b 100644 --- a/cloudformation/codebuild/aws-codebuild-project_s3logsconfig.go +++ b/cloudformation/codebuild/aws-codebuild-project_s3logsconfig.go @@ -26,6 +26,9 @@ type Project_S3LogsConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codebuild/aws-codebuild-project_source.go b/cloudformation/codebuild/aws-codebuild-project_source.go index 623c018dea..1ffcc33859 100644 --- a/cloudformation/codebuild/aws-codebuild-project_source.go +++ b/cloudformation/codebuild/aws-codebuild-project_source.go @@ -56,6 +56,9 @@ type Project_Source struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codebuild/aws-codebuild-project_sourceauth.go b/cloudformation/codebuild/aws-codebuild-project_sourceauth.go index 6cd7b7fb40..ce8741b6ba 100644 --- a/cloudformation/codebuild/aws-codebuild-project_sourceauth.go +++ b/cloudformation/codebuild/aws-codebuild-project_sourceauth.go @@ -21,6 +21,9 @@ type Project_SourceAuth struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codebuild/aws-codebuild-project_vpcconfig.go b/cloudformation/codebuild/aws-codebuild-project_vpcconfig.go index c1a4c2f67a..075cb84d2a 100644 --- a/cloudformation/codebuild/aws-codebuild-project_vpcconfig.go +++ b/cloudformation/codebuild/aws-codebuild-project_vpcconfig.go @@ -26,6 +26,9 @@ type Project_VpcConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codebuild/aws-codebuild-project_webhookfilter.go b/cloudformation/codebuild/aws-codebuild-project_webhookfilter.go index 695faa7505..329a0ba7ff 100644 --- a/cloudformation/codebuild/aws-codebuild-project_webhookfilter.go +++ b/cloudformation/codebuild/aws-codebuild-project_webhookfilter.go @@ -26,6 +26,9 @@ type Project_WebhookFilter struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codebuild/aws-codebuild-reportgroup.go b/cloudformation/codebuild/aws-codebuild-reportgroup.go index 4a81a5fef5..c696dfdd59 100644 --- a/cloudformation/codebuild/aws-codebuild-reportgroup.go +++ b/cloudformation/codebuild/aws-codebuild-reportgroup.go @@ -6,6 +6,7 @@ import ( "fmt" "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" ) // ReportGroup AWS CloudFormation Resource (AWS::CodeBuild::ReportGroup) @@ -22,6 +23,11 @@ type ReportGroup struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-reportgroup.html#cfn-codebuild-reportgroup-name Name string `json:"Name,omitempty"` + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-reportgroup.html#cfn-codebuild-reportgroup-tags + Tags []tags.Tag `json:"Tags,omitempty"` + // Type AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-reportgroup.html#cfn-codebuild-reportgroup-type @@ -30,6 +36,9 @@ type ReportGroup struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +59,21 @@ func (r *ReportGroup) AWSCloudFormationType() string { func (r ReportGroup) MarshalJSON() ([]byte, error) { type Properties ReportGroup return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +82,13 @@ func (r ReportGroup) MarshalJSON() ([]byte, error) { func (r *ReportGroup) UnmarshalJSON(b []byte) error { type Properties ReportGroup res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +112,9 @@ func (r *ReportGroup) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/codebuild/aws-codebuild-reportgroup_reportexportconfig.go b/cloudformation/codebuild/aws-codebuild-reportgroup_reportexportconfig.go index f5560ac759..6aca668556 100644 --- a/cloudformation/codebuild/aws-codebuild-reportgroup_reportexportconfig.go +++ b/cloudformation/codebuild/aws-codebuild-reportgroup_reportexportconfig.go @@ -21,6 +21,9 @@ type ReportGroup_ReportExportConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codebuild/aws-codebuild-reportgroup_s3reportexportconfig.go b/cloudformation/codebuild/aws-codebuild-reportgroup_s3reportexportconfig.go index 529188ed95..a5426ea1b6 100644 --- a/cloudformation/codebuild/aws-codebuild-reportgroup_s3reportexportconfig.go +++ b/cloudformation/codebuild/aws-codebuild-reportgroup_s3reportexportconfig.go @@ -36,6 +36,9 @@ type ReportGroup_S3ReportExportConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codebuild/aws-codebuild-sourcecredential.go b/cloudformation/codebuild/aws-codebuild-sourcecredential.go index 472284c2f0..04592dd3af 100644 --- a/cloudformation/codebuild/aws-codebuild-sourcecredential.go +++ b/cloudformation/codebuild/aws-codebuild-sourcecredential.go @@ -35,6 +35,9 @@ type SourceCredential struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -55,19 +58,21 @@ func (r *SourceCredential) AWSCloudFormationType() string { func (r SourceCredential) MarshalJSON() ([]byte, error) { type Properties SourceCredential return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -76,12 +81,13 @@ func (r SourceCredential) MarshalJSON() ([]byte, error) { func (r *SourceCredential) UnmarshalJSON(b []byte) error { type Properties SourceCredential res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -105,6 +111,9 @@ func (r *SourceCredential) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/codecommit/aws-codecommit-repository.go b/cloudformation/codecommit/aws-codecommit-repository.go index 8eba0654d0..4f2d0a4c72 100644 --- a/cloudformation/codecommit/aws-codecommit-repository.go +++ b/cloudformation/codecommit/aws-codecommit-repository.go @@ -41,6 +41,9 @@ type Repository struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -61,19 +64,21 @@ func (r *Repository) AWSCloudFormationType() string { func (r Repository) MarshalJSON() ([]byte, error) { type Properties Repository return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -82,12 +87,13 @@ func (r Repository) MarshalJSON() ([]byte, error) { func (r *Repository) UnmarshalJSON(b []byte) error { type Properties Repository res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -111,6 +117,9 @@ func (r *Repository) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/codecommit/aws-codecommit-repository_code.go b/cloudformation/codecommit/aws-codecommit-repository_code.go index b8880acfc0..0a9089b037 100644 --- a/cloudformation/codecommit/aws-codecommit-repository_code.go +++ b/cloudformation/codecommit/aws-codecommit-repository_code.go @@ -16,6 +16,9 @@ type Repository_Code struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codecommit/aws-codecommit-repository_repositorytrigger.go b/cloudformation/codecommit/aws-codecommit-repository_repositorytrigger.go index 734ff3f26e..80554dfbac 100644 --- a/cloudformation/codecommit/aws-codecommit-repository_repositorytrigger.go +++ b/cloudformation/codecommit/aws-codecommit-repository_repositorytrigger.go @@ -36,6 +36,9 @@ type Repository_RepositoryTrigger struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codecommit/aws-codecommit-repository_s3.go b/cloudformation/codecommit/aws-codecommit-repository_s3.go index 9efb9cffd7..d673a84128 100644 --- a/cloudformation/codecommit/aws-codecommit-repository_s3.go +++ b/cloudformation/codecommit/aws-codecommit-repository_s3.go @@ -26,6 +26,9 @@ type Repository_S3 struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codedeploy/aws-codedeploy-application.go b/cloudformation/codedeploy/aws-codedeploy-application.go index 212014c047..094920aaf2 100644 --- a/cloudformation/codedeploy/aws-codedeploy-application.go +++ b/cloudformation/codedeploy/aws-codedeploy-application.go @@ -25,6 +25,9 @@ type Application struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *Application) AWSCloudFormationType() string { func (r Application) MarshalJSON() ([]byte, error) { type Properties Application return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r Application) MarshalJSON() ([]byte, error) { func (r *Application) UnmarshalJSON(b []byte) error { type Properties Application res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *Application) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/codedeploy/aws-codedeploy-deploymentconfig.go b/cloudformation/codedeploy/aws-codedeploy-deploymentconfig.go index d6ee80d923..601d4e0cd9 100644 --- a/cloudformation/codedeploy/aws-codedeploy-deploymentconfig.go +++ b/cloudformation/codedeploy/aws-codedeploy-deploymentconfig.go @@ -25,6 +25,9 @@ type DeploymentConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *DeploymentConfig) AWSCloudFormationType() string { func (r DeploymentConfig) MarshalJSON() ([]byte, error) { type Properties DeploymentConfig return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r DeploymentConfig) MarshalJSON() ([]byte, error) { func (r *DeploymentConfig) UnmarshalJSON(b []byte) error { type Properties DeploymentConfig res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *DeploymentConfig) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/codedeploy/aws-codedeploy-deploymentconfig_minimumhealthyhosts.go b/cloudformation/codedeploy/aws-codedeploy-deploymentconfig_minimumhealthyhosts.go index 550489d573..d1b3ce0df5 100644 --- a/cloudformation/codedeploy/aws-codedeploy-deploymentconfig_minimumhealthyhosts.go +++ b/cloudformation/codedeploy/aws-codedeploy-deploymentconfig_minimumhealthyhosts.go @@ -21,6 +21,9 @@ type DeploymentConfig_MinimumHealthyHosts struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codedeploy/aws-codedeploy-deploymentgroup.go b/cloudformation/codedeploy/aws-codedeploy-deploymentgroup.go index 82fb220084..870e97c404 100644 --- a/cloudformation/codedeploy/aws-codedeploy-deploymentgroup.go +++ b/cloudformation/codedeploy/aws-codedeploy-deploymentgroup.go @@ -90,6 +90,9 @@ type DeploymentGroup struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -110,19 +113,21 @@ func (r *DeploymentGroup) AWSCloudFormationType() string { func (r DeploymentGroup) MarshalJSON() ([]byte, error) { type Properties DeploymentGroup return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -131,12 +136,13 @@ func (r DeploymentGroup) MarshalJSON() ([]byte, error) { func (r *DeploymentGroup) UnmarshalJSON(b []byte) error { type Properties DeploymentGroup res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -160,6 +166,9 @@ func (r *DeploymentGroup) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_alarm.go b/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_alarm.go index a27b0a2707..2306657365 100644 --- a/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_alarm.go +++ b/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_alarm.go @@ -16,6 +16,9 @@ type DeploymentGroup_Alarm struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_alarmconfiguration.go b/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_alarmconfiguration.go index 46ca3477c1..73c0d75de7 100644 --- a/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_alarmconfiguration.go +++ b/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_alarmconfiguration.go @@ -26,6 +26,9 @@ type DeploymentGroup_AlarmConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_autorollbackconfiguration.go b/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_autorollbackconfiguration.go index e9c0bb5dc7..190e2b8335 100644 --- a/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_autorollbackconfiguration.go +++ b/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_autorollbackconfiguration.go @@ -21,6 +21,9 @@ type DeploymentGroup_AutoRollbackConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_deployment.go b/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_deployment.go index 47ae59b383..ebb5b7cfb9 100644 --- a/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_deployment.go +++ b/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_deployment.go @@ -26,6 +26,9 @@ type DeploymentGroup_Deployment struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_deploymentstyle.go b/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_deploymentstyle.go index 8802922823..08aa0ac5d2 100644 --- a/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_deploymentstyle.go +++ b/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_deploymentstyle.go @@ -21,6 +21,9 @@ type DeploymentGroup_DeploymentStyle struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_ec2tagfilter.go b/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_ec2tagfilter.go index 790d41ca39..82ef6f76e2 100644 --- a/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_ec2tagfilter.go +++ b/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_ec2tagfilter.go @@ -26,6 +26,9 @@ type DeploymentGroup_EC2TagFilter struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_ec2tagset.go b/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_ec2tagset.go index 652b31f439..f01af4f99e 100644 --- a/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_ec2tagset.go +++ b/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_ec2tagset.go @@ -16,6 +16,9 @@ type DeploymentGroup_EC2TagSet struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_ec2tagsetlistobject.go b/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_ec2tagsetlistobject.go index 2eb0fc757a..c8777eec99 100644 --- a/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_ec2tagsetlistobject.go +++ b/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_ec2tagsetlistobject.go @@ -16,6 +16,9 @@ type DeploymentGroup_EC2TagSetListObject struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_elbinfo.go b/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_elbinfo.go index 1a37f3735a..337ea746eb 100644 --- a/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_elbinfo.go +++ b/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_elbinfo.go @@ -16,6 +16,9 @@ type DeploymentGroup_ELBInfo struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_githublocation.go b/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_githublocation.go index ef11445627..a1b4fbcfe5 100644 --- a/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_githublocation.go +++ b/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_githublocation.go @@ -21,6 +21,9 @@ type DeploymentGroup_GitHubLocation struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_loadbalancerinfo.go b/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_loadbalancerinfo.go index e3558683a5..cd3db09eba 100644 --- a/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_loadbalancerinfo.go +++ b/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_loadbalancerinfo.go @@ -21,6 +21,9 @@ type DeploymentGroup_LoadBalancerInfo struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_onpremisestagset.go b/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_onpremisestagset.go index 2005d4bd18..9270257b81 100644 --- a/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_onpremisestagset.go +++ b/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_onpremisestagset.go @@ -16,6 +16,9 @@ type DeploymentGroup_OnPremisesTagSet struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_onpremisestagsetlistobject.go b/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_onpremisestagsetlistobject.go index c39f476945..f4b5e38d71 100644 --- a/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_onpremisestagsetlistobject.go +++ b/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_onpremisestagsetlistobject.go @@ -16,6 +16,9 @@ type DeploymentGroup_OnPremisesTagSetListObject struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_revisionlocation.go b/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_revisionlocation.go index 0b98bd0621..2037361520 100644 --- a/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_revisionlocation.go +++ b/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_revisionlocation.go @@ -26,6 +26,9 @@ type DeploymentGroup_RevisionLocation struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_s3location.go b/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_s3location.go index 8814a24505..59ff307e77 100644 --- a/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_s3location.go +++ b/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_s3location.go @@ -36,6 +36,9 @@ type DeploymentGroup_S3Location struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_tagfilter.go b/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_tagfilter.go index 0946d5b324..279979f02c 100644 --- a/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_tagfilter.go +++ b/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_tagfilter.go @@ -26,6 +26,9 @@ type DeploymentGroup_TagFilter struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_targetgroupinfo.go b/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_targetgroupinfo.go index a05d125ee2..16207f2184 100644 --- a/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_targetgroupinfo.go +++ b/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_targetgroupinfo.go @@ -16,6 +16,9 @@ type DeploymentGroup_TargetGroupInfo struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_triggerconfig.go b/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_triggerconfig.go index 3b74e44c48..11202b5540 100644 --- a/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_triggerconfig.go +++ b/cloudformation/codedeploy/aws-codedeploy-deploymentgroup_triggerconfig.go @@ -26,6 +26,9 @@ type DeploymentGroup_TriggerConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codeguruprofiler/aws-codeguruprofiler-profilinggroup.go b/cloudformation/codeguruprofiler/aws-codeguruprofiler-profilinggroup.go new file mode 100644 index 0000000000..a9607aebe0 --- /dev/null +++ b/cloudformation/codeguruprofiler/aws-codeguruprofiler-profilinggroup.go @@ -0,0 +1,111 @@ +package codeguruprofiler + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ProfilingGroup AWS CloudFormation Resource (AWS::CodeGuruProfiler::ProfilingGroup) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeguruprofiler-profilinggroup.html +type ProfilingGroup struct { + + // AgentPermissions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeguruprofiler-profilinggroup.html#cfn-codeguruprofiler-profilinggroup-agentpermissions + AgentPermissions interface{} `json:"AgentPermissions,omitempty"` + + // ProfilingGroupName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeguruprofiler-profilinggroup.html#cfn-codeguruprofiler-profilinggroup-profilinggroupname + ProfilingGroupName string `json:"ProfilingGroupName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ProfilingGroup) AWSCloudFormationType() string { + return "AWS::CodeGuruProfiler::ProfilingGroup" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r ProfilingGroup) MarshalJSON() ([]byte, error) { + type Properties ProfilingGroup + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *ProfilingGroup) UnmarshalJSON(b []byte) error { + type Properties ProfilingGroup + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = ProfilingGroup(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/codepipeline/aws-codepipeline-customactiontype.go b/cloudformation/codepipeline/aws-codepipeline-customactiontype.go index 8b22803444..ed4606e36d 100644 --- a/cloudformation/codepipeline/aws-codepipeline-customactiontype.go +++ b/cloudformation/codepipeline/aws-codepipeline-customactiontype.go @@ -56,6 +56,9 @@ type CustomActionType struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -76,19 +79,21 @@ func (r *CustomActionType) AWSCloudFormationType() string { func (r CustomActionType) MarshalJSON() ([]byte, error) { type Properties CustomActionType return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -97,12 +102,13 @@ func (r CustomActionType) MarshalJSON() ([]byte, error) { func (r *CustomActionType) UnmarshalJSON(b []byte) error { type Properties CustomActionType res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -126,6 +132,9 @@ func (r *CustomActionType) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/codepipeline/aws-codepipeline-customactiontype_artifactdetails.go b/cloudformation/codepipeline/aws-codepipeline-customactiontype_artifactdetails.go index 99dfa6c24d..0965301339 100644 --- a/cloudformation/codepipeline/aws-codepipeline-customactiontype_artifactdetails.go +++ b/cloudformation/codepipeline/aws-codepipeline-customactiontype_artifactdetails.go @@ -21,6 +21,9 @@ type CustomActionType_ArtifactDetails struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codepipeline/aws-codepipeline-customactiontype_configurationproperties.go b/cloudformation/codepipeline/aws-codepipeline-customactiontype_configurationproperties.go index 95dcc0b320..ded68e09d8 100644 --- a/cloudformation/codepipeline/aws-codepipeline-customactiontype_configurationproperties.go +++ b/cloudformation/codepipeline/aws-codepipeline-customactiontype_configurationproperties.go @@ -46,6 +46,9 @@ type CustomActionType_ConfigurationProperties struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codepipeline/aws-codepipeline-customactiontype_settings.go b/cloudformation/codepipeline/aws-codepipeline-customactiontype_settings.go index 122069054e..b73e565325 100644 --- a/cloudformation/codepipeline/aws-codepipeline-customactiontype_settings.go +++ b/cloudformation/codepipeline/aws-codepipeline-customactiontype_settings.go @@ -31,6 +31,9 @@ type CustomActionType_Settings struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codepipeline/aws-codepipeline-pipeline.go b/cloudformation/codepipeline/aws-codepipeline-pipeline.go index 2646f86d4a..b3dc8c02cb 100644 --- a/cloudformation/codepipeline/aws-codepipeline-pipeline.go +++ b/cloudformation/codepipeline/aws-codepipeline-pipeline.go @@ -56,6 +56,9 @@ type Pipeline struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -76,19 +79,21 @@ func (r *Pipeline) AWSCloudFormationType() string { func (r Pipeline) MarshalJSON() ([]byte, error) { type Properties Pipeline return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -97,12 +102,13 @@ func (r Pipeline) MarshalJSON() ([]byte, error) { func (r *Pipeline) UnmarshalJSON(b []byte) error { type Properties Pipeline res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -126,6 +132,9 @@ func (r *Pipeline) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/codepipeline/aws-codepipeline-pipeline_actiondeclaration.go b/cloudformation/codepipeline/aws-codepipeline-pipeline_actiondeclaration.go index d7ac3cebe0..253922ff98 100644 --- a/cloudformation/codepipeline/aws-codepipeline-pipeline_actiondeclaration.go +++ b/cloudformation/codepipeline/aws-codepipeline-pipeline_actiondeclaration.go @@ -56,6 +56,9 @@ type Pipeline_ActionDeclaration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codepipeline/aws-codepipeline-pipeline_actiontypeid.go b/cloudformation/codepipeline/aws-codepipeline-pipeline_actiontypeid.go index 46b5ef90bc..27fa3c663c 100644 --- a/cloudformation/codepipeline/aws-codepipeline-pipeline_actiontypeid.go +++ b/cloudformation/codepipeline/aws-codepipeline-pipeline_actiontypeid.go @@ -31,6 +31,9 @@ type Pipeline_ActionTypeId struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codepipeline/aws-codepipeline-pipeline_artifactstore.go b/cloudformation/codepipeline/aws-codepipeline-pipeline_artifactstore.go index e14f93fa1d..726da891db 100644 --- a/cloudformation/codepipeline/aws-codepipeline-pipeline_artifactstore.go +++ b/cloudformation/codepipeline/aws-codepipeline-pipeline_artifactstore.go @@ -26,6 +26,9 @@ type Pipeline_ArtifactStore struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codepipeline/aws-codepipeline-pipeline_artifactstoremap.go b/cloudformation/codepipeline/aws-codepipeline-pipeline_artifactstoremap.go index 5b027fbaf0..fdc36a8743 100644 --- a/cloudformation/codepipeline/aws-codepipeline-pipeline_artifactstoremap.go +++ b/cloudformation/codepipeline/aws-codepipeline-pipeline_artifactstoremap.go @@ -21,6 +21,9 @@ type Pipeline_ArtifactStoreMap struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codepipeline/aws-codepipeline-pipeline_blockerdeclaration.go b/cloudformation/codepipeline/aws-codepipeline-pipeline_blockerdeclaration.go index ff51444ddc..fc00a8b913 100644 --- a/cloudformation/codepipeline/aws-codepipeline-pipeline_blockerdeclaration.go +++ b/cloudformation/codepipeline/aws-codepipeline-pipeline_blockerdeclaration.go @@ -21,6 +21,9 @@ type Pipeline_BlockerDeclaration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codepipeline/aws-codepipeline-pipeline_encryptionkey.go b/cloudformation/codepipeline/aws-codepipeline-pipeline_encryptionkey.go index 9c642aa6c7..6667dcc3a8 100644 --- a/cloudformation/codepipeline/aws-codepipeline-pipeline_encryptionkey.go +++ b/cloudformation/codepipeline/aws-codepipeline-pipeline_encryptionkey.go @@ -21,6 +21,9 @@ type Pipeline_EncryptionKey struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codepipeline/aws-codepipeline-pipeline_inputartifact.go b/cloudformation/codepipeline/aws-codepipeline-pipeline_inputartifact.go index 7c2dea8def..2e95beb5b8 100644 --- a/cloudformation/codepipeline/aws-codepipeline-pipeline_inputartifact.go +++ b/cloudformation/codepipeline/aws-codepipeline-pipeline_inputartifact.go @@ -16,6 +16,9 @@ type Pipeline_InputArtifact struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codepipeline/aws-codepipeline-pipeline_outputartifact.go b/cloudformation/codepipeline/aws-codepipeline-pipeline_outputartifact.go index aeae654b47..f948e38805 100644 --- a/cloudformation/codepipeline/aws-codepipeline-pipeline_outputartifact.go +++ b/cloudformation/codepipeline/aws-codepipeline-pipeline_outputartifact.go @@ -16,6 +16,9 @@ type Pipeline_OutputArtifact struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codepipeline/aws-codepipeline-pipeline_stagedeclaration.go b/cloudformation/codepipeline/aws-codepipeline-pipeline_stagedeclaration.go index 4e203662c3..ab07a535dd 100644 --- a/cloudformation/codepipeline/aws-codepipeline-pipeline_stagedeclaration.go +++ b/cloudformation/codepipeline/aws-codepipeline-pipeline_stagedeclaration.go @@ -26,6 +26,9 @@ type Pipeline_StageDeclaration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codepipeline/aws-codepipeline-pipeline_stagetransition.go b/cloudformation/codepipeline/aws-codepipeline-pipeline_stagetransition.go index 825b626946..01c0943e60 100644 --- a/cloudformation/codepipeline/aws-codepipeline-pipeline_stagetransition.go +++ b/cloudformation/codepipeline/aws-codepipeline-pipeline_stagetransition.go @@ -21,6 +21,9 @@ type Pipeline_StageTransition struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codepipeline/aws-codepipeline-webhook.go b/cloudformation/codepipeline/aws-codepipeline-webhook.go index 189c4c32a0..1ec67d5f95 100644 --- a/cloudformation/codepipeline/aws-codepipeline-webhook.go +++ b/cloudformation/codepipeline/aws-codepipeline-webhook.go @@ -55,6 +55,9 @@ type Webhook struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -75,19 +78,21 @@ func (r *Webhook) AWSCloudFormationType() string { func (r Webhook) MarshalJSON() ([]byte, error) { type Properties Webhook return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -96,12 +101,13 @@ func (r Webhook) MarshalJSON() ([]byte, error) { func (r *Webhook) UnmarshalJSON(b []byte) error { type Properties Webhook res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -125,6 +131,9 @@ func (r *Webhook) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/codepipeline/aws-codepipeline-webhook_webhookauthconfiguration.go b/cloudformation/codepipeline/aws-codepipeline-webhook_webhookauthconfiguration.go index 7f607fd16d..d10af8a0f6 100644 --- a/cloudformation/codepipeline/aws-codepipeline-webhook_webhookauthconfiguration.go +++ b/cloudformation/codepipeline/aws-codepipeline-webhook_webhookauthconfiguration.go @@ -21,6 +21,9 @@ type Webhook_WebhookAuthConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codepipeline/aws-codepipeline-webhook_webhookfilterrule.go b/cloudformation/codepipeline/aws-codepipeline-webhook_webhookfilterrule.go index 4c83775505..b5bb1a0903 100644 --- a/cloudformation/codepipeline/aws-codepipeline-webhook_webhookfilterrule.go +++ b/cloudformation/codepipeline/aws-codepipeline-webhook_webhookfilterrule.go @@ -21,6 +21,9 @@ type Webhook_WebhookFilterRule struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codestar/aws-codestar-githubrepository.go b/cloudformation/codestar/aws-codestar-githubrepository.go index 8b87794db8..37e260b0d5 100644 --- a/cloudformation/codestar/aws-codestar-githubrepository.go +++ b/cloudformation/codestar/aws-codestar-githubrepository.go @@ -50,6 +50,9 @@ type GitHubRepository struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -70,19 +73,21 @@ func (r *GitHubRepository) AWSCloudFormationType() string { func (r GitHubRepository) MarshalJSON() ([]byte, error) { type Properties GitHubRepository return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -91,12 +96,13 @@ func (r GitHubRepository) MarshalJSON() ([]byte, error) { func (r *GitHubRepository) UnmarshalJSON(b []byte) error { type Properties GitHubRepository res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -120,6 +126,9 @@ func (r *GitHubRepository) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/codestar/aws-codestar-githubrepository_code.go b/cloudformation/codestar/aws-codestar-githubrepository_code.go index c6616f5b9f..14ce49eb40 100644 --- a/cloudformation/codestar/aws-codestar-githubrepository_code.go +++ b/cloudformation/codestar/aws-codestar-githubrepository_code.go @@ -16,6 +16,9 @@ type GitHubRepository_Code struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codestar/aws-codestar-githubrepository_s3.go b/cloudformation/codestar/aws-codestar-githubrepository_s3.go index a1818a198b..d7ecc4a672 100644 --- a/cloudformation/codestar/aws-codestar-githubrepository_s3.go +++ b/cloudformation/codestar/aws-codestar-githubrepository_s3.go @@ -26,6 +26,9 @@ type GitHubRepository_S3 struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/codestarconnections/aws-codestarconnections-connection.go b/cloudformation/codestarconnections/aws-codestarconnections-connection.go new file mode 100644 index 0000000000..a174883343 --- /dev/null +++ b/cloudformation/codestarconnections/aws-codestarconnections-connection.go @@ -0,0 +1,117 @@ +package codestarconnections + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// Connection AWS CloudFormation Resource (AWS::CodeStarConnections::Connection) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-connection.html +type Connection struct { + + // ConnectionName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-connection.html#cfn-codestarconnections-connection-connectionname + ConnectionName string `json:"ConnectionName,omitempty"` + + // ProviderType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-connection.html#cfn-codestarconnections-connection-providertype + ProviderType string `json:"ProviderType,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-connection.html#cfn-codestarconnections-connection-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Connection) AWSCloudFormationType() string { + return "AWS::CodeStarConnections::Connection" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r Connection) MarshalJSON() ([]byte, error) { + type Properties Connection + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *Connection) UnmarshalJSON(b []byte) error { + type Properties Connection + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = Connection(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/codestarnotifications/aws-codestarnotifications-notificationrule.go b/cloudformation/codestarnotifications/aws-codestarnotifications-notificationrule.go index 3644d81c74..de75027496 100644 --- a/cloudformation/codestarnotifications/aws-codestarnotifications-notificationrule.go +++ b/cloudformation/codestarnotifications/aws-codestarnotifications-notificationrule.go @@ -50,6 +50,9 @@ type NotificationRule struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -70,19 +73,21 @@ func (r *NotificationRule) AWSCloudFormationType() string { func (r NotificationRule) MarshalJSON() ([]byte, error) { type Properties NotificationRule return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -91,12 +96,13 @@ func (r NotificationRule) MarshalJSON() ([]byte, error) { func (r *NotificationRule) UnmarshalJSON(b []byte) error { type Properties NotificationRule res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -120,6 +126,9 @@ func (r *NotificationRule) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/codestarnotifications/aws-codestarnotifications-notificationrule_target.go b/cloudformation/codestarnotifications/aws-codestarnotifications-notificationrule_target.go index 8e41347bd6..cd994f3a91 100644 --- a/cloudformation/codestarnotifications/aws-codestarnotifications-notificationrule_target.go +++ b/cloudformation/codestarnotifications/aws-codestarnotifications-notificationrule_target.go @@ -21,6 +21,9 @@ type NotificationRule_Target struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cognito/aws-cognito-identitypool.go b/cloudformation/cognito/aws-cognito-identitypool.go index ddc0198238..0d1befa1c8 100644 --- a/cloudformation/cognito/aws-cognito-identitypool.go +++ b/cloudformation/cognito/aws-cognito-identitypool.go @@ -70,6 +70,9 @@ type IdentityPool struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -90,19 +93,21 @@ func (r *IdentityPool) AWSCloudFormationType() string { func (r IdentityPool) MarshalJSON() ([]byte, error) { type Properties IdentityPool return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -111,12 +116,13 @@ func (r IdentityPool) MarshalJSON() ([]byte, error) { func (r *IdentityPool) UnmarshalJSON(b []byte) error { type Properties IdentityPool res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -140,6 +146,9 @@ func (r *IdentityPool) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/cognito/aws-cognito-identitypool_cognitoidentityprovider.go b/cloudformation/cognito/aws-cognito-identitypool_cognitoidentityprovider.go index e75abdf6d8..57387d8e19 100644 --- a/cloudformation/cognito/aws-cognito-identitypool_cognitoidentityprovider.go +++ b/cloudformation/cognito/aws-cognito-identitypool_cognitoidentityprovider.go @@ -26,6 +26,9 @@ type IdentityPool_CognitoIdentityProvider struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cognito/aws-cognito-identitypool_cognitostreams.go b/cloudformation/cognito/aws-cognito-identitypool_cognitostreams.go index 939ad08e95..53bc9cdc88 100644 --- a/cloudformation/cognito/aws-cognito-identitypool_cognitostreams.go +++ b/cloudformation/cognito/aws-cognito-identitypool_cognitostreams.go @@ -26,6 +26,9 @@ type IdentityPool_CognitoStreams struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cognito/aws-cognito-identitypool_pushsync.go b/cloudformation/cognito/aws-cognito-identitypool_pushsync.go index efb1748e79..0123263880 100644 --- a/cloudformation/cognito/aws-cognito-identitypool_pushsync.go +++ b/cloudformation/cognito/aws-cognito-identitypool_pushsync.go @@ -21,6 +21,9 @@ type IdentityPool_PushSync struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cognito/aws-cognito-identitypoolroleattachment.go b/cloudformation/cognito/aws-cognito-identitypoolroleattachment.go index 4e01a37980..a85c48544a 100644 --- a/cloudformation/cognito/aws-cognito-identitypoolroleattachment.go +++ b/cloudformation/cognito/aws-cognito-identitypoolroleattachment.go @@ -30,6 +30,9 @@ type IdentityPoolRoleAttachment struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *IdentityPoolRoleAttachment) AWSCloudFormationType() string { func (r IdentityPoolRoleAttachment) MarshalJSON() ([]byte, error) { type Properties IdentityPoolRoleAttachment return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r IdentityPoolRoleAttachment) MarshalJSON() ([]byte, error) { func (r *IdentityPoolRoleAttachment) UnmarshalJSON(b []byte) error { type Properties IdentityPoolRoleAttachment res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *IdentityPoolRoleAttachment) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/cognito/aws-cognito-identitypoolroleattachment_mappingrule.go b/cloudformation/cognito/aws-cognito-identitypoolroleattachment_mappingrule.go index 690a0d679a..182def3496 100644 --- a/cloudformation/cognito/aws-cognito-identitypoolroleattachment_mappingrule.go +++ b/cloudformation/cognito/aws-cognito-identitypoolroleattachment_mappingrule.go @@ -31,6 +31,9 @@ type IdentityPoolRoleAttachment_MappingRule struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cognito/aws-cognito-identitypoolroleattachment_rolemapping.go b/cloudformation/cognito/aws-cognito-identitypoolroleattachment_rolemapping.go index f4f7c47f93..ca65e9d6ce 100644 --- a/cloudformation/cognito/aws-cognito-identitypoolroleattachment_rolemapping.go +++ b/cloudformation/cognito/aws-cognito-identitypoolroleattachment_rolemapping.go @@ -31,6 +31,9 @@ type IdentityPoolRoleAttachment_RoleMapping struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cognito/aws-cognito-identitypoolroleattachment_rulesconfigurationtype.go b/cloudformation/cognito/aws-cognito-identitypoolroleattachment_rulesconfigurationtype.go index 3663d24471..694b2a430e 100644 --- a/cloudformation/cognito/aws-cognito-identitypoolroleattachment_rulesconfigurationtype.go +++ b/cloudformation/cognito/aws-cognito-identitypoolroleattachment_rulesconfigurationtype.go @@ -16,6 +16,9 @@ type IdentityPoolRoleAttachment_RulesConfigurationType struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cognito/aws-cognito-userpool.go b/cloudformation/cognito/aws-cognito-userpool.go index 9376de4fec..1fd2541ab9 100644 --- a/cloudformation/cognito/aws-cognito-userpool.go +++ b/cloudformation/cognito/aws-cognito-userpool.go @@ -125,6 +125,9 @@ type UserPool struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -145,19 +148,21 @@ func (r *UserPool) AWSCloudFormationType() string { func (r UserPool) MarshalJSON() ([]byte, error) { type Properties UserPool return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -166,12 +171,13 @@ func (r UserPool) MarshalJSON() ([]byte, error) { func (r *UserPool) UnmarshalJSON(b []byte) error { type Properties UserPool res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -195,6 +201,9 @@ func (r *UserPool) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/cognito/aws-cognito-userpool_accountrecoverysetting.go b/cloudformation/cognito/aws-cognito-userpool_accountrecoverysetting.go index 1b61f8ba09..8ed9061ed5 100644 --- a/cloudformation/cognito/aws-cognito-userpool_accountrecoverysetting.go +++ b/cloudformation/cognito/aws-cognito-userpool_accountrecoverysetting.go @@ -16,6 +16,9 @@ type UserPool_AccountRecoverySetting struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cognito/aws-cognito-userpool_admincreateuserconfig.go b/cloudformation/cognito/aws-cognito-userpool_admincreateuserconfig.go index 794520750e..cd4f6dded5 100644 --- a/cloudformation/cognito/aws-cognito-userpool_admincreateuserconfig.go +++ b/cloudformation/cognito/aws-cognito-userpool_admincreateuserconfig.go @@ -26,6 +26,9 @@ type UserPool_AdminCreateUserConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cognito/aws-cognito-userpool_deviceconfiguration.go b/cloudformation/cognito/aws-cognito-userpool_deviceconfiguration.go index 3546b27044..e16177dba2 100644 --- a/cloudformation/cognito/aws-cognito-userpool_deviceconfiguration.go +++ b/cloudformation/cognito/aws-cognito-userpool_deviceconfiguration.go @@ -21,6 +21,9 @@ type UserPool_DeviceConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cognito/aws-cognito-userpool_emailconfiguration.go b/cloudformation/cognito/aws-cognito-userpool_emailconfiguration.go index 700ab648de..df12a39421 100644 --- a/cloudformation/cognito/aws-cognito-userpool_emailconfiguration.go +++ b/cloudformation/cognito/aws-cognito-userpool_emailconfiguration.go @@ -36,6 +36,9 @@ type UserPool_EmailConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cognito/aws-cognito-userpool_invitemessagetemplate.go b/cloudformation/cognito/aws-cognito-userpool_invitemessagetemplate.go index c86f82264f..18669d3b62 100644 --- a/cloudformation/cognito/aws-cognito-userpool_invitemessagetemplate.go +++ b/cloudformation/cognito/aws-cognito-userpool_invitemessagetemplate.go @@ -26,6 +26,9 @@ type UserPool_InviteMessageTemplate struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cognito/aws-cognito-userpool_lambdaconfig.go b/cloudformation/cognito/aws-cognito-userpool_lambdaconfig.go index 79b9a3e25d..05b33f2986 100644 --- a/cloudformation/cognito/aws-cognito-userpool_lambdaconfig.go +++ b/cloudformation/cognito/aws-cognito-userpool_lambdaconfig.go @@ -61,6 +61,9 @@ type UserPool_LambdaConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cognito/aws-cognito-userpool_numberattributeconstraints.go b/cloudformation/cognito/aws-cognito-userpool_numberattributeconstraints.go index 44f827dba0..f0eb1cab70 100644 --- a/cloudformation/cognito/aws-cognito-userpool_numberattributeconstraints.go +++ b/cloudformation/cognito/aws-cognito-userpool_numberattributeconstraints.go @@ -21,6 +21,9 @@ type UserPool_NumberAttributeConstraints struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cognito/aws-cognito-userpool_passwordpolicy.go b/cloudformation/cognito/aws-cognito-userpool_passwordpolicy.go index 8e6528073e..ad4d681605 100644 --- a/cloudformation/cognito/aws-cognito-userpool_passwordpolicy.go +++ b/cloudformation/cognito/aws-cognito-userpool_passwordpolicy.go @@ -41,6 +41,9 @@ type UserPool_PasswordPolicy struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cognito/aws-cognito-userpool_policies.go b/cloudformation/cognito/aws-cognito-userpool_policies.go index bc18c2698f..b4b6366cd5 100644 --- a/cloudformation/cognito/aws-cognito-userpool_policies.go +++ b/cloudformation/cognito/aws-cognito-userpool_policies.go @@ -16,6 +16,9 @@ type UserPool_Policies struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cognito/aws-cognito-userpool_recoveryoption.go b/cloudformation/cognito/aws-cognito-userpool_recoveryoption.go index af07c8f325..99c9a757ac 100644 --- a/cloudformation/cognito/aws-cognito-userpool_recoveryoption.go +++ b/cloudformation/cognito/aws-cognito-userpool_recoveryoption.go @@ -21,6 +21,9 @@ type UserPool_RecoveryOption struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cognito/aws-cognito-userpool_schemaattribute.go b/cloudformation/cognito/aws-cognito-userpool_schemaattribute.go index ad6ad7283e..8412e6da85 100644 --- a/cloudformation/cognito/aws-cognito-userpool_schemaattribute.go +++ b/cloudformation/cognito/aws-cognito-userpool_schemaattribute.go @@ -46,6 +46,9 @@ type UserPool_SchemaAttribute struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cognito/aws-cognito-userpool_smsconfiguration.go b/cloudformation/cognito/aws-cognito-userpool_smsconfiguration.go index 8bf16254f9..6d1d0c7580 100644 --- a/cloudformation/cognito/aws-cognito-userpool_smsconfiguration.go +++ b/cloudformation/cognito/aws-cognito-userpool_smsconfiguration.go @@ -21,6 +21,9 @@ type UserPool_SmsConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cognito/aws-cognito-userpool_stringattributeconstraints.go b/cloudformation/cognito/aws-cognito-userpool_stringattributeconstraints.go index 7f054c5c60..d075088656 100644 --- a/cloudformation/cognito/aws-cognito-userpool_stringattributeconstraints.go +++ b/cloudformation/cognito/aws-cognito-userpool_stringattributeconstraints.go @@ -21,6 +21,9 @@ type UserPool_StringAttributeConstraints struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cognito/aws-cognito-userpool_usernameconfiguration.go b/cloudformation/cognito/aws-cognito-userpool_usernameconfiguration.go index d0b9fc10ff..83d58b298a 100644 --- a/cloudformation/cognito/aws-cognito-userpool_usernameconfiguration.go +++ b/cloudformation/cognito/aws-cognito-userpool_usernameconfiguration.go @@ -16,6 +16,9 @@ type UserPool_UsernameConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cognito/aws-cognito-userpool_userpooladdons.go b/cloudformation/cognito/aws-cognito-userpool_userpooladdons.go index 802c96fd38..0999d6a01c 100644 --- a/cloudformation/cognito/aws-cognito-userpool_userpooladdons.go +++ b/cloudformation/cognito/aws-cognito-userpool_userpooladdons.go @@ -16,6 +16,9 @@ type UserPool_UserPoolAddOns struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cognito/aws-cognito-userpool_verificationmessagetemplate.go b/cloudformation/cognito/aws-cognito-userpool_verificationmessagetemplate.go index 40b075727a..929be04e69 100644 --- a/cloudformation/cognito/aws-cognito-userpool_verificationmessagetemplate.go +++ b/cloudformation/cognito/aws-cognito-userpool_verificationmessagetemplate.go @@ -41,6 +41,9 @@ type UserPool_VerificationMessageTemplate struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cognito/aws-cognito-userpoolclient.go b/cloudformation/cognito/aws-cognito-userpoolclient.go index 0c006511e1..4daf59b77c 100644 --- a/cloudformation/cognito/aws-cognito-userpoolclient.go +++ b/cloudformation/cognito/aws-cognito-userpoolclient.go @@ -95,6 +95,9 @@ type UserPoolClient struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -115,19 +118,21 @@ func (r *UserPoolClient) AWSCloudFormationType() string { func (r UserPoolClient) MarshalJSON() ([]byte, error) { type Properties UserPoolClient return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -136,12 +141,13 @@ func (r UserPoolClient) MarshalJSON() ([]byte, error) { func (r *UserPoolClient) UnmarshalJSON(b []byte) error { type Properties UserPoolClient res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -165,6 +171,9 @@ func (r *UserPoolClient) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/cognito/aws-cognito-userpoolclient_analyticsconfiguration.go b/cloudformation/cognito/aws-cognito-userpoolclient_analyticsconfiguration.go index f5ec6b275b..309fa681e3 100644 --- a/cloudformation/cognito/aws-cognito-userpoolclient_analyticsconfiguration.go +++ b/cloudformation/cognito/aws-cognito-userpoolclient_analyticsconfiguration.go @@ -31,6 +31,9 @@ type UserPoolClient_AnalyticsConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cognito/aws-cognito-userpooldomain.go b/cloudformation/cognito/aws-cognito-userpooldomain.go index 6410ac813c..805f24afc1 100644 --- a/cloudformation/cognito/aws-cognito-userpooldomain.go +++ b/cloudformation/cognito/aws-cognito-userpooldomain.go @@ -30,6 +30,9 @@ type UserPoolDomain struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *UserPoolDomain) AWSCloudFormationType() string { func (r UserPoolDomain) MarshalJSON() ([]byte, error) { type Properties UserPoolDomain return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r UserPoolDomain) MarshalJSON() ([]byte, error) { func (r *UserPoolDomain) UnmarshalJSON(b []byte) error { type Properties UserPoolDomain res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *UserPoolDomain) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/cognito/aws-cognito-userpooldomain_customdomainconfigtype.go b/cloudformation/cognito/aws-cognito-userpooldomain_customdomainconfigtype.go index dfb46782b1..ab8577c9ad 100644 --- a/cloudformation/cognito/aws-cognito-userpooldomain_customdomainconfigtype.go +++ b/cloudformation/cognito/aws-cognito-userpooldomain_customdomainconfigtype.go @@ -16,6 +16,9 @@ type UserPoolDomain_CustomDomainConfigType struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cognito/aws-cognito-userpoolgroup.go b/cloudformation/cognito/aws-cognito-userpoolgroup.go index bd47e3d45f..551db9c663 100644 --- a/cloudformation/cognito/aws-cognito-userpoolgroup.go +++ b/cloudformation/cognito/aws-cognito-userpoolgroup.go @@ -40,6 +40,9 @@ type UserPoolGroup struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -60,19 +63,21 @@ func (r *UserPoolGroup) AWSCloudFormationType() string { func (r UserPoolGroup) MarshalJSON() ([]byte, error) { type Properties UserPoolGroup return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -81,12 +86,13 @@ func (r UserPoolGroup) MarshalJSON() ([]byte, error) { func (r *UserPoolGroup) UnmarshalJSON(b []byte) error { type Properties UserPoolGroup res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -110,6 +116,9 @@ func (r *UserPoolGroup) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/cognito/aws-cognito-userpoolidentityprovider.go b/cloudformation/cognito/aws-cognito-userpoolidentityprovider.go index 87234c0c4e..de4a875c05 100644 --- a/cloudformation/cognito/aws-cognito-userpoolidentityprovider.go +++ b/cloudformation/cognito/aws-cognito-userpoolidentityprovider.go @@ -45,6 +45,9 @@ type UserPoolIdentityProvider struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -65,19 +68,21 @@ func (r *UserPoolIdentityProvider) AWSCloudFormationType() string { func (r UserPoolIdentityProvider) MarshalJSON() ([]byte, error) { type Properties UserPoolIdentityProvider return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -86,12 +91,13 @@ func (r UserPoolIdentityProvider) MarshalJSON() ([]byte, error) { func (r *UserPoolIdentityProvider) UnmarshalJSON(b []byte) error { type Properties UserPoolIdentityProvider res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -115,6 +121,9 @@ func (r *UserPoolIdentityProvider) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/cognito/aws-cognito-userpoolresourceserver.go b/cloudformation/cognito/aws-cognito-userpoolresourceserver.go index 6b9a72c427..e2a85b3cd6 100644 --- a/cloudformation/cognito/aws-cognito-userpoolresourceserver.go +++ b/cloudformation/cognito/aws-cognito-userpoolresourceserver.go @@ -35,6 +35,9 @@ type UserPoolResourceServer struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -55,19 +58,21 @@ func (r *UserPoolResourceServer) AWSCloudFormationType() string { func (r UserPoolResourceServer) MarshalJSON() ([]byte, error) { type Properties UserPoolResourceServer return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -76,12 +81,13 @@ func (r UserPoolResourceServer) MarshalJSON() ([]byte, error) { func (r *UserPoolResourceServer) UnmarshalJSON(b []byte) error { type Properties UserPoolResourceServer res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -105,6 +111,9 @@ func (r *UserPoolResourceServer) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/cognito/aws-cognito-userpoolresourceserver_resourceserverscopetype.go b/cloudformation/cognito/aws-cognito-userpoolresourceserver_resourceserverscopetype.go index d7ff0b158d..87dcee59c5 100644 --- a/cloudformation/cognito/aws-cognito-userpoolresourceserver_resourceserverscopetype.go +++ b/cloudformation/cognito/aws-cognito-userpoolresourceserver_resourceserverscopetype.go @@ -21,6 +21,9 @@ type UserPoolResourceServer_ResourceServerScopeType struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cognito/aws-cognito-userpoolriskconfigurationattachment.go b/cloudformation/cognito/aws-cognito-userpoolriskconfigurationattachment.go index 6f83169a4d..ad0ea1afdb 100644 --- a/cloudformation/cognito/aws-cognito-userpoolriskconfigurationattachment.go +++ b/cloudformation/cognito/aws-cognito-userpoolriskconfigurationattachment.go @@ -40,6 +40,9 @@ type UserPoolRiskConfigurationAttachment struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -60,19 +63,21 @@ func (r *UserPoolRiskConfigurationAttachment) AWSCloudFormationType() string { func (r UserPoolRiskConfigurationAttachment) MarshalJSON() ([]byte, error) { type Properties UserPoolRiskConfigurationAttachment return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -81,12 +86,13 @@ func (r UserPoolRiskConfigurationAttachment) MarshalJSON() ([]byte, error) { func (r *UserPoolRiskConfigurationAttachment) UnmarshalJSON(b []byte) error { type Properties UserPoolRiskConfigurationAttachment res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -110,6 +116,9 @@ func (r *UserPoolRiskConfigurationAttachment) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/cognito/aws-cognito-userpoolriskconfigurationattachment_accounttakeoveractionstype.go b/cloudformation/cognito/aws-cognito-userpoolriskconfigurationattachment_accounttakeoveractionstype.go index 380fe64481..b48dd2cae7 100644 --- a/cloudformation/cognito/aws-cognito-userpoolriskconfigurationattachment_accounttakeoveractionstype.go +++ b/cloudformation/cognito/aws-cognito-userpoolriskconfigurationattachment_accounttakeoveractionstype.go @@ -26,6 +26,9 @@ type UserPoolRiskConfigurationAttachment_AccountTakeoverActionsType struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cognito/aws-cognito-userpoolriskconfigurationattachment_accounttakeoveractiontype.go b/cloudformation/cognito/aws-cognito-userpoolriskconfigurationattachment_accounttakeoveractiontype.go index 85020135b1..d618842d37 100644 --- a/cloudformation/cognito/aws-cognito-userpoolriskconfigurationattachment_accounttakeoveractiontype.go +++ b/cloudformation/cognito/aws-cognito-userpoolriskconfigurationattachment_accounttakeoveractiontype.go @@ -21,6 +21,9 @@ type UserPoolRiskConfigurationAttachment_AccountTakeoverActionType struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cognito/aws-cognito-userpoolriskconfigurationattachment_accounttakeoverriskconfigurationtype.go b/cloudformation/cognito/aws-cognito-userpoolriskconfigurationattachment_accounttakeoverriskconfigurationtype.go index 017a40c506..07bfe99c94 100644 --- a/cloudformation/cognito/aws-cognito-userpoolriskconfigurationattachment_accounttakeoverriskconfigurationtype.go +++ b/cloudformation/cognito/aws-cognito-userpoolriskconfigurationattachment_accounttakeoverriskconfigurationtype.go @@ -21,6 +21,9 @@ type UserPoolRiskConfigurationAttachment_AccountTakeoverRiskConfigurationType st // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cognito/aws-cognito-userpoolriskconfigurationattachment_compromisedcredentialsactionstype.go b/cloudformation/cognito/aws-cognito-userpoolriskconfigurationattachment_compromisedcredentialsactionstype.go index 6b227d1d0f..f0eb18f46a 100644 --- a/cloudformation/cognito/aws-cognito-userpoolriskconfigurationattachment_compromisedcredentialsactionstype.go +++ b/cloudformation/cognito/aws-cognito-userpoolriskconfigurationattachment_compromisedcredentialsactionstype.go @@ -16,6 +16,9 @@ type UserPoolRiskConfigurationAttachment_CompromisedCredentialsActionsType struc // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cognito/aws-cognito-userpoolriskconfigurationattachment_compromisedcredentialsriskconfigurationtype.go b/cloudformation/cognito/aws-cognito-userpoolriskconfigurationattachment_compromisedcredentialsriskconfigurationtype.go index 2728704b0f..2f7086bb2f 100644 --- a/cloudformation/cognito/aws-cognito-userpoolriskconfigurationattachment_compromisedcredentialsriskconfigurationtype.go +++ b/cloudformation/cognito/aws-cognito-userpoolriskconfigurationattachment_compromisedcredentialsriskconfigurationtype.go @@ -21,6 +21,9 @@ type UserPoolRiskConfigurationAttachment_CompromisedCredentialsRiskConfiguration // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cognito/aws-cognito-userpoolriskconfigurationattachment_notifyconfigurationtype.go b/cloudformation/cognito/aws-cognito-userpoolriskconfigurationattachment_notifyconfigurationtype.go index f02a2ad8af..80fd34abe9 100644 --- a/cloudformation/cognito/aws-cognito-userpoolriskconfigurationattachment_notifyconfigurationtype.go +++ b/cloudformation/cognito/aws-cognito-userpoolriskconfigurationattachment_notifyconfigurationtype.go @@ -41,6 +41,9 @@ type UserPoolRiskConfigurationAttachment_NotifyConfigurationType struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cognito/aws-cognito-userpoolriskconfigurationattachment_notifyemailtype.go b/cloudformation/cognito/aws-cognito-userpoolriskconfigurationattachment_notifyemailtype.go index 69156a7ee2..a086c2850f 100644 --- a/cloudformation/cognito/aws-cognito-userpoolriskconfigurationattachment_notifyemailtype.go +++ b/cloudformation/cognito/aws-cognito-userpoolriskconfigurationattachment_notifyemailtype.go @@ -26,6 +26,9 @@ type UserPoolRiskConfigurationAttachment_NotifyEmailType struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cognito/aws-cognito-userpoolriskconfigurationattachment_riskexceptionconfigurationtype.go b/cloudformation/cognito/aws-cognito-userpoolriskconfigurationattachment_riskexceptionconfigurationtype.go index b3ca808d90..a42c41b682 100644 --- a/cloudformation/cognito/aws-cognito-userpoolriskconfigurationattachment_riskexceptionconfigurationtype.go +++ b/cloudformation/cognito/aws-cognito-userpoolriskconfigurationattachment_riskexceptionconfigurationtype.go @@ -21,6 +21,9 @@ type UserPoolRiskConfigurationAttachment_RiskExceptionConfigurationType struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cognito/aws-cognito-userpooluicustomizationattachment.go b/cloudformation/cognito/aws-cognito-userpooluicustomizationattachment.go index f1161d9c4c..4a90a55aaa 100644 --- a/cloudformation/cognito/aws-cognito-userpooluicustomizationattachment.go +++ b/cloudformation/cognito/aws-cognito-userpooluicustomizationattachment.go @@ -30,6 +30,9 @@ type UserPoolUICustomizationAttachment struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *UserPoolUICustomizationAttachment) AWSCloudFormationType() string { func (r UserPoolUICustomizationAttachment) MarshalJSON() ([]byte, error) { type Properties UserPoolUICustomizationAttachment return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r UserPoolUICustomizationAttachment) MarshalJSON() ([]byte, error) { func (r *UserPoolUICustomizationAttachment) UnmarshalJSON(b []byte) error { type Properties UserPoolUICustomizationAttachment res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *UserPoolUICustomizationAttachment) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/cognito/aws-cognito-userpooluser.go b/cloudformation/cognito/aws-cognito-userpooluser.go index 8e48a48229..10dccc2401 100644 --- a/cloudformation/cognito/aws-cognito-userpooluser.go +++ b/cloudformation/cognito/aws-cognito-userpooluser.go @@ -55,6 +55,9 @@ type UserPoolUser struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -75,19 +78,21 @@ func (r *UserPoolUser) AWSCloudFormationType() string { func (r UserPoolUser) MarshalJSON() ([]byte, error) { type Properties UserPoolUser return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -96,12 +101,13 @@ func (r UserPoolUser) MarshalJSON() ([]byte, error) { func (r *UserPoolUser) UnmarshalJSON(b []byte) error { type Properties UserPoolUser res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -125,6 +131,9 @@ func (r *UserPoolUser) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/cognito/aws-cognito-userpooluser_attributetype.go b/cloudformation/cognito/aws-cognito-userpooluser_attributetype.go index 8b2d332ba7..35ffe58f5c 100644 --- a/cloudformation/cognito/aws-cognito-userpooluser_attributetype.go +++ b/cloudformation/cognito/aws-cognito-userpooluser_attributetype.go @@ -21,6 +21,9 @@ type UserPoolUser_AttributeType struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/cognito/aws-cognito-userpoolusertogroupattachment.go b/cloudformation/cognito/aws-cognito-userpoolusertogroupattachment.go index bbf32f7531..34b07d83a2 100644 --- a/cloudformation/cognito/aws-cognito-userpoolusertogroupattachment.go +++ b/cloudformation/cognito/aws-cognito-userpoolusertogroupattachment.go @@ -30,6 +30,9 @@ type UserPoolUserToGroupAttachment struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *UserPoolUserToGroupAttachment) AWSCloudFormationType() string { func (r UserPoolUserToGroupAttachment) MarshalJSON() ([]byte, error) { type Properties UserPoolUserToGroupAttachment return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r UserPoolUserToGroupAttachment) MarshalJSON() ([]byte, error) { func (r *UserPoolUserToGroupAttachment) UnmarshalJSON(b []byte) error { type Properties UserPoolUserToGroupAttachment res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *UserPoolUserToGroupAttachment) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/config/aws-config-aggregationauthorization.go b/cloudformation/config/aws-config-aggregationauthorization.go index 399041d0ad..24c474ad89 100644 --- a/cloudformation/config/aws-config-aggregationauthorization.go +++ b/cloudformation/config/aws-config-aggregationauthorization.go @@ -31,6 +31,9 @@ type AggregationAuthorization struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -51,19 +54,21 @@ func (r *AggregationAuthorization) AWSCloudFormationType() string { func (r AggregationAuthorization) MarshalJSON() ([]byte, error) { type Properties AggregationAuthorization return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -72,12 +77,13 @@ func (r AggregationAuthorization) MarshalJSON() ([]byte, error) { func (r *AggregationAuthorization) UnmarshalJSON(b []byte) error { type Properties AggregationAuthorization res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -101,6 +107,9 @@ func (r *AggregationAuthorization) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/config/aws-config-configrule.go b/cloudformation/config/aws-config-configrule.go index 2e667e4ac9..a639366093 100644 --- a/cloudformation/config/aws-config-configrule.go +++ b/cloudformation/config/aws-config-configrule.go @@ -45,6 +45,9 @@ type ConfigRule struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -65,19 +68,21 @@ func (r *ConfigRule) AWSCloudFormationType() string { func (r ConfigRule) MarshalJSON() ([]byte, error) { type Properties ConfigRule return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -86,12 +91,13 @@ func (r ConfigRule) MarshalJSON() ([]byte, error) { func (r *ConfigRule) UnmarshalJSON(b []byte) error { type Properties ConfigRule res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -115,6 +121,9 @@ func (r *ConfigRule) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/config/aws-config-configrule_scope.go b/cloudformation/config/aws-config-configrule_scope.go index 55704bd38c..d5f42350e5 100644 --- a/cloudformation/config/aws-config-configrule_scope.go +++ b/cloudformation/config/aws-config-configrule_scope.go @@ -31,6 +31,9 @@ type ConfigRule_Scope struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/config/aws-config-configrule_source.go b/cloudformation/config/aws-config-configrule_source.go index c928bbc7cf..e1a1aae2f2 100644 --- a/cloudformation/config/aws-config-configrule_source.go +++ b/cloudformation/config/aws-config-configrule_source.go @@ -26,6 +26,9 @@ type ConfigRule_Source struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/config/aws-config-configrule_sourcedetail.go b/cloudformation/config/aws-config-configrule_sourcedetail.go index db988129f4..662715da8d 100644 --- a/cloudformation/config/aws-config-configrule_sourcedetail.go +++ b/cloudformation/config/aws-config-configrule_sourcedetail.go @@ -26,6 +26,9 @@ type ConfigRule_SourceDetail struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/config/aws-config-configurationaggregator.go b/cloudformation/config/aws-config-configurationaggregator.go index 1d60084fb5..035f6fb1a7 100644 --- a/cloudformation/config/aws-config-configurationaggregator.go +++ b/cloudformation/config/aws-config-configurationaggregator.go @@ -36,6 +36,9 @@ type ConfigurationAggregator struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -56,19 +59,21 @@ func (r *ConfigurationAggregator) AWSCloudFormationType() string { func (r ConfigurationAggregator) MarshalJSON() ([]byte, error) { type Properties ConfigurationAggregator return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -77,12 +82,13 @@ func (r ConfigurationAggregator) MarshalJSON() ([]byte, error) { func (r *ConfigurationAggregator) UnmarshalJSON(b []byte) error { type Properties ConfigurationAggregator res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -106,6 +112,9 @@ func (r *ConfigurationAggregator) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/config/aws-config-configurationaggregator_accountaggregationsource.go b/cloudformation/config/aws-config-configurationaggregator_accountaggregationsource.go index 04d05bf333..1c66416a18 100644 --- a/cloudformation/config/aws-config-configurationaggregator_accountaggregationsource.go +++ b/cloudformation/config/aws-config-configurationaggregator_accountaggregationsource.go @@ -26,6 +26,9 @@ type ConfigurationAggregator_AccountAggregationSource struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/config/aws-config-configurationaggregator_organizationaggregationsource.go b/cloudformation/config/aws-config-configurationaggregator_organizationaggregationsource.go index cb4839d5f4..ce1f49e38f 100644 --- a/cloudformation/config/aws-config-configurationaggregator_organizationaggregationsource.go +++ b/cloudformation/config/aws-config-configurationaggregator_organizationaggregationsource.go @@ -26,6 +26,9 @@ type ConfigurationAggregator_OrganizationAggregationSource struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/config/aws-config-configurationrecorder.go b/cloudformation/config/aws-config-configurationrecorder.go index 733dfad27a..f5c296d134 100644 --- a/cloudformation/config/aws-config-configurationrecorder.go +++ b/cloudformation/config/aws-config-configurationrecorder.go @@ -30,6 +30,9 @@ type ConfigurationRecorder struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *ConfigurationRecorder) AWSCloudFormationType() string { func (r ConfigurationRecorder) MarshalJSON() ([]byte, error) { type Properties ConfigurationRecorder return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r ConfigurationRecorder) MarshalJSON() ([]byte, error) { func (r *ConfigurationRecorder) UnmarshalJSON(b []byte) error { type Properties ConfigurationRecorder res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *ConfigurationRecorder) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/config/aws-config-configurationrecorder_recordinggroup.go b/cloudformation/config/aws-config-configurationrecorder_recordinggroup.go index 3fc237fee9..f7f8790b8d 100644 --- a/cloudformation/config/aws-config-configurationrecorder_recordinggroup.go +++ b/cloudformation/config/aws-config-configurationrecorder_recordinggroup.go @@ -26,6 +26,9 @@ type ConfigurationRecorder_RecordingGroup struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/config/aws-config-conformancepack.go b/cloudformation/config/aws-config-conformancepack.go index 520d6614bb..8650778f22 100644 --- a/cloudformation/config/aws-config-conformancepack.go +++ b/cloudformation/config/aws-config-conformancepack.go @@ -45,6 +45,9 @@ type ConformancePack struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -65,19 +68,21 @@ func (r *ConformancePack) AWSCloudFormationType() string { func (r ConformancePack) MarshalJSON() ([]byte, error) { type Properties ConformancePack return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -86,12 +91,13 @@ func (r ConformancePack) MarshalJSON() ([]byte, error) { func (r *ConformancePack) UnmarshalJSON(b []byte) error { type Properties ConformancePack res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -115,6 +121,9 @@ func (r *ConformancePack) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/config/aws-config-conformancepack_conformancepackinputparameter.go b/cloudformation/config/aws-config-conformancepack_conformancepackinputparameter.go index 1908975b16..1c092035b0 100644 --- a/cloudformation/config/aws-config-conformancepack_conformancepackinputparameter.go +++ b/cloudformation/config/aws-config-conformancepack_conformancepackinputparameter.go @@ -21,6 +21,9 @@ type ConformancePack_ConformancePackInputParameter struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/config/aws-config-deliverychannel.go b/cloudformation/config/aws-config-deliverychannel.go index 147dafda5b..06099e0386 100644 --- a/cloudformation/config/aws-config-deliverychannel.go +++ b/cloudformation/config/aws-config-deliverychannel.go @@ -40,6 +40,9 @@ type DeliveryChannel struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -60,19 +63,21 @@ func (r *DeliveryChannel) AWSCloudFormationType() string { func (r DeliveryChannel) MarshalJSON() ([]byte, error) { type Properties DeliveryChannel return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -81,12 +86,13 @@ func (r DeliveryChannel) MarshalJSON() ([]byte, error) { func (r *DeliveryChannel) UnmarshalJSON(b []byte) error { type Properties DeliveryChannel res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -110,6 +116,9 @@ func (r *DeliveryChannel) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/config/aws-config-deliverychannel_configsnapshotdeliveryproperties.go b/cloudformation/config/aws-config-deliverychannel_configsnapshotdeliveryproperties.go index 55f96dc39f..54f41b9f63 100644 --- a/cloudformation/config/aws-config-deliverychannel_configsnapshotdeliveryproperties.go +++ b/cloudformation/config/aws-config-deliverychannel_configsnapshotdeliveryproperties.go @@ -16,6 +16,9 @@ type DeliveryChannel_ConfigSnapshotDeliveryProperties struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/config/aws-config-organizationconfigrule.go b/cloudformation/config/aws-config-organizationconfigrule.go index 8e63139ade..1df920a0df 100644 --- a/cloudformation/config/aws-config-organizationconfigrule.go +++ b/cloudformation/config/aws-config-organizationconfigrule.go @@ -35,6 +35,9 @@ type OrganizationConfigRule struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -55,19 +58,21 @@ func (r *OrganizationConfigRule) AWSCloudFormationType() string { func (r OrganizationConfigRule) MarshalJSON() ([]byte, error) { type Properties OrganizationConfigRule return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -76,12 +81,13 @@ func (r OrganizationConfigRule) MarshalJSON() ([]byte, error) { func (r *OrganizationConfigRule) UnmarshalJSON(b []byte) error { type Properties OrganizationConfigRule res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -105,6 +111,9 @@ func (r *OrganizationConfigRule) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/config/aws-config-organizationconfigrule_organizationcustomrulemetadata.go b/cloudformation/config/aws-config-organizationconfigrule_organizationcustomrulemetadata.go index 2445b868b3..79337b355b 100644 --- a/cloudformation/config/aws-config-organizationconfigrule_organizationcustomrulemetadata.go +++ b/cloudformation/config/aws-config-organizationconfigrule_organizationcustomrulemetadata.go @@ -56,6 +56,9 @@ type OrganizationConfigRule_OrganizationCustomRuleMetadata struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/config/aws-config-organizationconfigrule_organizationmanagedrulemetadata.go b/cloudformation/config/aws-config-organizationconfigrule_organizationmanagedrulemetadata.go index fb9e0ecbfb..5d28399357 100644 --- a/cloudformation/config/aws-config-organizationconfigrule_organizationmanagedrulemetadata.go +++ b/cloudformation/config/aws-config-organizationconfigrule_organizationmanagedrulemetadata.go @@ -51,6 +51,9 @@ type OrganizationConfigRule_OrganizationManagedRuleMetadata struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/config/aws-config-organizationconformancepack.go b/cloudformation/config/aws-config-organizationconformancepack.go index 7be3460e59..f852d7b79b 100644 --- a/cloudformation/config/aws-config-organizationconformancepack.go +++ b/cloudformation/config/aws-config-organizationconformancepack.go @@ -50,6 +50,9 @@ type OrganizationConformancePack struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -70,19 +73,21 @@ func (r *OrganizationConformancePack) AWSCloudFormationType() string { func (r OrganizationConformancePack) MarshalJSON() ([]byte, error) { type Properties OrganizationConformancePack return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -91,12 +96,13 @@ func (r OrganizationConformancePack) MarshalJSON() ([]byte, error) { func (r *OrganizationConformancePack) UnmarshalJSON(b []byte) error { type Properties OrganizationConformancePack res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -120,6 +126,9 @@ func (r *OrganizationConformancePack) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/config/aws-config-organizationconformancepack_conformancepackinputparameter.go b/cloudformation/config/aws-config-organizationconformancepack_conformancepackinputparameter.go index b9e32eb45e..427b062fde 100644 --- a/cloudformation/config/aws-config-organizationconformancepack_conformancepackinputparameter.go +++ b/cloudformation/config/aws-config-organizationconformancepack_conformancepackinputparameter.go @@ -21,6 +21,9 @@ type OrganizationConformancePack_ConformancePackInputParameter struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/config/aws-config-remediationconfiguration.go b/cloudformation/config/aws-config-remediationconfiguration.go index a8786f4bdc..e2e9300a12 100644 --- a/cloudformation/config/aws-config-remediationconfiguration.go +++ b/cloudformation/config/aws-config-remediationconfiguration.go @@ -65,6 +65,9 @@ type RemediationConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -85,19 +88,21 @@ func (r *RemediationConfiguration) AWSCloudFormationType() string { func (r RemediationConfiguration) MarshalJSON() ([]byte, error) { type Properties RemediationConfiguration return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -106,12 +111,13 @@ func (r RemediationConfiguration) MarshalJSON() ([]byte, error) { func (r *RemediationConfiguration) UnmarshalJSON(b []byte) error { type Properties RemediationConfiguration res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -135,6 +141,9 @@ func (r *RemediationConfiguration) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/config/aws-config-remediationconfiguration_executioncontrols.go b/cloudformation/config/aws-config-remediationconfiguration_executioncontrols.go index e6762d30b0..ee2196f476 100644 --- a/cloudformation/config/aws-config-remediationconfiguration_executioncontrols.go +++ b/cloudformation/config/aws-config-remediationconfiguration_executioncontrols.go @@ -16,6 +16,9 @@ type RemediationConfiguration_ExecutionControls struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/config/aws-config-remediationconfiguration_remediationparametervalue.go b/cloudformation/config/aws-config-remediationconfiguration_remediationparametervalue.go index 31a54a392f..cd57efb7d0 100644 --- a/cloudformation/config/aws-config-remediationconfiguration_remediationparametervalue.go +++ b/cloudformation/config/aws-config-remediationconfiguration_remediationparametervalue.go @@ -21,6 +21,9 @@ type RemediationConfiguration_RemediationParameterValue struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/config/aws-config-remediationconfiguration_resourcevalue.go b/cloudformation/config/aws-config-remediationconfiguration_resourcevalue.go index 920fca1700..93ac8d0a70 100644 --- a/cloudformation/config/aws-config-remediationconfiguration_resourcevalue.go +++ b/cloudformation/config/aws-config-remediationconfiguration_resourcevalue.go @@ -16,6 +16,9 @@ type RemediationConfiguration_ResourceValue struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/config/aws-config-remediationconfiguration_ssmcontrols.go b/cloudformation/config/aws-config-remediationconfiguration_ssmcontrols.go index 5cbc746b88..4f7ee93330 100644 --- a/cloudformation/config/aws-config-remediationconfiguration_ssmcontrols.go +++ b/cloudformation/config/aws-config-remediationconfiguration_ssmcontrols.go @@ -21,6 +21,9 @@ type RemediationConfiguration_SsmControls struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/config/aws-config-remediationconfiguration_staticvalue.go b/cloudformation/config/aws-config-remediationconfiguration_staticvalue.go index 95f4f2577e..faa388bfaa 100644 --- a/cloudformation/config/aws-config-remediationconfiguration_staticvalue.go +++ b/cloudformation/config/aws-config-remediationconfiguration_staticvalue.go @@ -16,6 +16,9 @@ type RemediationConfiguration_StaticValue struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/datapipeline/aws-datapipeline-pipeline.go b/cloudformation/datapipeline/aws-datapipeline-pipeline.go index 85d171fd93..9bcfb864e2 100644 --- a/cloudformation/datapipeline/aws-datapipeline-pipeline.go +++ b/cloudformation/datapipeline/aws-datapipeline-pipeline.go @@ -50,6 +50,9 @@ type Pipeline struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -70,19 +73,21 @@ func (r *Pipeline) AWSCloudFormationType() string { func (r Pipeline) MarshalJSON() ([]byte, error) { type Properties Pipeline return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -91,12 +96,13 @@ func (r Pipeline) MarshalJSON() ([]byte, error) { func (r *Pipeline) UnmarshalJSON(b []byte) error { type Properties Pipeline res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -120,6 +126,9 @@ func (r *Pipeline) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/datapipeline/aws-datapipeline-pipeline_field.go b/cloudformation/datapipeline/aws-datapipeline-pipeline_field.go index dece95cd1e..ceb862ce8e 100644 --- a/cloudformation/datapipeline/aws-datapipeline-pipeline_field.go +++ b/cloudformation/datapipeline/aws-datapipeline-pipeline_field.go @@ -26,6 +26,9 @@ type Pipeline_Field struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/datapipeline/aws-datapipeline-pipeline_parameterattribute.go b/cloudformation/datapipeline/aws-datapipeline-pipeline_parameterattribute.go index 319d5ba89e..92fa08e57b 100644 --- a/cloudformation/datapipeline/aws-datapipeline-pipeline_parameterattribute.go +++ b/cloudformation/datapipeline/aws-datapipeline-pipeline_parameterattribute.go @@ -21,6 +21,9 @@ type Pipeline_ParameterAttribute struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/datapipeline/aws-datapipeline-pipeline_parameterobject.go b/cloudformation/datapipeline/aws-datapipeline-pipeline_parameterobject.go index 661e511759..b23c0439e5 100644 --- a/cloudformation/datapipeline/aws-datapipeline-pipeline_parameterobject.go +++ b/cloudformation/datapipeline/aws-datapipeline-pipeline_parameterobject.go @@ -21,6 +21,9 @@ type Pipeline_ParameterObject struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/datapipeline/aws-datapipeline-pipeline_parametervalue.go b/cloudformation/datapipeline/aws-datapipeline-pipeline_parametervalue.go index febacaa2e0..144141eaf6 100644 --- a/cloudformation/datapipeline/aws-datapipeline-pipeline_parametervalue.go +++ b/cloudformation/datapipeline/aws-datapipeline-pipeline_parametervalue.go @@ -21,6 +21,9 @@ type Pipeline_ParameterValue struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/datapipeline/aws-datapipeline-pipeline_pipelineobject.go b/cloudformation/datapipeline/aws-datapipeline-pipeline_pipelineobject.go index 9f9f24dcb4..97f0b65548 100644 --- a/cloudformation/datapipeline/aws-datapipeline-pipeline_pipelineobject.go +++ b/cloudformation/datapipeline/aws-datapipeline-pipeline_pipelineobject.go @@ -26,6 +26,9 @@ type Pipeline_PipelineObject struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/datapipeline/aws-datapipeline-pipeline_pipelinetag.go b/cloudformation/datapipeline/aws-datapipeline-pipeline_pipelinetag.go index 6af1cb934b..3e4a77c938 100644 --- a/cloudformation/datapipeline/aws-datapipeline-pipeline_pipelinetag.go +++ b/cloudformation/datapipeline/aws-datapipeline-pipeline_pipelinetag.go @@ -21,6 +21,9 @@ type Pipeline_PipelineTag struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/dax/aws-dax-cluster.go b/cloudformation/dax/aws-dax-cluster.go index 759441363a..d7f5281391 100644 --- a/cloudformation/dax/aws-dax-cluster.go +++ b/cloudformation/dax/aws-dax-cluster.go @@ -80,6 +80,9 @@ type Cluster struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -100,19 +103,21 @@ func (r *Cluster) AWSCloudFormationType() string { func (r Cluster) MarshalJSON() ([]byte, error) { type Properties Cluster return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -121,12 +126,13 @@ func (r Cluster) MarshalJSON() ([]byte, error) { func (r *Cluster) UnmarshalJSON(b []byte) error { type Properties Cluster res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -150,6 +156,9 @@ func (r *Cluster) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/dax/aws-dax-cluster_ssespecification.go b/cloudformation/dax/aws-dax-cluster_ssespecification.go index 72e58d9e7f..12bb09f348 100644 --- a/cloudformation/dax/aws-dax-cluster_ssespecification.go +++ b/cloudformation/dax/aws-dax-cluster_ssespecification.go @@ -16,6 +16,9 @@ type Cluster_SSESpecification struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/dax/aws-dax-parametergroup.go b/cloudformation/dax/aws-dax-parametergroup.go index 598f277c7d..a6bf914728 100644 --- a/cloudformation/dax/aws-dax-parametergroup.go +++ b/cloudformation/dax/aws-dax-parametergroup.go @@ -30,6 +30,9 @@ type ParameterGroup struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *ParameterGroup) AWSCloudFormationType() string { func (r ParameterGroup) MarshalJSON() ([]byte, error) { type Properties ParameterGroup return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r ParameterGroup) MarshalJSON() ([]byte, error) { func (r *ParameterGroup) UnmarshalJSON(b []byte) error { type Properties ParameterGroup res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *ParameterGroup) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/dax/aws-dax-subnetgroup.go b/cloudformation/dax/aws-dax-subnetgroup.go index 24ef6733f5..a115c71e91 100644 --- a/cloudformation/dax/aws-dax-subnetgroup.go +++ b/cloudformation/dax/aws-dax-subnetgroup.go @@ -30,6 +30,9 @@ type SubnetGroup struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *SubnetGroup) AWSCloudFormationType() string { func (r SubnetGroup) MarshalJSON() ([]byte, error) { type Properties SubnetGroup return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r SubnetGroup) MarshalJSON() ([]byte, error) { func (r *SubnetGroup) UnmarshalJSON(b []byte) error { type Properties SubnetGroup res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *SubnetGroup) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/detective/aws-detective-graph.go b/cloudformation/detective/aws-detective-graph.go new file mode 100644 index 0000000000..2913a9b9b8 --- /dev/null +++ b/cloudformation/detective/aws-detective-graph.go @@ -0,0 +1,101 @@ +package detective + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Graph AWS CloudFormation Resource (AWS::Detective::Graph) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-graph.html +type Graph struct { + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Graph) AWSCloudFormationType() string { + return "AWS::Detective::Graph" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r Graph) MarshalJSON() ([]byte, error) { + type Properties Graph + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *Graph) UnmarshalJSON(b []byte) error { + type Properties Graph + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = Graph(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/detective/aws-detective-memberinvitation.go b/cloudformation/detective/aws-detective-memberinvitation.go new file mode 100644 index 0000000000..92a710e19a --- /dev/null +++ b/cloudformation/detective/aws-detective-memberinvitation.go @@ -0,0 +1,121 @@ +package detective + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// MemberInvitation AWS CloudFormation Resource (AWS::Detective::MemberInvitation) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-memberinvitation.html +type MemberInvitation struct { + + // GraphArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-memberinvitation.html#cfn-detective-memberinvitation-grapharn + GraphArn string `json:"GraphArn,omitempty"` + + // MemberEmailAddress AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-memberinvitation.html#cfn-detective-memberinvitation-memberemailaddress + MemberEmailAddress string `json:"MemberEmailAddress,omitempty"` + + // MemberId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-memberinvitation.html#cfn-detective-memberinvitation-memberid + MemberId string `json:"MemberId,omitempty"` + + // Message AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-memberinvitation.html#cfn-detective-memberinvitation-message + Message string `json:"Message,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *MemberInvitation) AWSCloudFormationType() string { + return "AWS::Detective::MemberInvitation" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r MemberInvitation) MarshalJSON() ([]byte, error) { + type Properties MemberInvitation + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *MemberInvitation) UnmarshalJSON(b []byte) error { + type Properties MemberInvitation + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = MemberInvitation(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/directoryservice/aws-directoryservice-microsoftad.go b/cloudformation/directoryservice/aws-directoryservice-microsoftad.go index e6b7d60da1..ad1ff3d710 100644 --- a/cloudformation/directoryservice/aws-directoryservice-microsoftad.go +++ b/cloudformation/directoryservice/aws-directoryservice-microsoftad.go @@ -50,6 +50,9 @@ type MicrosoftAD struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -70,19 +73,21 @@ func (r *MicrosoftAD) AWSCloudFormationType() string { func (r MicrosoftAD) MarshalJSON() ([]byte, error) { type Properties MicrosoftAD return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -91,12 +96,13 @@ func (r MicrosoftAD) MarshalJSON() ([]byte, error) { func (r *MicrosoftAD) UnmarshalJSON(b []byte) error { type Properties MicrosoftAD res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -120,6 +126,9 @@ func (r *MicrosoftAD) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/directoryservice/aws-directoryservice-microsoftad_vpcsettings.go b/cloudformation/directoryservice/aws-directoryservice-microsoftad_vpcsettings.go index b72f599b6b..2f49dcabae 100644 --- a/cloudformation/directoryservice/aws-directoryservice-microsoftad_vpcsettings.go +++ b/cloudformation/directoryservice/aws-directoryservice-microsoftad_vpcsettings.go @@ -21,6 +21,9 @@ type MicrosoftAD_VpcSettings struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/directoryservice/aws-directoryservice-simplead.go b/cloudformation/directoryservice/aws-directoryservice-simplead.go index dfdf9602c2..715a45338c 100644 --- a/cloudformation/directoryservice/aws-directoryservice-simplead.go +++ b/cloudformation/directoryservice/aws-directoryservice-simplead.go @@ -55,6 +55,9 @@ type SimpleAD struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -75,19 +78,21 @@ func (r *SimpleAD) AWSCloudFormationType() string { func (r SimpleAD) MarshalJSON() ([]byte, error) { type Properties SimpleAD return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -96,12 +101,13 @@ func (r SimpleAD) MarshalJSON() ([]byte, error) { func (r *SimpleAD) UnmarshalJSON(b []byte) error { type Properties SimpleAD res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -125,6 +131,9 @@ func (r *SimpleAD) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/directoryservice/aws-directoryservice-simplead_vpcsettings.go b/cloudformation/directoryservice/aws-directoryservice-simplead_vpcsettings.go index 2f5c11c698..8b55fd8a10 100644 --- a/cloudformation/directoryservice/aws-directoryservice-simplead_vpcsettings.go +++ b/cloudformation/directoryservice/aws-directoryservice-simplead_vpcsettings.go @@ -21,6 +21,9 @@ type SimpleAD_VpcSettings struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/dlm/aws-dlm-lifecyclepolicy.go b/cloudformation/dlm/aws-dlm-lifecyclepolicy.go index 8a0f18323f..5c64a72b17 100644 --- a/cloudformation/dlm/aws-dlm-lifecyclepolicy.go +++ b/cloudformation/dlm/aws-dlm-lifecyclepolicy.go @@ -35,6 +35,9 @@ type LifecyclePolicy struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -55,19 +58,21 @@ func (r *LifecyclePolicy) AWSCloudFormationType() string { func (r LifecyclePolicy) MarshalJSON() ([]byte, error) { type Properties LifecyclePolicy return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -76,12 +81,13 @@ func (r LifecyclePolicy) MarshalJSON() ([]byte, error) { func (r *LifecyclePolicy) UnmarshalJSON(b []byte) error { type Properties LifecyclePolicy res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -105,6 +111,9 @@ func (r *LifecyclePolicy) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/dlm/aws-dlm-lifecyclepolicy_createrule.go b/cloudformation/dlm/aws-dlm-lifecyclepolicy_createrule.go index 144e98f1ee..9908564775 100644 --- a/cloudformation/dlm/aws-dlm-lifecyclepolicy_createrule.go +++ b/cloudformation/dlm/aws-dlm-lifecyclepolicy_createrule.go @@ -8,13 +8,18 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-createrule.html type LifecyclePolicy_CreateRule struct { + // CronExpression AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-createrule.html#cfn-dlm-lifecyclepolicy-createrule-cronexpression + CronExpression string `json:"CronExpression,omitempty"` + // Interval AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-createrule.html#cfn-dlm-lifecyclepolicy-createrule-interval - Interval int `json:"Interval"` + Interval int `json:"Interval,omitempty"` // IntervalUnit AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-createrule.html#cfn-dlm-lifecyclepolicy-createrule-intervalunit IntervalUnit string `json:"IntervalUnit,omitempty"` @@ -26,6 +31,9 @@ type LifecyclePolicy_CreateRule struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/dlm/aws-dlm-lifecyclepolicy_crossregioncopyretainrule.go b/cloudformation/dlm/aws-dlm-lifecyclepolicy_crossregioncopyretainrule.go index 83e3eaaea8..5e38f26ea4 100644 --- a/cloudformation/dlm/aws-dlm-lifecyclepolicy_crossregioncopyretainrule.go +++ b/cloudformation/dlm/aws-dlm-lifecyclepolicy_crossregioncopyretainrule.go @@ -9,18 +9,21 @@ import ( type LifecyclePolicy_CrossRegionCopyRetainRule struct { // Interval AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyretainrule.html#cfn-dlm-lifecyclepolicy-crossregioncopyretainrule-interval - Interval int `json:"Interval,omitempty"` + Interval int `json:"Interval"` // IntervalUnit AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyretainrule.html#cfn-dlm-lifecyclepolicy-crossregioncopyretainrule-intervalunit IntervalUnit string `json:"IntervalUnit,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/dlm/aws-dlm-lifecyclepolicy_crossregioncopyrule.go b/cloudformation/dlm/aws-dlm-lifecyclepolicy_crossregioncopyrule.go index d663e92017..d9daf822ac 100644 --- a/cloudformation/dlm/aws-dlm-lifecyclepolicy_crossregioncopyrule.go +++ b/cloudformation/dlm/aws-dlm-lifecyclepolicy_crossregioncopyrule.go @@ -19,9 +19,9 @@ type LifecyclePolicy_CrossRegionCopyRule struct { CopyTags bool `json:"CopyTags,omitempty"` // Encrypted AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyrule.html#cfn-dlm-lifecyclepolicy-crossregioncopyrule-encrypted - Encrypted bool `json:"Encrypted,omitempty"` + Encrypted bool `json:"Encrypted"` // RetainRule AWS CloudFormation Property // Required: false @@ -29,13 +29,16 @@ type LifecyclePolicy_CrossRegionCopyRule struct { RetainRule *LifecyclePolicy_CrossRegionCopyRetainRule `json:"RetainRule,omitempty"` // TargetRegion AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyrule.html#cfn-dlm-lifecyclepolicy-crossregioncopyrule-targetregion TargetRegion string `json:"TargetRegion,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/dlm/aws-dlm-lifecyclepolicy_fastrestorerule.go b/cloudformation/dlm/aws-dlm-lifecyclepolicy_fastrestorerule.go index fbb5d6a0e1..c0f8cd7603 100644 --- a/cloudformation/dlm/aws-dlm-lifecyclepolicy_fastrestorerule.go +++ b/cloudformation/dlm/aws-dlm-lifecyclepolicy_fastrestorerule.go @@ -31,6 +31,9 @@ type LifecyclePolicy_FastRestoreRule struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/dlm/aws-dlm-lifecyclepolicy_parameters.go b/cloudformation/dlm/aws-dlm-lifecyclepolicy_parameters.go index 4d80e5689a..1d0709372e 100644 --- a/cloudformation/dlm/aws-dlm-lifecyclepolicy_parameters.go +++ b/cloudformation/dlm/aws-dlm-lifecyclepolicy_parameters.go @@ -16,6 +16,9 @@ type LifecyclePolicy_Parameters struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/dlm/aws-dlm-lifecyclepolicy_policydetails.go b/cloudformation/dlm/aws-dlm-lifecyclepolicy_policydetails.go index ac7b2ba387..68feaa8e85 100644 --- a/cloudformation/dlm/aws-dlm-lifecyclepolicy_policydetails.go +++ b/cloudformation/dlm/aws-dlm-lifecyclepolicy_policydetails.go @@ -37,6 +37,9 @@ type LifecyclePolicy_PolicyDetails struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/dlm/aws-dlm-lifecyclepolicy_retainrule.go b/cloudformation/dlm/aws-dlm-lifecyclepolicy_retainrule.go index 68de928e83..45da10febf 100644 --- a/cloudformation/dlm/aws-dlm-lifecyclepolicy_retainrule.go +++ b/cloudformation/dlm/aws-dlm-lifecyclepolicy_retainrule.go @@ -26,6 +26,9 @@ type LifecyclePolicy_RetainRule struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/dlm/aws-dlm-lifecyclepolicy_schedule.go b/cloudformation/dlm/aws-dlm-lifecyclepolicy_schedule.go index ffb45ecf68..19079e8854 100644 --- a/cloudformation/dlm/aws-dlm-lifecyclepolicy_schedule.go +++ b/cloudformation/dlm/aws-dlm-lifecyclepolicy_schedule.go @@ -52,6 +52,9 @@ type LifecyclePolicy_Schedule struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/dms/aws-dms-certificate.go b/cloudformation/dms/aws-dms-certificate.go index ed85d6dc58..c4d72dd09d 100644 --- a/cloudformation/dms/aws-dms-certificate.go +++ b/cloudformation/dms/aws-dms-certificate.go @@ -30,6 +30,9 @@ type Certificate struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *Certificate) AWSCloudFormationType() string { func (r Certificate) MarshalJSON() ([]byte, error) { type Properties Certificate return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r Certificate) MarshalJSON() ([]byte, error) { func (r *Certificate) UnmarshalJSON(b []byte) error { type Properties Certificate res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *Certificate) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/dms/aws-dms-endpoint.go b/cloudformation/dms/aws-dms-endpoint.go index 9e5ac80501..909b1c5ff0 100644 --- a/cloudformation/dms/aws-dms-endpoint.go +++ b/cloudformation/dms/aws-dms-endpoint.go @@ -53,6 +53,11 @@ type Endpoint struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-extraconnectionattributes ExtraConnectionAttributes string `json:"ExtraConnectionAttributes,omitempty"` + // KafkaSettings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-kafkasettings + KafkaSettings *Endpoint_KafkaSettings `json:"KafkaSettings,omitempty"` + // KinesisSettings AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-kinesissettings @@ -68,6 +73,11 @@ type Endpoint struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-mongodbsettings MongoDbSettings *Endpoint_MongoDbSettings `json:"MongoDbSettings,omitempty"` + // NeptuneSettings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-neptunesettings + NeptuneSettings *Endpoint_NeptuneSettings `json:"NeptuneSettings,omitempty"` + // Password AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-password @@ -106,6 +116,9 @@ type Endpoint struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -126,19 +139,21 @@ func (r *Endpoint) AWSCloudFormationType() string { func (r Endpoint) MarshalJSON() ([]byte, error) { type Properties Endpoint return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -147,12 +162,13 @@ func (r Endpoint) MarshalJSON() ([]byte, error) { func (r *Endpoint) UnmarshalJSON(b []byte) error { type Properties Endpoint res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -176,6 +192,9 @@ func (r *Endpoint) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/dms/aws-dms-endpoint_dynamodbsettings.go b/cloudformation/dms/aws-dms-endpoint_dynamodbsettings.go index c8f46da471..910c930185 100644 --- a/cloudformation/dms/aws-dms-endpoint_dynamodbsettings.go +++ b/cloudformation/dms/aws-dms-endpoint_dynamodbsettings.go @@ -16,6 +16,9 @@ type Endpoint_DynamoDbSettings struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/dms/aws-dms-endpoint_elasticsearchsettings.go b/cloudformation/dms/aws-dms-endpoint_elasticsearchsettings.go index bf9d229e11..b96fad782a 100644 --- a/cloudformation/dms/aws-dms-endpoint_elasticsearchsettings.go +++ b/cloudformation/dms/aws-dms-endpoint_elasticsearchsettings.go @@ -31,6 +31,9 @@ type Endpoint_ElasticsearchSettings struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/dms/aws-dms-endpoint_kafkasettings.go b/cloudformation/dms/aws-dms-endpoint_kafkasettings.go new file mode 100644 index 0000000000..bddccd19e5 --- /dev/null +++ b/cloudformation/dms/aws-dms-endpoint_kafkasettings.go @@ -0,0 +1,40 @@ +package dms + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Endpoint_KafkaSettings AWS CloudFormation Resource (AWS::DMS::Endpoint.KafkaSettings) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-kafkasettings.html +type Endpoint_KafkaSettings struct { + + // Broker AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-kafkasettings.html#cfn-dms-endpoint-kafkasettings-broker + Broker string `json:"Broker,omitempty"` + + // Topic AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-kafkasettings.html#cfn-dms-endpoint-kafkasettings-topic + Topic string `json:"Topic,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Endpoint_KafkaSettings) AWSCloudFormationType() string { + return "AWS::DMS::Endpoint.KafkaSettings" +} diff --git a/cloudformation/dms/aws-dms-endpoint_kinesissettings.go b/cloudformation/dms/aws-dms-endpoint_kinesissettings.go index 12ec6f6373..cfbe70bb95 100644 --- a/cloudformation/dms/aws-dms-endpoint_kinesissettings.go +++ b/cloudformation/dms/aws-dms-endpoint_kinesissettings.go @@ -26,6 +26,9 @@ type Endpoint_KinesisSettings struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/dms/aws-dms-endpoint_mongodbsettings.go b/cloudformation/dms/aws-dms-endpoint_mongodbsettings.go index 2b4e10e4d9..2dce92eefa 100644 --- a/cloudformation/dms/aws-dms-endpoint_mongodbsettings.go +++ b/cloudformation/dms/aws-dms-endpoint_mongodbsettings.go @@ -66,6 +66,9 @@ type Endpoint_MongoDbSettings struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/dms/aws-dms-endpoint_neptunesettings.go b/cloudformation/dms/aws-dms-endpoint_neptunesettings.go new file mode 100644 index 0000000000..549b498af8 --- /dev/null +++ b/cloudformation/dms/aws-dms-endpoint_neptunesettings.go @@ -0,0 +1,65 @@ +package dms + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Endpoint_NeptuneSettings AWS CloudFormation Resource (AWS::DMS::Endpoint.NeptuneSettings) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-neptunesettings.html +type Endpoint_NeptuneSettings struct { + + // ErrorRetryDuration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-neptunesettings.html#cfn-dms-endpoint-neptunesettings-errorretryduration + ErrorRetryDuration int `json:"ErrorRetryDuration,omitempty"` + + // IamAuthEnabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-neptunesettings.html#cfn-dms-endpoint-neptunesettings-iamauthenabled + IamAuthEnabled bool `json:"IamAuthEnabled,omitempty"` + + // MaxFileSize AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-neptunesettings.html#cfn-dms-endpoint-neptunesettings-maxfilesize + MaxFileSize int `json:"MaxFileSize,omitempty"` + + // MaxRetryCount AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-neptunesettings.html#cfn-dms-endpoint-neptunesettings-maxretrycount + MaxRetryCount int `json:"MaxRetryCount,omitempty"` + + // S3BucketFolder AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-neptunesettings.html#cfn-dms-endpoint-neptunesettings-s3bucketfolder + S3BucketFolder string `json:"S3BucketFolder,omitempty"` + + // S3BucketName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-neptunesettings.html#cfn-dms-endpoint-neptunesettings-s3bucketname + S3BucketName string `json:"S3BucketName,omitempty"` + + // ServiceAccessRoleArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-neptunesettings.html#cfn-dms-endpoint-neptunesettings-serviceaccessrolearn + ServiceAccessRoleArn string `json:"ServiceAccessRoleArn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Endpoint_NeptuneSettings) AWSCloudFormationType() string { + return "AWS::DMS::Endpoint.NeptuneSettings" +} diff --git a/cloudformation/dms/aws-dms-endpoint_s3settings.go b/cloudformation/dms/aws-dms-endpoint_s3settings.go index 23da87fb05..ae43546bfd 100644 --- a/cloudformation/dms/aws-dms-endpoint_s3settings.go +++ b/cloudformation/dms/aws-dms-endpoint_s3settings.go @@ -46,6 +46,9 @@ type Endpoint_S3Settings struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/dms/aws-dms-eventsubscription.go b/cloudformation/dms/aws-dms-eventsubscription.go index 2b5bda4765..824443aee3 100644 --- a/cloudformation/dms/aws-dms-eventsubscription.go +++ b/cloudformation/dms/aws-dms-eventsubscription.go @@ -51,6 +51,9 @@ type EventSubscription struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -71,19 +74,21 @@ func (r *EventSubscription) AWSCloudFormationType() string { func (r EventSubscription) MarshalJSON() ([]byte, error) { type Properties EventSubscription return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -92,12 +97,13 @@ func (r EventSubscription) MarshalJSON() ([]byte, error) { func (r *EventSubscription) UnmarshalJSON(b []byte) error { type Properties EventSubscription res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -121,6 +127,9 @@ func (r *EventSubscription) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/dms/aws-dms-replicationinstance.go b/cloudformation/dms/aws-dms-replicationinstance.go index cb71fd504c..7ea4d1ca78 100644 --- a/cloudformation/dms/aws-dms-replicationinstance.go +++ b/cloudformation/dms/aws-dms-replicationinstance.go @@ -86,6 +86,9 @@ type ReplicationInstance struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -106,19 +109,21 @@ func (r *ReplicationInstance) AWSCloudFormationType() string { func (r ReplicationInstance) MarshalJSON() ([]byte, error) { type Properties ReplicationInstance return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -127,12 +132,13 @@ func (r ReplicationInstance) MarshalJSON() ([]byte, error) { func (r *ReplicationInstance) UnmarshalJSON(b []byte) error { type Properties ReplicationInstance res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -156,6 +162,9 @@ func (r *ReplicationInstance) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/dms/aws-dms-replicationsubnetgroup.go b/cloudformation/dms/aws-dms-replicationsubnetgroup.go index dca3e2c726..ed68124346 100644 --- a/cloudformation/dms/aws-dms-replicationsubnetgroup.go +++ b/cloudformation/dms/aws-dms-replicationsubnetgroup.go @@ -36,6 +36,9 @@ type ReplicationSubnetGroup struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -56,19 +59,21 @@ func (r *ReplicationSubnetGroup) AWSCloudFormationType() string { func (r ReplicationSubnetGroup) MarshalJSON() ([]byte, error) { type Properties ReplicationSubnetGroup return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -77,12 +82,13 @@ func (r ReplicationSubnetGroup) MarshalJSON() ([]byte, error) { func (r *ReplicationSubnetGroup) UnmarshalJSON(b []byte) error { type Properties ReplicationSubnetGroup res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -106,6 +112,9 @@ func (r *ReplicationSubnetGroup) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/dms/aws-dms-replicationtask.go b/cloudformation/dms/aws-dms-replicationtask.go index 0d95c3e752..d1c0bbe7c2 100644 --- a/cloudformation/dms/aws-dms-replicationtask.go +++ b/cloudformation/dms/aws-dms-replicationtask.go @@ -68,9 +68,17 @@ type ReplicationTask struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationtask.html#cfn-dms-replicationtask-targetendpointarn TargetEndpointArn string `json:"TargetEndpointArn,omitempty"` + // TaskData AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationtask.html#cfn-dms-replicationtask-taskdata + TaskData string `json:"TaskData,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -91,19 +99,21 @@ func (r *ReplicationTask) AWSCloudFormationType() string { func (r ReplicationTask) MarshalJSON() ([]byte, error) { type Properties ReplicationTask return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -112,12 +122,13 @@ func (r ReplicationTask) MarshalJSON() ([]byte, error) { func (r *ReplicationTask) UnmarshalJSON(b []byte) error { type Properties ReplicationTask res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -141,6 +152,9 @@ func (r *ReplicationTask) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/docdb/aws-docdb-dbcluster.go b/cloudformation/docdb/aws-docdb-dbcluster.go index 9e41651a0c..b4e8cfef12 100644 --- a/cloudformation/docdb/aws-docdb-dbcluster.go +++ b/cloudformation/docdb/aws-docdb-dbcluster.go @@ -38,6 +38,11 @@ type DBCluster struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-dbsubnetgroupname DBSubnetGroupName string `json:"DBSubnetGroupName,omitempty"` + // DeletionProtection AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-deletionprotection + DeletionProtection bool `json:"DeletionProtection,omitempty"` + // EnableCloudwatchLogsExports AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-enablecloudwatchlogsexports @@ -101,6 +106,9 @@ type DBCluster struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -121,19 +129,21 @@ func (r *DBCluster) AWSCloudFormationType() string { func (r DBCluster) MarshalJSON() ([]byte, error) { type Properties DBCluster return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -142,12 +152,13 @@ func (r DBCluster) MarshalJSON() ([]byte, error) { func (r *DBCluster) UnmarshalJSON(b []byte) error { type Properties DBCluster res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -171,6 +182,9 @@ func (r *DBCluster) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/docdb/aws-docdb-dbclusterparametergroup.go b/cloudformation/docdb/aws-docdb-dbclusterparametergroup.go index ac7ab16e65..a091dbc829 100644 --- a/cloudformation/docdb/aws-docdb-dbclusterparametergroup.go +++ b/cloudformation/docdb/aws-docdb-dbclusterparametergroup.go @@ -41,6 +41,9 @@ type DBClusterParameterGroup struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -61,19 +64,21 @@ func (r *DBClusterParameterGroup) AWSCloudFormationType() string { func (r DBClusterParameterGroup) MarshalJSON() ([]byte, error) { type Properties DBClusterParameterGroup return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -82,12 +87,13 @@ func (r DBClusterParameterGroup) MarshalJSON() ([]byte, error) { func (r *DBClusterParameterGroup) UnmarshalJSON(b []byte) error { type Properties DBClusterParameterGroup res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -111,6 +117,9 @@ func (r *DBClusterParameterGroup) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/docdb/aws-docdb-dbinstance.go b/cloudformation/docdb/aws-docdb-dbinstance.go index 16c0a88b20..48d32fd1cb 100644 --- a/cloudformation/docdb/aws-docdb-dbinstance.go +++ b/cloudformation/docdb/aws-docdb-dbinstance.go @@ -51,6 +51,9 @@ type DBInstance struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -71,19 +74,21 @@ func (r *DBInstance) AWSCloudFormationType() string { func (r DBInstance) MarshalJSON() ([]byte, error) { type Properties DBInstance return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -92,12 +97,13 @@ func (r DBInstance) MarshalJSON() ([]byte, error) { func (r *DBInstance) UnmarshalJSON(b []byte) error { type Properties DBInstance res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -121,6 +127,9 @@ func (r *DBInstance) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/docdb/aws-docdb-dbsubnetgroup.go b/cloudformation/docdb/aws-docdb-dbsubnetgroup.go index c8e25e1d56..178da77df9 100644 --- a/cloudformation/docdb/aws-docdb-dbsubnetgroup.go +++ b/cloudformation/docdb/aws-docdb-dbsubnetgroup.go @@ -36,6 +36,9 @@ type DBSubnetGroup struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -56,19 +59,21 @@ func (r *DBSubnetGroup) AWSCloudFormationType() string { func (r DBSubnetGroup) MarshalJSON() ([]byte, error) { type Properties DBSubnetGroup return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -77,12 +82,13 @@ func (r DBSubnetGroup) MarshalJSON() ([]byte, error) { func (r *DBSubnetGroup) UnmarshalJSON(b []byte) error { type Properties DBSubnetGroup res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -106,6 +112,9 @@ func (r *DBSubnetGroup) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/dynamodb/aws-dynamodb-table.go b/cloudformation/dynamodb/aws-dynamodb-table.go index b436bd97a5..a144b1c96d 100644 --- a/cloudformation/dynamodb/aws-dynamodb-table.go +++ b/cloudformation/dynamodb/aws-dynamodb-table.go @@ -76,6 +76,9 @@ type Table struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -96,19 +99,21 @@ func (r *Table) AWSCloudFormationType() string { func (r Table) MarshalJSON() ([]byte, error) { type Properties Table return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -117,12 +122,13 @@ func (r Table) MarshalJSON() ([]byte, error) { func (r *Table) UnmarshalJSON(b []byte) error { type Properties Table res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -146,6 +152,9 @@ func (r *Table) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/dynamodb/aws-dynamodb-table_attributedefinition.go b/cloudformation/dynamodb/aws-dynamodb-table_attributedefinition.go index 3c1714b356..f220a3f19a 100644 --- a/cloudformation/dynamodb/aws-dynamodb-table_attributedefinition.go +++ b/cloudformation/dynamodb/aws-dynamodb-table_attributedefinition.go @@ -21,6 +21,9 @@ type Table_AttributeDefinition struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/dynamodb/aws-dynamodb-table_globalsecondaryindex.go b/cloudformation/dynamodb/aws-dynamodb-table_globalsecondaryindex.go index 6ea735629b..f42f17fedb 100644 --- a/cloudformation/dynamodb/aws-dynamodb-table_globalsecondaryindex.go +++ b/cloudformation/dynamodb/aws-dynamodb-table_globalsecondaryindex.go @@ -31,6 +31,9 @@ type Table_GlobalSecondaryIndex struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/dynamodb/aws-dynamodb-table_keyschema.go b/cloudformation/dynamodb/aws-dynamodb-table_keyschema.go index 44b3fd70ff..a0565cc29d 100644 --- a/cloudformation/dynamodb/aws-dynamodb-table_keyschema.go +++ b/cloudformation/dynamodb/aws-dynamodb-table_keyschema.go @@ -21,6 +21,9 @@ type Table_KeySchema struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/dynamodb/aws-dynamodb-table_localsecondaryindex.go b/cloudformation/dynamodb/aws-dynamodb-table_localsecondaryindex.go index bad304e54b..650785897e 100644 --- a/cloudformation/dynamodb/aws-dynamodb-table_localsecondaryindex.go +++ b/cloudformation/dynamodb/aws-dynamodb-table_localsecondaryindex.go @@ -26,6 +26,9 @@ type Table_LocalSecondaryIndex struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/dynamodb/aws-dynamodb-table_pointintimerecoveryspecification.go b/cloudformation/dynamodb/aws-dynamodb-table_pointintimerecoveryspecification.go index 6a1014c69c..9886336427 100644 --- a/cloudformation/dynamodb/aws-dynamodb-table_pointintimerecoveryspecification.go +++ b/cloudformation/dynamodb/aws-dynamodb-table_pointintimerecoveryspecification.go @@ -16,6 +16,9 @@ type Table_PointInTimeRecoverySpecification struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/dynamodb/aws-dynamodb-table_projection.go b/cloudformation/dynamodb/aws-dynamodb-table_projection.go index 463ff5f7da..9eba517cd1 100644 --- a/cloudformation/dynamodb/aws-dynamodb-table_projection.go +++ b/cloudformation/dynamodb/aws-dynamodb-table_projection.go @@ -21,6 +21,9 @@ type Table_Projection struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/dynamodb/aws-dynamodb-table_provisionedthroughput.go b/cloudformation/dynamodb/aws-dynamodb-table_provisionedthroughput.go index 9e93c0dac5..1a027c1f02 100644 --- a/cloudformation/dynamodb/aws-dynamodb-table_provisionedthroughput.go +++ b/cloudformation/dynamodb/aws-dynamodb-table_provisionedthroughput.go @@ -21,6 +21,9 @@ type Table_ProvisionedThroughput struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/dynamodb/aws-dynamodb-table_ssespecification.go b/cloudformation/dynamodb/aws-dynamodb-table_ssespecification.go index a4eab58e5c..08d66574d4 100644 --- a/cloudformation/dynamodb/aws-dynamodb-table_ssespecification.go +++ b/cloudformation/dynamodb/aws-dynamodb-table_ssespecification.go @@ -26,6 +26,9 @@ type Table_SSESpecification struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/dynamodb/aws-dynamodb-table_streamspecification.go b/cloudformation/dynamodb/aws-dynamodb-table_streamspecification.go index a04982c0f1..50aa8957c2 100644 --- a/cloudformation/dynamodb/aws-dynamodb-table_streamspecification.go +++ b/cloudformation/dynamodb/aws-dynamodb-table_streamspecification.go @@ -16,6 +16,9 @@ type Table_StreamSpecification struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/dynamodb/aws-dynamodb-table_timetolivespecification.go b/cloudformation/dynamodb/aws-dynamodb-table_timetolivespecification.go index 4fc40bcbe8..9365a4b761 100644 --- a/cloudformation/dynamodb/aws-dynamodb-table_timetolivespecification.go +++ b/cloudformation/dynamodb/aws-dynamodb-table_timetolivespecification.go @@ -21,6 +21,9 @@ type Table_TimeToLiveSpecification struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-capacityreservation.go b/cloudformation/ec2/aws-ec2-capacityreservation.go index 44c3020f4c..5932f12752 100644 --- a/cloudformation/ec2/aws-ec2-capacityreservation.go +++ b/cloudformation/ec2/aws-ec2-capacityreservation.go @@ -70,6 +70,9 @@ type CapacityReservation struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -90,19 +93,21 @@ func (r *CapacityReservation) AWSCloudFormationType() string { func (r CapacityReservation) MarshalJSON() ([]byte, error) { type Properties CapacityReservation return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -111,12 +116,13 @@ func (r CapacityReservation) MarshalJSON() ([]byte, error) { func (r *CapacityReservation) UnmarshalJSON(b []byte) error { type Properties CapacityReservation res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -140,6 +146,9 @@ func (r *CapacityReservation) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-capacityreservation_tagspecification.go b/cloudformation/ec2/aws-ec2-capacityreservation_tagspecification.go index c89229d4d8..ff7a9661aa 100644 --- a/cloudformation/ec2/aws-ec2-capacityreservation_tagspecification.go +++ b/cloudformation/ec2/aws-ec2-capacityreservation_tagspecification.go @@ -22,6 +22,9 @@ type CapacityReservation_TagSpecification struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-clientvpnauthorizationrule.go b/cloudformation/ec2/aws-ec2-clientvpnauthorizationrule.go index ef9d59a979..08d613bce3 100644 --- a/cloudformation/ec2/aws-ec2-clientvpnauthorizationrule.go +++ b/cloudformation/ec2/aws-ec2-clientvpnauthorizationrule.go @@ -40,6 +40,9 @@ type ClientVpnAuthorizationRule struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -60,19 +63,21 @@ func (r *ClientVpnAuthorizationRule) AWSCloudFormationType() string { func (r ClientVpnAuthorizationRule) MarshalJSON() ([]byte, error) { type Properties ClientVpnAuthorizationRule return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -81,12 +86,13 @@ func (r ClientVpnAuthorizationRule) MarshalJSON() ([]byte, error) { func (r *ClientVpnAuthorizationRule) UnmarshalJSON(b []byte) error { type Properties ClientVpnAuthorizationRule res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -110,6 +116,9 @@ func (r *ClientVpnAuthorizationRule) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-clientvpnendpoint.go b/cloudformation/ec2/aws-ec2-clientvpnendpoint.go index 60657ee405..9396cc7bac 100644 --- a/cloudformation/ec2/aws-ec2-clientvpnendpoint.go +++ b/cloudformation/ec2/aws-ec2-clientvpnendpoint.go @@ -37,6 +37,11 @@ type ClientVpnEndpoint struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-dnsservers DnsServers []string `json:"DnsServers,omitempty"` + // SecurityGroupIds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-securitygroupids + SecurityGroupIds []string `json:"SecurityGroupIds,omitempty"` + // ServerCertificateArn AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-servercertificatearn @@ -57,6 +62,11 @@ type ClientVpnEndpoint struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-transportprotocol TransportProtocol string `json:"TransportProtocol,omitempty"` + // VpcId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-vpcid + VpcId string `json:"VpcId,omitempty"` + // VpnPort AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-vpnport @@ -65,6 +75,9 @@ type ClientVpnEndpoint struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -85,19 +98,21 @@ func (r *ClientVpnEndpoint) AWSCloudFormationType() string { func (r ClientVpnEndpoint) MarshalJSON() ([]byte, error) { type Properties ClientVpnEndpoint return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -106,12 +121,13 @@ func (r ClientVpnEndpoint) MarshalJSON() ([]byte, error) { func (r *ClientVpnEndpoint) UnmarshalJSON(b []byte) error { type Properties ClientVpnEndpoint res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -135,6 +151,9 @@ func (r *ClientVpnEndpoint) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-clientvpnendpoint_certificateauthenticationrequest.go b/cloudformation/ec2/aws-ec2-clientvpnendpoint_certificateauthenticationrequest.go index 19aaa6c1e9..4ebe1e9288 100644 --- a/cloudformation/ec2/aws-ec2-clientvpnendpoint_certificateauthenticationrequest.go +++ b/cloudformation/ec2/aws-ec2-clientvpnendpoint_certificateauthenticationrequest.go @@ -16,6 +16,9 @@ type ClientVpnEndpoint_CertificateAuthenticationRequest struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-clientvpnendpoint_clientauthenticationrequest.go b/cloudformation/ec2/aws-ec2-clientvpnendpoint_clientauthenticationrequest.go index 78e8e3ed40..5673f64f67 100644 --- a/cloudformation/ec2/aws-ec2-clientvpnendpoint_clientauthenticationrequest.go +++ b/cloudformation/ec2/aws-ec2-clientvpnendpoint_clientauthenticationrequest.go @@ -13,6 +13,11 @@ type ClientVpnEndpoint_ClientAuthenticationRequest struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-clientauthenticationrequest.html#cfn-ec2-clientvpnendpoint-clientauthenticationrequest-activedirectory ActiveDirectory *ClientVpnEndpoint_DirectoryServiceAuthenticationRequest `json:"ActiveDirectory,omitempty"` + // FederatedAuthentication AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-clientauthenticationrequest.html#cfn-ec2-clientvpnendpoint-clientauthenticationrequest-federatedauthentication + FederatedAuthentication *ClientVpnEndpoint_FederatedAuthenticationRequest `json:"FederatedAuthentication,omitempty"` + // MutualAuthentication AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-clientauthenticationrequest.html#cfn-ec2-clientvpnendpoint-clientauthenticationrequest-mutualauthentication @@ -26,6 +31,9 @@ type ClientVpnEndpoint_ClientAuthenticationRequest struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-clientvpnendpoint_connectionlogoptions.go b/cloudformation/ec2/aws-ec2-clientvpnendpoint_connectionlogoptions.go index 69c801f65e..dec1c5a828 100644 --- a/cloudformation/ec2/aws-ec2-clientvpnendpoint_connectionlogoptions.go +++ b/cloudformation/ec2/aws-ec2-clientvpnendpoint_connectionlogoptions.go @@ -26,6 +26,9 @@ type ClientVpnEndpoint_ConnectionLogOptions struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-clientvpnendpoint_directoryserviceauthenticationrequest.go b/cloudformation/ec2/aws-ec2-clientvpnendpoint_directoryserviceauthenticationrequest.go index 32ee79aa98..b470bbceb9 100644 --- a/cloudformation/ec2/aws-ec2-clientvpnendpoint_directoryserviceauthenticationrequest.go +++ b/cloudformation/ec2/aws-ec2-clientvpnendpoint_directoryserviceauthenticationrequest.go @@ -16,6 +16,9 @@ type ClientVpnEndpoint_DirectoryServiceAuthenticationRequest struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-clientvpnendpoint_federatedauthenticationrequest.go b/cloudformation/ec2/aws-ec2-clientvpnendpoint_federatedauthenticationrequest.go new file mode 100644 index 0000000000..6ca623a75e --- /dev/null +++ b/cloudformation/ec2/aws-ec2-clientvpnendpoint_federatedauthenticationrequest.go @@ -0,0 +1,35 @@ +package ec2 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ClientVpnEndpoint_FederatedAuthenticationRequest AWS CloudFormation Resource (AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-federatedauthenticationrequest.html +type ClientVpnEndpoint_FederatedAuthenticationRequest struct { + + // SAMLProviderArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-federatedauthenticationrequest.html#cfn-ec2-clientvpnendpoint-federatedauthenticationrequest-samlproviderarn + SAMLProviderArn string `json:"SAMLProviderArn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ClientVpnEndpoint_FederatedAuthenticationRequest) AWSCloudFormationType() string { + return "AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest" +} diff --git a/cloudformation/ec2/aws-ec2-clientvpnendpoint_tagspecification.go b/cloudformation/ec2/aws-ec2-clientvpnendpoint_tagspecification.go index 75d982a153..7a923eac53 100644 --- a/cloudformation/ec2/aws-ec2-clientvpnendpoint_tagspecification.go +++ b/cloudformation/ec2/aws-ec2-clientvpnendpoint_tagspecification.go @@ -22,6 +22,9 @@ type ClientVpnEndpoint_TagSpecification struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-clientvpnroute.go b/cloudformation/ec2/aws-ec2-clientvpnroute.go index 1daa610310..8cd7e31cc4 100644 --- a/cloudformation/ec2/aws-ec2-clientvpnroute.go +++ b/cloudformation/ec2/aws-ec2-clientvpnroute.go @@ -35,6 +35,9 @@ type ClientVpnRoute struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -55,19 +58,21 @@ func (r *ClientVpnRoute) AWSCloudFormationType() string { func (r ClientVpnRoute) MarshalJSON() ([]byte, error) { type Properties ClientVpnRoute return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -76,12 +81,13 @@ func (r ClientVpnRoute) MarshalJSON() ([]byte, error) { func (r *ClientVpnRoute) UnmarshalJSON(b []byte) error { type Properties ClientVpnRoute res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -105,6 +111,9 @@ func (r *ClientVpnRoute) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-clientvpntargetnetworkassociation.go b/cloudformation/ec2/aws-ec2-clientvpntargetnetworkassociation.go index 71164e673d..45c2700854 100644 --- a/cloudformation/ec2/aws-ec2-clientvpntargetnetworkassociation.go +++ b/cloudformation/ec2/aws-ec2-clientvpntargetnetworkassociation.go @@ -25,6 +25,9 @@ type ClientVpnTargetNetworkAssociation struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *ClientVpnTargetNetworkAssociation) AWSCloudFormationType() string { func (r ClientVpnTargetNetworkAssociation) MarshalJSON() ([]byte, error) { type Properties ClientVpnTargetNetworkAssociation return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r ClientVpnTargetNetworkAssociation) MarshalJSON() ([]byte, error) { func (r *ClientVpnTargetNetworkAssociation) UnmarshalJSON(b []byte) error { type Properties ClientVpnTargetNetworkAssociation res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *ClientVpnTargetNetworkAssociation) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-customergateway.go b/cloudformation/ec2/aws-ec2-customergateway.go index 96015e41f7..dcca5bcc4e 100644 --- a/cloudformation/ec2/aws-ec2-customergateway.go +++ b/cloudformation/ec2/aws-ec2-customergateway.go @@ -36,6 +36,9 @@ type CustomerGateway struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -56,19 +59,21 @@ func (r *CustomerGateway) AWSCloudFormationType() string { func (r CustomerGateway) MarshalJSON() ([]byte, error) { type Properties CustomerGateway return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -77,12 +82,13 @@ func (r CustomerGateway) MarshalJSON() ([]byte, error) { func (r *CustomerGateway) UnmarshalJSON(b []byte) error { type Properties CustomerGateway res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -106,6 +112,9 @@ func (r *CustomerGateway) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-dhcpoptions.go b/cloudformation/ec2/aws-ec2-dhcpoptions.go index 744d9154d9..50859d7aab 100644 --- a/cloudformation/ec2/aws-ec2-dhcpoptions.go +++ b/cloudformation/ec2/aws-ec2-dhcpoptions.go @@ -46,6 +46,9 @@ type DHCPOptions struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -66,19 +69,21 @@ func (r *DHCPOptions) AWSCloudFormationType() string { func (r DHCPOptions) MarshalJSON() ([]byte, error) { type Properties DHCPOptions return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -87,12 +92,13 @@ func (r DHCPOptions) MarshalJSON() ([]byte, error) { func (r *DHCPOptions) UnmarshalJSON(b []byte) error { type Properties DHCPOptions res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -116,6 +122,9 @@ func (r *DHCPOptions) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-ec2fleet.go b/cloudformation/ec2/aws-ec2-ec2fleet.go index 91d6e5bb1a..b5bb4533aa 100644 --- a/cloudformation/ec2/aws-ec2-ec2fleet.go +++ b/cloudformation/ec2/aws-ec2-ec2fleet.go @@ -70,6 +70,9 @@ type EC2Fleet struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -90,19 +93,21 @@ func (r *EC2Fleet) AWSCloudFormationType() string { func (r EC2Fleet) MarshalJSON() ([]byte, error) { type Properties EC2Fleet return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -111,12 +116,13 @@ func (r EC2Fleet) MarshalJSON() ([]byte, error) { func (r *EC2Fleet) UnmarshalJSON(b []byte) error { type Properties EC2Fleet res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -140,6 +146,9 @@ func (r *EC2Fleet) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-ec2fleet_capacityreservationoptionsrequest.go b/cloudformation/ec2/aws-ec2-ec2fleet_capacityreservationoptionsrequest.go new file mode 100644 index 0000000000..b98966a5f4 --- /dev/null +++ b/cloudformation/ec2/aws-ec2-ec2fleet_capacityreservationoptionsrequest.go @@ -0,0 +1,35 @@ +package ec2 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// EC2Fleet_CapacityReservationOptionsRequest AWS CloudFormation Resource (AWS::EC2::EC2Fleet.CapacityReservationOptionsRequest) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-capacityreservationoptionsrequest.html +type EC2Fleet_CapacityReservationOptionsRequest struct { + + // UsageStrategy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-capacityreservationoptionsrequest.html#cfn-ec2-ec2fleet-capacityreservationoptionsrequest-usagestrategy + UsageStrategy string `json:"UsageStrategy,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *EC2Fleet_CapacityReservationOptionsRequest) AWSCloudFormationType() string { + return "AWS::EC2::EC2Fleet.CapacityReservationOptionsRequest" +} diff --git a/cloudformation/ec2/aws-ec2-ec2fleet_fleetlaunchtemplateconfigrequest.go b/cloudformation/ec2/aws-ec2-ec2fleet_fleetlaunchtemplateconfigrequest.go index 0e8e924161..84263a1019 100644 --- a/cloudformation/ec2/aws-ec2-ec2fleet_fleetlaunchtemplateconfigrequest.go +++ b/cloudformation/ec2/aws-ec2-ec2fleet_fleetlaunchtemplateconfigrequest.go @@ -21,6 +21,9 @@ type EC2Fleet_FleetLaunchTemplateConfigRequest struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-ec2fleet_fleetlaunchtemplateoverridesrequest.go b/cloudformation/ec2/aws-ec2-ec2fleet_fleetlaunchtemplateoverridesrequest.go index aaeeea6d01..2fc667967a 100644 --- a/cloudformation/ec2/aws-ec2-ec2fleet_fleetlaunchtemplateoverridesrequest.go +++ b/cloudformation/ec2/aws-ec2-ec2fleet_fleetlaunchtemplateoverridesrequest.go @@ -23,6 +23,11 @@ type EC2Fleet_FleetLaunchTemplateOverridesRequest struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest-maxprice MaxPrice string `json:"MaxPrice,omitempty"` + // Placement AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest-placement + Placement *EC2Fleet_Placement `json:"Placement,omitempty"` + // Priority AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest-priority @@ -41,6 +46,9 @@ type EC2Fleet_FleetLaunchTemplateOverridesRequest struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-ec2fleet_fleetlaunchtemplatespecificationrequest.go b/cloudformation/ec2/aws-ec2-ec2fleet_fleetlaunchtemplatespecificationrequest.go index b6bed3d93a..86678e4295 100644 --- a/cloudformation/ec2/aws-ec2-ec2fleet_fleetlaunchtemplatespecificationrequest.go +++ b/cloudformation/ec2/aws-ec2-ec2fleet_fleetlaunchtemplatespecificationrequest.go @@ -26,6 +26,9 @@ type EC2Fleet_FleetLaunchTemplateSpecificationRequest struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-ec2fleet_ondemandoptionsrequest.go b/cloudformation/ec2/aws-ec2-ec2fleet_ondemandoptionsrequest.go index aeb027b624..4566535f48 100644 --- a/cloudformation/ec2/aws-ec2-ec2fleet_ondemandoptionsrequest.go +++ b/cloudformation/ec2/aws-ec2-ec2fleet_ondemandoptionsrequest.go @@ -13,9 +13,37 @@ type EC2Fleet_OnDemandOptionsRequest struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-ondemandoptionsrequest.html#cfn-ec2-ec2fleet-ondemandoptionsrequest-allocationstrategy AllocationStrategy string `json:"AllocationStrategy,omitempty"` + // CapacityReservationOptions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-ondemandoptionsrequest.html#cfn-ec2-ec2fleet-ondemandoptionsrequest-capacityreservationoptions + CapacityReservationOptions *EC2Fleet_CapacityReservationOptionsRequest `json:"CapacityReservationOptions,omitempty"` + + // MaxTotalPrice AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-ondemandoptionsrequest.html#cfn-ec2-ec2fleet-ondemandoptionsrequest-maxtotalprice + MaxTotalPrice string `json:"MaxTotalPrice,omitempty"` + + // MinTargetCapacity AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-ondemandoptionsrequest.html#cfn-ec2-ec2fleet-ondemandoptionsrequest-mintargetcapacity + MinTargetCapacity int `json:"MinTargetCapacity,omitempty"` + + // SingleAvailabilityZone AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-ondemandoptionsrequest.html#cfn-ec2-ec2fleet-ondemandoptionsrequest-singleavailabilityzone + SingleAvailabilityZone bool `json:"SingleAvailabilityZone,omitempty"` + + // SingleInstanceType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-ondemandoptionsrequest.html#cfn-ec2-ec2fleet-ondemandoptionsrequest-singleinstancetype + SingleInstanceType bool `json:"SingleInstanceType,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-ec2fleet_placement.go b/cloudformation/ec2/aws-ec2-ec2fleet_placement.go new file mode 100644 index 0000000000..85e5556f33 --- /dev/null +++ b/cloudformation/ec2/aws-ec2-ec2fleet_placement.go @@ -0,0 +1,70 @@ +package ec2 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// EC2Fleet_Placement AWS CloudFormation Resource (AWS::EC2::EC2Fleet.Placement) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-placement.html +type EC2Fleet_Placement struct { + + // Affinity AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-placement.html#cfn-ec2-ec2fleet-placement-affinity + Affinity string `json:"Affinity,omitempty"` + + // AvailabilityZone AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-placement.html#cfn-ec2-ec2fleet-placement-availabilityzone + AvailabilityZone string `json:"AvailabilityZone,omitempty"` + + // GroupName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-placement.html#cfn-ec2-ec2fleet-placement-groupname + GroupName string `json:"GroupName,omitempty"` + + // HostId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-placement.html#cfn-ec2-ec2fleet-placement-hostid + HostId string `json:"HostId,omitempty"` + + // HostResourceGroupArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-placement.html#cfn-ec2-ec2fleet-placement-hostresourcegrouparn + HostResourceGroupArn string `json:"HostResourceGroupArn,omitempty"` + + // PartitionNumber AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-placement.html#cfn-ec2-ec2fleet-placement-partitionnumber + PartitionNumber int `json:"PartitionNumber,omitempty"` + + // SpreadDomain AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-placement.html#cfn-ec2-ec2fleet-placement-spreaddomain + SpreadDomain string `json:"SpreadDomain,omitempty"` + + // Tenancy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-placement.html#cfn-ec2-ec2fleet-placement-tenancy + Tenancy string `json:"Tenancy,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *EC2Fleet_Placement) AWSCloudFormationType() string { + return "AWS::EC2::EC2Fleet.Placement" +} diff --git a/cloudformation/ec2/aws-ec2-ec2fleet_spotoptionsrequest.go b/cloudformation/ec2/aws-ec2-ec2fleet_spotoptionsrequest.go index 45badddf32..18b344d9b7 100644 --- a/cloudformation/ec2/aws-ec2-ec2fleet_spotoptionsrequest.go +++ b/cloudformation/ec2/aws-ec2-ec2fleet_spotoptionsrequest.go @@ -23,9 +23,32 @@ type EC2Fleet_SpotOptionsRequest struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-spotoptionsrequest.html#cfn-ec2-ec2fleet-spotoptionsrequest-instancepoolstousecount InstancePoolsToUseCount int `json:"InstancePoolsToUseCount,omitempty"` + // MaxTotalPrice AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-spotoptionsrequest.html#cfn-ec2-ec2fleet-spotoptionsrequest-maxtotalprice + MaxTotalPrice string `json:"MaxTotalPrice,omitempty"` + + // MinTargetCapacity AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-spotoptionsrequest.html#cfn-ec2-ec2fleet-spotoptionsrequest-mintargetcapacity + MinTargetCapacity int `json:"MinTargetCapacity,omitempty"` + + // SingleAvailabilityZone AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-spotoptionsrequest.html#cfn-ec2-ec2fleet-spotoptionsrequest-singleavailabilityzone + SingleAvailabilityZone bool `json:"SingleAvailabilityZone,omitempty"` + + // SingleInstanceType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-spotoptionsrequest.html#cfn-ec2-ec2fleet-spotoptionsrequest-singleinstancetype + SingleInstanceType bool `json:"SingleInstanceType,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-ec2fleet_tagspecification.go b/cloudformation/ec2/aws-ec2-ec2fleet_tagspecification.go index 7441eb15d7..fa99512221 100644 --- a/cloudformation/ec2/aws-ec2-ec2fleet_tagspecification.go +++ b/cloudformation/ec2/aws-ec2-ec2fleet_tagspecification.go @@ -2,6 +2,7 @@ package ec2 import ( "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" ) // EC2Fleet_TagSpecification AWS CloudFormation Resource (AWS::EC2::EC2Fleet.TagSpecification) @@ -16,11 +17,14 @@ type EC2Fleet_TagSpecification struct { // Tags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-tagspecification.html#cfn-ec2-ec2fleet-tagspecification-tags - Tags []EC2Fleet_TagRequest `json:"Tags,omitempty"` + Tags []tags.Tag `json:"Tags,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-ec2fleet_targetcapacityspecificationrequest.go b/cloudformation/ec2/aws-ec2-ec2fleet_targetcapacityspecificationrequest.go index 3328a3bd2c..b34eaa8408 100644 --- a/cloudformation/ec2/aws-ec2-ec2fleet_targetcapacityspecificationrequest.go +++ b/cloudformation/ec2/aws-ec2-ec2fleet_targetcapacityspecificationrequest.go @@ -31,6 +31,9 @@ type EC2Fleet_TargetCapacitySpecificationRequest struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-egressonlyinternetgateway.go b/cloudformation/ec2/aws-ec2-egressonlyinternetgateway.go index 7e97ad5b93..966ed2c010 100644 --- a/cloudformation/ec2/aws-ec2-egressonlyinternetgateway.go +++ b/cloudformation/ec2/aws-ec2-egressonlyinternetgateway.go @@ -20,6 +20,9 @@ type EgressOnlyInternetGateway struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -40,19 +43,21 @@ func (r *EgressOnlyInternetGateway) AWSCloudFormationType() string { func (r EgressOnlyInternetGateway) MarshalJSON() ([]byte, error) { type Properties EgressOnlyInternetGateway return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -61,12 +66,13 @@ func (r EgressOnlyInternetGateway) MarshalJSON() ([]byte, error) { func (r *EgressOnlyInternetGateway) UnmarshalJSON(b []byte) error { type Properties EgressOnlyInternetGateway res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -90,6 +96,9 @@ func (r *EgressOnlyInternetGateway) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-eip.go b/cloudformation/ec2/aws-ec2-eip.go index f1680e15f1..e1000ac24b 100644 --- a/cloudformation/ec2/aws-ec2-eip.go +++ b/cloudformation/ec2/aws-ec2-eip.go @@ -36,6 +36,9 @@ type EIP struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -56,19 +59,21 @@ func (r *EIP) AWSCloudFormationType() string { func (r EIP) MarshalJSON() ([]byte, error) { type Properties EIP return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -77,12 +82,13 @@ func (r EIP) MarshalJSON() ([]byte, error) { func (r *EIP) UnmarshalJSON(b []byte) error { type Properties EIP res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -106,6 +112,9 @@ func (r *EIP) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-eipassociation.go b/cloudformation/ec2/aws-ec2-eipassociation.go index a93fce52f9..b9bd9b36d8 100644 --- a/cloudformation/ec2/aws-ec2-eipassociation.go +++ b/cloudformation/ec2/aws-ec2-eipassociation.go @@ -40,6 +40,9 @@ type EIPAssociation struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -60,19 +63,21 @@ func (r *EIPAssociation) AWSCloudFormationType() string { func (r EIPAssociation) MarshalJSON() ([]byte, error) { type Properties EIPAssociation return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -81,12 +86,13 @@ func (r EIPAssociation) MarshalJSON() ([]byte, error) { func (r *EIPAssociation) UnmarshalJSON(b []byte) error { type Properties EIPAssociation res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -110,6 +116,9 @@ func (r *EIPAssociation) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-flowlog.go b/cloudformation/ec2/aws-ec2-flowlog.go index 61974acb29..56c85763c4 100644 --- a/cloudformation/ec2/aws-ec2-flowlog.go +++ b/cloudformation/ec2/aws-ec2-flowlog.go @@ -50,6 +50,9 @@ type FlowLog struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -70,19 +73,21 @@ func (r *FlowLog) AWSCloudFormationType() string { func (r FlowLog) MarshalJSON() ([]byte, error) { type Properties FlowLog return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -91,12 +96,13 @@ func (r FlowLog) MarshalJSON() ([]byte, error) { func (r *FlowLog) UnmarshalJSON(b []byte) error { type Properties FlowLog res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -120,6 +126,9 @@ func (r *FlowLog) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-gatewayroutetableassociation.go b/cloudformation/ec2/aws-ec2-gatewayroutetableassociation.go index 29c09cf7ce..176e71e8f3 100644 --- a/cloudformation/ec2/aws-ec2-gatewayroutetableassociation.go +++ b/cloudformation/ec2/aws-ec2-gatewayroutetableassociation.go @@ -25,6 +25,9 @@ type GatewayRouteTableAssociation struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *GatewayRouteTableAssociation) AWSCloudFormationType() string { func (r GatewayRouteTableAssociation) MarshalJSON() ([]byte, error) { type Properties GatewayRouteTableAssociation return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r GatewayRouteTableAssociation) MarshalJSON() ([]byte, error) { func (r *GatewayRouteTableAssociation) UnmarshalJSON(b []byte) error { type Properties GatewayRouteTableAssociation res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *GatewayRouteTableAssociation) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-host.go b/cloudformation/ec2/aws-ec2-host.go index 2d6dbb611d..7687414ea5 100644 --- a/cloudformation/ec2/aws-ec2-host.go +++ b/cloudformation/ec2/aws-ec2-host.go @@ -35,6 +35,9 @@ type Host struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -55,19 +58,21 @@ func (r *Host) AWSCloudFormationType() string { func (r Host) MarshalJSON() ([]byte, error) { type Properties Host return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -76,12 +81,13 @@ func (r Host) MarshalJSON() ([]byte, error) { func (r *Host) UnmarshalJSON(b []byte) error { type Properties Host res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -105,6 +111,9 @@ func (r *Host) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-instance.go b/cloudformation/ec2/aws-ec2-instance.go index c76c7cc6f3..8c9e2779b9 100644 --- a/cloudformation/ec2/aws-ec2-instance.go +++ b/cloudformation/ec2/aws-ec2-instance.go @@ -204,6 +204,9 @@ type Instance struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -224,21 +227,23 @@ func (r *Instance) AWSCloudFormationType() string { func (r Instance) MarshalJSON() ([]byte, error) { type Properties Instance return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` CreationPolicy *policies.CreationPolicy `json:"CreationPolicy,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, CreationPolicy: r.AWSCloudFormationCreationPolicy, }) @@ -249,12 +254,13 @@ func (r Instance) MarshalJSON() ([]byte, error) { func (r *Instance) UnmarshalJSON(b []byte) error { type Properties Instance res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -278,6 +284,9 @@ func (r *Instance) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-instance_associationparameter.go b/cloudformation/ec2/aws-ec2-instance_associationparameter.go index 6bfbff41e6..5a611b9e42 100644 --- a/cloudformation/ec2/aws-ec2-instance_associationparameter.go +++ b/cloudformation/ec2/aws-ec2-instance_associationparameter.go @@ -21,6 +21,9 @@ type Instance_AssociationParameter struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-instance_blockdevicemapping.go b/cloudformation/ec2/aws-ec2-instance_blockdevicemapping.go index 68efd1bdad..97edc2beeb 100644 --- a/cloudformation/ec2/aws-ec2-instance_blockdevicemapping.go +++ b/cloudformation/ec2/aws-ec2-instance_blockdevicemapping.go @@ -31,6 +31,9 @@ type Instance_BlockDeviceMapping struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-instance_cpuoptions.go b/cloudformation/ec2/aws-ec2-instance_cpuoptions.go index 74b525dc9e..ebc94b6b0e 100644 --- a/cloudformation/ec2/aws-ec2-instance_cpuoptions.go +++ b/cloudformation/ec2/aws-ec2-instance_cpuoptions.go @@ -21,6 +21,9 @@ type Instance_CpuOptions struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-instance_creditspecification.go b/cloudformation/ec2/aws-ec2-instance_creditspecification.go index af212a3da6..9cd2e84a97 100644 --- a/cloudformation/ec2/aws-ec2-instance_creditspecification.go +++ b/cloudformation/ec2/aws-ec2-instance_creditspecification.go @@ -16,6 +16,9 @@ type Instance_CreditSpecification struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-instance_ebs.go b/cloudformation/ec2/aws-ec2-instance_ebs.go index 993612fd33..be9d891e15 100644 --- a/cloudformation/ec2/aws-ec2-instance_ebs.go +++ b/cloudformation/ec2/aws-ec2-instance_ebs.go @@ -46,6 +46,9 @@ type Instance_Ebs struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-instance_elasticgpuspecification.go b/cloudformation/ec2/aws-ec2-instance_elasticgpuspecification.go index 4e6fcedeb0..ada0ae90d7 100644 --- a/cloudformation/ec2/aws-ec2-instance_elasticgpuspecification.go +++ b/cloudformation/ec2/aws-ec2-instance_elasticgpuspecification.go @@ -16,6 +16,9 @@ type Instance_ElasticGpuSpecification struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-instance_elasticinferenceaccelerator.go b/cloudformation/ec2/aws-ec2-instance_elasticinferenceaccelerator.go index 11ed2437d6..ec68194e4f 100644 --- a/cloudformation/ec2/aws-ec2-instance_elasticinferenceaccelerator.go +++ b/cloudformation/ec2/aws-ec2-instance_elasticinferenceaccelerator.go @@ -21,6 +21,9 @@ type Instance_ElasticInferenceAccelerator struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-instance_hibernationoptions.go b/cloudformation/ec2/aws-ec2-instance_hibernationoptions.go index c579aa3a7f..7ab63efcf2 100644 --- a/cloudformation/ec2/aws-ec2-instance_hibernationoptions.go +++ b/cloudformation/ec2/aws-ec2-instance_hibernationoptions.go @@ -16,6 +16,9 @@ type Instance_HibernationOptions struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-instance_instanceipv6address.go b/cloudformation/ec2/aws-ec2-instance_instanceipv6address.go index 3056b20cca..fbe479187e 100644 --- a/cloudformation/ec2/aws-ec2-instance_instanceipv6address.go +++ b/cloudformation/ec2/aws-ec2-instance_instanceipv6address.go @@ -16,6 +16,9 @@ type Instance_InstanceIpv6Address struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-instance_launchtemplatespecification.go b/cloudformation/ec2/aws-ec2-instance_launchtemplatespecification.go index e557f7f8e9..2a5a54fe0e 100644 --- a/cloudformation/ec2/aws-ec2-instance_launchtemplatespecification.go +++ b/cloudformation/ec2/aws-ec2-instance_launchtemplatespecification.go @@ -26,6 +26,9 @@ type Instance_LaunchTemplateSpecification struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-instance_licensespecification.go b/cloudformation/ec2/aws-ec2-instance_licensespecification.go index d685067d94..53e97b6136 100644 --- a/cloudformation/ec2/aws-ec2-instance_licensespecification.go +++ b/cloudformation/ec2/aws-ec2-instance_licensespecification.go @@ -16,6 +16,9 @@ type Instance_LicenseSpecification struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-instance_networkinterface.go b/cloudformation/ec2/aws-ec2-instance_networkinterface.go index 8f56bde4ab..0ba18ff6f2 100644 --- a/cloudformation/ec2/aws-ec2-instance_networkinterface.go +++ b/cloudformation/ec2/aws-ec2-instance_networkinterface.go @@ -71,6 +71,9 @@ type Instance_NetworkInterface struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-instance_nodevice.go b/cloudformation/ec2/aws-ec2-instance_nodevice.go index ce86c36109..86882c6d12 100644 --- a/cloudformation/ec2/aws-ec2-instance_nodevice.go +++ b/cloudformation/ec2/aws-ec2-instance_nodevice.go @@ -11,6 +11,9 @@ type Instance_NoDevice struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-instance_privateipaddressspecification.go b/cloudformation/ec2/aws-ec2-instance_privateipaddressspecification.go index 61859d3646..eaee25da5c 100644 --- a/cloudformation/ec2/aws-ec2-instance_privateipaddressspecification.go +++ b/cloudformation/ec2/aws-ec2-instance_privateipaddressspecification.go @@ -21,6 +21,9 @@ type Instance_PrivateIpAddressSpecification struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-instance_ssmassociation.go b/cloudformation/ec2/aws-ec2-instance_ssmassociation.go index fa7810f43c..cc4b479824 100644 --- a/cloudformation/ec2/aws-ec2-instance_ssmassociation.go +++ b/cloudformation/ec2/aws-ec2-instance_ssmassociation.go @@ -21,6 +21,9 @@ type Instance_SsmAssociation struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-instance_volume.go b/cloudformation/ec2/aws-ec2-instance_volume.go index 6cba9c14ab..700d92789c 100644 --- a/cloudformation/ec2/aws-ec2-instance_volume.go +++ b/cloudformation/ec2/aws-ec2-instance_volume.go @@ -21,6 +21,9 @@ type Instance_Volume struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-internetgateway.go b/cloudformation/ec2/aws-ec2-internetgateway.go index 79ac1d1568..082f4615ce 100644 --- a/cloudformation/ec2/aws-ec2-internetgateway.go +++ b/cloudformation/ec2/aws-ec2-internetgateway.go @@ -21,6 +21,9 @@ type InternetGateway struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -41,19 +44,21 @@ func (r *InternetGateway) AWSCloudFormationType() string { func (r InternetGateway) MarshalJSON() ([]byte, error) { type Properties InternetGateway return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -62,12 +67,13 @@ func (r InternetGateway) MarshalJSON() ([]byte, error) { func (r *InternetGateway) UnmarshalJSON(b []byte) error { type Properties InternetGateway res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -91,6 +97,9 @@ func (r *InternetGateway) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-launchtemplate.go b/cloudformation/ec2/aws-ec2-launchtemplate.go index 7f218461e5..e52838358f 100644 --- a/cloudformation/ec2/aws-ec2-launchtemplate.go +++ b/cloudformation/ec2/aws-ec2-launchtemplate.go @@ -25,6 +25,9 @@ type LaunchTemplate struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *LaunchTemplate) AWSCloudFormationType() string { func (r LaunchTemplate) MarshalJSON() ([]byte, error) { type Properties LaunchTemplate return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r LaunchTemplate) MarshalJSON() ([]byte, error) { func (r *LaunchTemplate) UnmarshalJSON(b []byte) error { type Properties LaunchTemplate res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *LaunchTemplate) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-launchtemplate_blockdevicemapping.go b/cloudformation/ec2/aws-ec2-launchtemplate_blockdevicemapping.go index d6b5ffa605..a13178c21c 100644 --- a/cloudformation/ec2/aws-ec2-launchtemplate_blockdevicemapping.go +++ b/cloudformation/ec2/aws-ec2-launchtemplate_blockdevicemapping.go @@ -31,6 +31,9 @@ type LaunchTemplate_BlockDeviceMapping struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-launchtemplate_capacityreservationspecification.go b/cloudformation/ec2/aws-ec2-launchtemplate_capacityreservationspecification.go index faf9bf630a..e1cbd0792f 100644 --- a/cloudformation/ec2/aws-ec2-launchtemplate_capacityreservationspecification.go +++ b/cloudformation/ec2/aws-ec2-launchtemplate_capacityreservationspecification.go @@ -11,7 +11,7 @@ type LaunchTemplate_CapacityReservationSpecification struct { // CapacityReservationPreference AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-capacityreservationspecification.html#cfn-ec2-launchtemplate-launchtemplatedata-capacityreservationspecification-capacityreservationpreference - CapacityReservationPreference *LaunchTemplate_CapacityReservationPreference `json:"CapacityReservationPreference,omitempty"` + CapacityReservationPreference string `json:"CapacityReservationPreference,omitempty"` // CapacityReservationTarget AWS CloudFormation Property // Required: false @@ -21,6 +21,9 @@ type LaunchTemplate_CapacityReservationSpecification struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-launchtemplate_capacityreservationtarget.go b/cloudformation/ec2/aws-ec2-launchtemplate_capacityreservationtarget.go index 0a05da6bb0..ae99aae6d6 100644 --- a/cloudformation/ec2/aws-ec2-launchtemplate_capacityreservationtarget.go +++ b/cloudformation/ec2/aws-ec2-launchtemplate_capacityreservationtarget.go @@ -16,6 +16,9 @@ type LaunchTemplate_CapacityReservationTarget struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-launchtemplate_cpuoptions.go b/cloudformation/ec2/aws-ec2-launchtemplate_cpuoptions.go index 437acbd958..33e69b9cc3 100644 --- a/cloudformation/ec2/aws-ec2-launchtemplate_cpuoptions.go +++ b/cloudformation/ec2/aws-ec2-launchtemplate_cpuoptions.go @@ -21,6 +21,9 @@ type LaunchTemplate_CpuOptions struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-launchtemplate_creditspecification.go b/cloudformation/ec2/aws-ec2-launchtemplate_creditspecification.go index ec67ac2bfc..9ccc3e2fa0 100644 --- a/cloudformation/ec2/aws-ec2-launchtemplate_creditspecification.go +++ b/cloudformation/ec2/aws-ec2-launchtemplate_creditspecification.go @@ -16,6 +16,9 @@ type LaunchTemplate_CreditSpecification struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-launchtemplate_ebs.go b/cloudformation/ec2/aws-ec2-launchtemplate_ebs.go index b02678958f..8299401e29 100644 --- a/cloudformation/ec2/aws-ec2-launchtemplate_ebs.go +++ b/cloudformation/ec2/aws-ec2-launchtemplate_ebs.go @@ -46,6 +46,9 @@ type LaunchTemplate_Ebs struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-launchtemplate_elasticgpuspecification.go b/cloudformation/ec2/aws-ec2-launchtemplate_elasticgpuspecification.go index b211b797bd..f3bb66fc37 100644 --- a/cloudformation/ec2/aws-ec2-launchtemplate_elasticgpuspecification.go +++ b/cloudformation/ec2/aws-ec2-launchtemplate_elasticgpuspecification.go @@ -16,6 +16,9 @@ type LaunchTemplate_ElasticGpuSpecification struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-launchtemplate_hibernationoptions.go b/cloudformation/ec2/aws-ec2-launchtemplate_hibernationoptions.go index 23ee834dd0..e6fab5cdbf 100644 --- a/cloudformation/ec2/aws-ec2-launchtemplate_hibernationoptions.go +++ b/cloudformation/ec2/aws-ec2-launchtemplate_hibernationoptions.go @@ -16,6 +16,9 @@ type LaunchTemplate_HibernationOptions struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-launchtemplate_iaminstanceprofile.go b/cloudformation/ec2/aws-ec2-launchtemplate_iaminstanceprofile.go index 499c6401e2..7a19942676 100644 --- a/cloudformation/ec2/aws-ec2-launchtemplate_iaminstanceprofile.go +++ b/cloudformation/ec2/aws-ec2-launchtemplate_iaminstanceprofile.go @@ -21,6 +21,9 @@ type LaunchTemplate_IamInstanceProfile struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-launchtemplate_instancemarketoptions.go b/cloudformation/ec2/aws-ec2-launchtemplate_instancemarketoptions.go index 0059724c02..7f23391add 100644 --- a/cloudformation/ec2/aws-ec2-launchtemplate_instancemarketoptions.go +++ b/cloudformation/ec2/aws-ec2-launchtemplate_instancemarketoptions.go @@ -21,6 +21,9 @@ type LaunchTemplate_InstanceMarketOptions struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-launchtemplate_ipv6add.go b/cloudformation/ec2/aws-ec2-launchtemplate_ipv6add.go index d72f71794d..ba181bdaa4 100644 --- a/cloudformation/ec2/aws-ec2-launchtemplate_ipv6add.go +++ b/cloudformation/ec2/aws-ec2-launchtemplate_ipv6add.go @@ -16,6 +16,9 @@ type LaunchTemplate_Ipv6Add struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-launchtemplate_launchtemplatedata.go b/cloudformation/ec2/aws-ec2-launchtemplate_launchtemplatedata.go index 4008b4dbad..85f3103e84 100644 --- a/cloudformation/ec2/aws-ec2-launchtemplate_launchtemplatedata.go +++ b/cloudformation/ec2/aws-ec2-launchtemplate_launchtemplatedata.go @@ -141,6 +141,9 @@ type LaunchTemplate_LaunchTemplateData struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-launchtemplate_launchtemplateelasticinferenceaccelerator.go b/cloudformation/ec2/aws-ec2-launchtemplate_launchtemplateelasticinferenceaccelerator.go index 549a0057e0..6d65138068 100644 --- a/cloudformation/ec2/aws-ec2-launchtemplate_launchtemplateelasticinferenceaccelerator.go +++ b/cloudformation/ec2/aws-ec2-launchtemplate_launchtemplateelasticinferenceaccelerator.go @@ -21,6 +21,9 @@ type LaunchTemplate_LaunchTemplateElasticInferenceAccelerator struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-launchtemplate_licensespecification.go b/cloudformation/ec2/aws-ec2-launchtemplate_licensespecification.go index fb81085dc7..985228a42c 100644 --- a/cloudformation/ec2/aws-ec2-launchtemplate_licensespecification.go +++ b/cloudformation/ec2/aws-ec2-launchtemplate_licensespecification.go @@ -16,6 +16,9 @@ type LaunchTemplate_LicenseSpecification struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-launchtemplate_metadataoptions.go b/cloudformation/ec2/aws-ec2-launchtemplate_metadataoptions.go index dd9f948477..99bc6020bc 100644 --- a/cloudformation/ec2/aws-ec2-launchtemplate_metadataoptions.go +++ b/cloudformation/ec2/aws-ec2-launchtemplate_metadataoptions.go @@ -26,6 +26,9 @@ type LaunchTemplate_MetadataOptions struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-launchtemplate_monitoring.go b/cloudformation/ec2/aws-ec2-launchtemplate_monitoring.go index 9bd8b07450..43f4be2889 100644 --- a/cloudformation/ec2/aws-ec2-launchtemplate_monitoring.go +++ b/cloudformation/ec2/aws-ec2-launchtemplate_monitoring.go @@ -16,6 +16,9 @@ type LaunchTemplate_Monitoring struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-launchtemplate_networkinterface.go b/cloudformation/ec2/aws-ec2-launchtemplate_networkinterface.go index e210b57fde..cc1d340514 100644 --- a/cloudformation/ec2/aws-ec2-launchtemplate_networkinterface.go +++ b/cloudformation/ec2/aws-ec2-launchtemplate_networkinterface.go @@ -76,6 +76,9 @@ type LaunchTemplate_NetworkInterface struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-launchtemplate_placement.go b/cloudformation/ec2/aws-ec2-launchtemplate_placement.go index 30af302077..4c8049887f 100644 --- a/cloudformation/ec2/aws-ec2-launchtemplate_placement.go +++ b/cloudformation/ec2/aws-ec2-launchtemplate_placement.go @@ -51,6 +51,9 @@ type LaunchTemplate_Placement struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-launchtemplate_privateipadd.go b/cloudformation/ec2/aws-ec2-launchtemplate_privateipadd.go index 4709e53d44..25ce8eb60a 100644 --- a/cloudformation/ec2/aws-ec2-launchtemplate_privateipadd.go +++ b/cloudformation/ec2/aws-ec2-launchtemplate_privateipadd.go @@ -21,6 +21,9 @@ type LaunchTemplate_PrivateIpAdd struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-launchtemplate_spotoptions.go b/cloudformation/ec2/aws-ec2-launchtemplate_spotoptions.go index 6a981c1855..c027223fb0 100644 --- a/cloudformation/ec2/aws-ec2-launchtemplate_spotoptions.go +++ b/cloudformation/ec2/aws-ec2-launchtemplate_spotoptions.go @@ -36,6 +36,9 @@ type LaunchTemplate_SpotOptions struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-launchtemplate_tagspecification.go b/cloudformation/ec2/aws-ec2-launchtemplate_tagspecification.go index 2bbae70431..af865c3e06 100644 --- a/cloudformation/ec2/aws-ec2-launchtemplate_tagspecification.go +++ b/cloudformation/ec2/aws-ec2-launchtemplate_tagspecification.go @@ -22,6 +22,9 @@ type LaunchTemplate_TagSpecification struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-localgatewayroute.go b/cloudformation/ec2/aws-ec2-localgatewayroute.go index c8f9656823..f180484538 100644 --- a/cloudformation/ec2/aws-ec2-localgatewayroute.go +++ b/cloudformation/ec2/aws-ec2-localgatewayroute.go @@ -30,6 +30,9 @@ type LocalGatewayRoute struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *LocalGatewayRoute) AWSCloudFormationType() string { func (r LocalGatewayRoute) MarshalJSON() ([]byte, error) { type Properties LocalGatewayRoute return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r LocalGatewayRoute) MarshalJSON() ([]byte, error) { func (r *LocalGatewayRoute) UnmarshalJSON(b []byte) error { type Properties LocalGatewayRoute res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *LocalGatewayRoute) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-localgatewayroutetablevpcassociation.go b/cloudformation/ec2/aws-ec2-localgatewayroutetablevpcassociation.go index 8d624eec71..6a963cf9fa 100644 --- a/cloudformation/ec2/aws-ec2-localgatewayroutetablevpcassociation.go +++ b/cloudformation/ec2/aws-ec2-localgatewayroutetablevpcassociation.go @@ -30,6 +30,9 @@ type LocalGatewayRouteTableVPCAssociation struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *LocalGatewayRouteTableVPCAssociation) AWSCloudFormationType() string { func (r LocalGatewayRouteTableVPCAssociation) MarshalJSON() ([]byte, error) { type Properties LocalGatewayRouteTableVPCAssociation return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r LocalGatewayRouteTableVPCAssociation) MarshalJSON() ([]byte, error) { func (r *LocalGatewayRouteTableVPCAssociation) UnmarshalJSON(b []byte) error { type Properties LocalGatewayRouteTableVPCAssociation res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *LocalGatewayRouteTableVPCAssociation) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-localgatewayroutetablevpcassociation_tags.go b/cloudformation/ec2/aws-ec2-localgatewayroutetablevpcassociation_tags.go index 79489b1d95..628754ad2d 100644 --- a/cloudformation/ec2/aws-ec2-localgatewayroutetablevpcassociation_tags.go +++ b/cloudformation/ec2/aws-ec2-localgatewayroutetablevpcassociation_tags.go @@ -17,6 +17,9 @@ type LocalGatewayRouteTableVPCAssociation_Tags struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-natgateway.go b/cloudformation/ec2/aws-ec2-natgateway.go index b4b08a256c..ff92c5ed81 100644 --- a/cloudformation/ec2/aws-ec2-natgateway.go +++ b/cloudformation/ec2/aws-ec2-natgateway.go @@ -31,6 +31,9 @@ type NatGateway struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -51,19 +54,21 @@ func (r *NatGateway) AWSCloudFormationType() string { func (r NatGateway) MarshalJSON() ([]byte, error) { type Properties NatGateway return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -72,12 +77,13 @@ func (r NatGateway) MarshalJSON() ([]byte, error) { func (r *NatGateway) UnmarshalJSON(b []byte) error { type Properties NatGateway res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -101,6 +107,9 @@ func (r *NatGateway) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-networkacl.go b/cloudformation/ec2/aws-ec2-networkacl.go index 3dd2b2f659..f942cdc955 100644 --- a/cloudformation/ec2/aws-ec2-networkacl.go +++ b/cloudformation/ec2/aws-ec2-networkacl.go @@ -26,6 +26,9 @@ type NetworkAcl struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -46,19 +49,21 @@ func (r *NetworkAcl) AWSCloudFormationType() string { func (r NetworkAcl) MarshalJSON() ([]byte, error) { type Properties NetworkAcl return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -67,12 +72,13 @@ func (r NetworkAcl) MarshalJSON() ([]byte, error) { func (r *NetworkAcl) UnmarshalJSON(b []byte) error { type Properties NetworkAcl res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -96,6 +102,9 @@ func (r *NetworkAcl) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-networkaclentry.go b/cloudformation/ec2/aws-ec2-networkaclentry.go index b5de286fdd..291b9ad4ea 100644 --- a/cloudformation/ec2/aws-ec2-networkaclentry.go +++ b/cloudformation/ec2/aws-ec2-networkaclentry.go @@ -60,6 +60,9 @@ type NetworkAclEntry struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -80,19 +83,21 @@ func (r *NetworkAclEntry) AWSCloudFormationType() string { func (r NetworkAclEntry) MarshalJSON() ([]byte, error) { type Properties NetworkAclEntry return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -101,12 +106,13 @@ func (r NetworkAclEntry) MarshalJSON() ([]byte, error) { func (r *NetworkAclEntry) UnmarshalJSON(b []byte) error { type Properties NetworkAclEntry res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -130,6 +136,9 @@ func (r *NetworkAclEntry) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-networkaclentry_icmp.go b/cloudformation/ec2/aws-ec2-networkaclentry_icmp.go index b2227277c6..ac2a4a51e8 100644 --- a/cloudformation/ec2/aws-ec2-networkaclentry_icmp.go +++ b/cloudformation/ec2/aws-ec2-networkaclentry_icmp.go @@ -21,6 +21,9 @@ type NetworkAclEntry_Icmp struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-networkaclentry_portrange.go b/cloudformation/ec2/aws-ec2-networkaclentry_portrange.go index 5958f49305..8fd696a6de 100644 --- a/cloudformation/ec2/aws-ec2-networkaclentry_portrange.go +++ b/cloudformation/ec2/aws-ec2-networkaclentry_portrange.go @@ -21,6 +21,9 @@ type NetworkAclEntry_PortRange struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-networkinterface.go b/cloudformation/ec2/aws-ec2-networkinterface.go index 786a638612..a9a67398da 100644 --- a/cloudformation/ec2/aws-ec2-networkinterface.go +++ b/cloudformation/ec2/aws-ec2-networkinterface.go @@ -71,6 +71,9 @@ type NetworkInterface struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -91,19 +94,21 @@ func (r *NetworkInterface) AWSCloudFormationType() string { func (r NetworkInterface) MarshalJSON() ([]byte, error) { type Properties NetworkInterface return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -112,12 +117,13 @@ func (r NetworkInterface) MarshalJSON() ([]byte, error) { func (r *NetworkInterface) UnmarshalJSON(b []byte) error { type Properties NetworkInterface res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -141,6 +147,9 @@ func (r *NetworkInterface) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-networkinterface_instanceipv6address.go b/cloudformation/ec2/aws-ec2-networkinterface_instanceipv6address.go index f089b2f26d..d5d344acc3 100644 --- a/cloudformation/ec2/aws-ec2-networkinterface_instanceipv6address.go +++ b/cloudformation/ec2/aws-ec2-networkinterface_instanceipv6address.go @@ -16,6 +16,9 @@ type NetworkInterface_InstanceIpv6Address struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-networkinterface_privateipaddressspecification.go b/cloudformation/ec2/aws-ec2-networkinterface_privateipaddressspecification.go index e6bb2601c9..9f1668a5a6 100644 --- a/cloudformation/ec2/aws-ec2-networkinterface_privateipaddressspecification.go +++ b/cloudformation/ec2/aws-ec2-networkinterface_privateipaddressspecification.go @@ -21,6 +21,9 @@ type NetworkInterface_PrivateIpAddressSpecification struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-networkinterfaceattachment.go b/cloudformation/ec2/aws-ec2-networkinterfaceattachment.go index 6896de3510..807dd133ad 100644 --- a/cloudformation/ec2/aws-ec2-networkinterfaceattachment.go +++ b/cloudformation/ec2/aws-ec2-networkinterfaceattachment.go @@ -35,6 +35,9 @@ type NetworkInterfaceAttachment struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -55,19 +58,21 @@ func (r *NetworkInterfaceAttachment) AWSCloudFormationType() string { func (r NetworkInterfaceAttachment) MarshalJSON() ([]byte, error) { type Properties NetworkInterfaceAttachment return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -76,12 +81,13 @@ func (r NetworkInterfaceAttachment) MarshalJSON() ([]byte, error) { func (r *NetworkInterfaceAttachment) UnmarshalJSON(b []byte) error { type Properties NetworkInterfaceAttachment res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -105,6 +111,9 @@ func (r *NetworkInterfaceAttachment) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-networkinterfacepermission.go b/cloudformation/ec2/aws-ec2-networkinterfacepermission.go index b87d4f4c35..e20d3a18f7 100644 --- a/cloudformation/ec2/aws-ec2-networkinterfacepermission.go +++ b/cloudformation/ec2/aws-ec2-networkinterfacepermission.go @@ -30,6 +30,9 @@ type NetworkInterfacePermission struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *NetworkInterfacePermission) AWSCloudFormationType() string { func (r NetworkInterfacePermission) MarshalJSON() ([]byte, error) { type Properties NetworkInterfacePermission return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r NetworkInterfacePermission) MarshalJSON() ([]byte, error) { func (r *NetworkInterfacePermission) UnmarshalJSON(b []byte) error { type Properties NetworkInterfacePermission res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *NetworkInterfacePermission) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-placementgroup.go b/cloudformation/ec2/aws-ec2-placementgroup.go index 0c2dd9407d..1ac36db69f 100644 --- a/cloudformation/ec2/aws-ec2-placementgroup.go +++ b/cloudformation/ec2/aws-ec2-placementgroup.go @@ -20,6 +20,9 @@ type PlacementGroup struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -40,19 +43,21 @@ func (r *PlacementGroup) AWSCloudFormationType() string { func (r PlacementGroup) MarshalJSON() ([]byte, error) { type Properties PlacementGroup return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -61,12 +66,13 @@ func (r PlacementGroup) MarshalJSON() ([]byte, error) { func (r *PlacementGroup) UnmarshalJSON(b []byte) error { type Properties PlacementGroup res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -90,6 +96,9 @@ func (r *PlacementGroup) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-route.go b/cloudformation/ec2/aws-ec2-route.go index 8029559af0..d7c9d43eee 100644 --- a/cloudformation/ec2/aws-ec2-route.go +++ b/cloudformation/ec2/aws-ec2-route.go @@ -65,6 +65,9 @@ type Route struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -85,19 +88,21 @@ func (r *Route) AWSCloudFormationType() string { func (r Route) MarshalJSON() ([]byte, error) { type Properties Route return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -106,12 +111,13 @@ func (r Route) MarshalJSON() ([]byte, error) { func (r *Route) UnmarshalJSON(b []byte) error { type Properties Route res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -135,6 +141,9 @@ func (r *Route) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-routetable.go b/cloudformation/ec2/aws-ec2-routetable.go index daecf58064..0ecff62575 100644 --- a/cloudformation/ec2/aws-ec2-routetable.go +++ b/cloudformation/ec2/aws-ec2-routetable.go @@ -26,6 +26,9 @@ type RouteTable struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -46,19 +49,21 @@ func (r *RouteTable) AWSCloudFormationType() string { func (r RouteTable) MarshalJSON() ([]byte, error) { type Properties RouteTable return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -67,12 +72,13 @@ func (r RouteTable) MarshalJSON() ([]byte, error) { func (r *RouteTable) UnmarshalJSON(b []byte) error { type Properties RouteTable res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -96,6 +102,9 @@ func (r *RouteTable) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-securitygroup.go b/cloudformation/ec2/aws-ec2-securitygroup.go index 99cc1cedcf..2230c2a806 100644 --- a/cloudformation/ec2/aws-ec2-securitygroup.go +++ b/cloudformation/ec2/aws-ec2-securitygroup.go @@ -46,6 +46,9 @@ type SecurityGroup struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -66,19 +69,21 @@ func (r *SecurityGroup) AWSCloudFormationType() string { func (r SecurityGroup) MarshalJSON() ([]byte, error) { type Properties SecurityGroup return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -87,12 +92,13 @@ func (r SecurityGroup) MarshalJSON() ([]byte, error) { func (r *SecurityGroup) UnmarshalJSON(b []byte) error { type Properties SecurityGroup res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -116,6 +122,9 @@ func (r *SecurityGroup) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-securitygroup_egress.go b/cloudformation/ec2/aws-ec2-securitygroup_egress.go index 5fdb13122e..fe812c26f4 100644 --- a/cloudformation/ec2/aws-ec2-securitygroup_egress.go +++ b/cloudformation/ec2/aws-ec2-securitygroup_egress.go @@ -51,6 +51,9 @@ type SecurityGroup_Egress struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-securitygroup_ingress.go b/cloudformation/ec2/aws-ec2-securitygroup_ingress.go index b4610a4799..9b24ee1735 100644 --- a/cloudformation/ec2/aws-ec2-securitygroup_ingress.go +++ b/cloudformation/ec2/aws-ec2-securitygroup_ingress.go @@ -61,6 +61,9 @@ type SecurityGroup_Ingress struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-securitygroupegress.go b/cloudformation/ec2/aws-ec2-securitygroupegress.go index a7aa502057..e83c110b1d 100644 --- a/cloudformation/ec2/aws-ec2-securitygroupegress.go +++ b/cloudformation/ec2/aws-ec2-securitygroupegress.go @@ -60,6 +60,9 @@ type SecurityGroupEgress struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -80,19 +83,21 @@ func (r *SecurityGroupEgress) AWSCloudFormationType() string { func (r SecurityGroupEgress) MarshalJSON() ([]byte, error) { type Properties SecurityGroupEgress return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -101,12 +106,13 @@ func (r SecurityGroupEgress) MarshalJSON() ([]byte, error) { func (r *SecurityGroupEgress) UnmarshalJSON(b []byte) error { type Properties SecurityGroupEgress res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -130,6 +136,9 @@ func (r *SecurityGroupEgress) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-securitygroupingress.go b/cloudformation/ec2/aws-ec2-securitygroupingress.go index 125fe782b2..c724afac99 100644 --- a/cloudformation/ec2/aws-ec2-securitygroupingress.go +++ b/cloudformation/ec2/aws-ec2-securitygroupingress.go @@ -75,6 +75,9 @@ type SecurityGroupIngress struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -95,19 +98,21 @@ func (r *SecurityGroupIngress) AWSCloudFormationType() string { func (r SecurityGroupIngress) MarshalJSON() ([]byte, error) { type Properties SecurityGroupIngress return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -116,12 +121,13 @@ func (r SecurityGroupIngress) MarshalJSON() ([]byte, error) { func (r *SecurityGroupIngress) UnmarshalJSON(b []byte) error { type Properties SecurityGroupIngress res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -145,6 +151,9 @@ func (r *SecurityGroupIngress) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-spotfleet.go b/cloudformation/ec2/aws-ec2-spotfleet.go index 8a8d1459db..a42f729312 100644 --- a/cloudformation/ec2/aws-ec2-spotfleet.go +++ b/cloudformation/ec2/aws-ec2-spotfleet.go @@ -20,6 +20,9 @@ type SpotFleet struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -40,19 +43,21 @@ func (r *SpotFleet) AWSCloudFormationType() string { func (r SpotFleet) MarshalJSON() ([]byte, error) { type Properties SpotFleet return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -61,12 +66,13 @@ func (r SpotFleet) MarshalJSON() ([]byte, error) { func (r *SpotFleet) UnmarshalJSON(b []byte) error { type Properties SpotFleet res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -90,6 +96,9 @@ func (r *SpotFleet) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-spotfleet_blockdevicemapping.go b/cloudformation/ec2/aws-ec2-spotfleet_blockdevicemapping.go index ca786c6157..7a1eba3c17 100644 --- a/cloudformation/ec2/aws-ec2-spotfleet_blockdevicemapping.go +++ b/cloudformation/ec2/aws-ec2-spotfleet_blockdevicemapping.go @@ -31,6 +31,9 @@ type SpotFleet_BlockDeviceMapping struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-spotfleet_classicloadbalancer.go b/cloudformation/ec2/aws-ec2-spotfleet_classicloadbalancer.go index e05df68357..c4d58b7357 100644 --- a/cloudformation/ec2/aws-ec2-spotfleet_classicloadbalancer.go +++ b/cloudformation/ec2/aws-ec2-spotfleet_classicloadbalancer.go @@ -16,6 +16,9 @@ type SpotFleet_ClassicLoadBalancer struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-spotfleet_classicloadbalancersconfig.go b/cloudformation/ec2/aws-ec2-spotfleet_classicloadbalancersconfig.go index 67993f5c19..95efbdfcb2 100644 --- a/cloudformation/ec2/aws-ec2-spotfleet_classicloadbalancersconfig.go +++ b/cloudformation/ec2/aws-ec2-spotfleet_classicloadbalancersconfig.go @@ -16,6 +16,9 @@ type SpotFleet_ClassicLoadBalancersConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-spotfleet_ebsblockdevice.go b/cloudformation/ec2/aws-ec2-spotfleet_ebsblockdevice.go index b1c35d21cc..7245ddb167 100644 --- a/cloudformation/ec2/aws-ec2-spotfleet_ebsblockdevice.go +++ b/cloudformation/ec2/aws-ec2-spotfleet_ebsblockdevice.go @@ -41,6 +41,9 @@ type SpotFleet_EbsBlockDevice struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-spotfleet_fleetlaunchtemplatespecification.go b/cloudformation/ec2/aws-ec2-spotfleet_fleetlaunchtemplatespecification.go index a176171282..1ed44f7462 100644 --- a/cloudformation/ec2/aws-ec2-spotfleet_fleetlaunchtemplatespecification.go +++ b/cloudformation/ec2/aws-ec2-spotfleet_fleetlaunchtemplatespecification.go @@ -26,6 +26,9 @@ type SpotFleet_FleetLaunchTemplateSpecification struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-spotfleet_groupidentifier.go b/cloudformation/ec2/aws-ec2-spotfleet_groupidentifier.go index d176677410..5bd4f75b75 100644 --- a/cloudformation/ec2/aws-ec2-spotfleet_groupidentifier.go +++ b/cloudformation/ec2/aws-ec2-spotfleet_groupidentifier.go @@ -16,6 +16,9 @@ type SpotFleet_GroupIdentifier struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-spotfleet_iaminstanceprofilespecification.go b/cloudformation/ec2/aws-ec2-spotfleet_iaminstanceprofilespecification.go index d4f98edbbf..d39c554dab 100644 --- a/cloudformation/ec2/aws-ec2-spotfleet_iaminstanceprofilespecification.go +++ b/cloudformation/ec2/aws-ec2-spotfleet_iaminstanceprofilespecification.go @@ -16,6 +16,9 @@ type SpotFleet_IamInstanceProfileSpecification struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-spotfleet_instanceipv6address.go b/cloudformation/ec2/aws-ec2-spotfleet_instanceipv6address.go index f222ef8edf..050d5ece92 100644 --- a/cloudformation/ec2/aws-ec2-spotfleet_instanceipv6address.go +++ b/cloudformation/ec2/aws-ec2-spotfleet_instanceipv6address.go @@ -16,6 +16,9 @@ type SpotFleet_InstanceIpv6Address struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-spotfleet_instancenetworkinterfacespecification.go b/cloudformation/ec2/aws-ec2-spotfleet_instancenetworkinterfacespecification.go index 7158dd8a05..f2edaed00d 100644 --- a/cloudformation/ec2/aws-ec2-spotfleet_instancenetworkinterfacespecification.go +++ b/cloudformation/ec2/aws-ec2-spotfleet_instancenetworkinterfacespecification.go @@ -66,6 +66,9 @@ type SpotFleet_InstanceNetworkInterfaceSpecification struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-spotfleet_launchtemplateconfig.go b/cloudformation/ec2/aws-ec2-spotfleet_launchtemplateconfig.go index e3cd30d03b..58b7571169 100644 --- a/cloudformation/ec2/aws-ec2-spotfleet_launchtemplateconfig.go +++ b/cloudformation/ec2/aws-ec2-spotfleet_launchtemplateconfig.go @@ -21,6 +21,9 @@ type SpotFleet_LaunchTemplateConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-spotfleet_launchtemplateoverrides.go b/cloudformation/ec2/aws-ec2-spotfleet_launchtemplateoverrides.go index a43d14012d..927ede10b3 100644 --- a/cloudformation/ec2/aws-ec2-spotfleet_launchtemplateoverrides.go +++ b/cloudformation/ec2/aws-ec2-spotfleet_launchtemplateoverrides.go @@ -36,6 +36,9 @@ type SpotFleet_LaunchTemplateOverrides struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-spotfleet_loadbalancersconfig.go b/cloudformation/ec2/aws-ec2-spotfleet_loadbalancersconfig.go index d45bcf7aa2..6fb46a54ac 100644 --- a/cloudformation/ec2/aws-ec2-spotfleet_loadbalancersconfig.go +++ b/cloudformation/ec2/aws-ec2-spotfleet_loadbalancersconfig.go @@ -21,6 +21,9 @@ type SpotFleet_LoadBalancersConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-spotfleet_privateipaddressspecification.go b/cloudformation/ec2/aws-ec2-spotfleet_privateipaddressspecification.go index 02e3e43645..675f7a978d 100644 --- a/cloudformation/ec2/aws-ec2-spotfleet_privateipaddressspecification.go +++ b/cloudformation/ec2/aws-ec2-spotfleet_privateipaddressspecification.go @@ -21,6 +21,9 @@ type SpotFleet_PrivateIpAddressSpecification struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-spotfleet_spotfleetlaunchspecification.go b/cloudformation/ec2/aws-ec2-spotfleet_spotfleetlaunchspecification.go index f525c0ac7f..1b6aa3e788 100644 --- a/cloudformation/ec2/aws-ec2-spotfleet_spotfleetlaunchspecification.go +++ b/cloudformation/ec2/aws-ec2-spotfleet_spotfleetlaunchspecification.go @@ -96,6 +96,9 @@ type SpotFleet_SpotFleetLaunchSpecification struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-spotfleet_spotfleetmonitoring.go b/cloudformation/ec2/aws-ec2-spotfleet_spotfleetmonitoring.go index 319c8832e9..e01e4a8545 100644 --- a/cloudformation/ec2/aws-ec2-spotfleet_spotfleetmonitoring.go +++ b/cloudformation/ec2/aws-ec2-spotfleet_spotfleetmonitoring.go @@ -16,6 +16,9 @@ type SpotFleet_SpotFleetMonitoring struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-spotfleet_spotfleetrequestconfigdata.go b/cloudformation/ec2/aws-ec2-spotfleet_spotfleetrequestconfigdata.go index d0edbdf8c4..fde712ca7f 100644 --- a/cloudformation/ec2/aws-ec2-spotfleet_spotfleetrequestconfigdata.go +++ b/cloudformation/ec2/aws-ec2-spotfleet_spotfleetrequestconfigdata.go @@ -81,6 +81,9 @@ type SpotFleet_SpotFleetRequestConfigData struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-spotfleet_spotfleettagspecification.go b/cloudformation/ec2/aws-ec2-spotfleet_spotfleettagspecification.go index 6e82ba3f68..4a74b942a1 100644 --- a/cloudformation/ec2/aws-ec2-spotfleet_spotfleettagspecification.go +++ b/cloudformation/ec2/aws-ec2-spotfleet_spotfleettagspecification.go @@ -22,6 +22,9 @@ type SpotFleet_SpotFleetTagSpecification struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-spotfleet_spotplacement.go b/cloudformation/ec2/aws-ec2-spotfleet_spotplacement.go index 067db82e7f..c0711d84bb 100644 --- a/cloudformation/ec2/aws-ec2-spotfleet_spotplacement.go +++ b/cloudformation/ec2/aws-ec2-spotfleet_spotplacement.go @@ -26,6 +26,9 @@ type SpotFleet_SpotPlacement struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-spotfleet_targetgroup.go b/cloudformation/ec2/aws-ec2-spotfleet_targetgroup.go index dedb63a733..d70778ae26 100644 --- a/cloudformation/ec2/aws-ec2-spotfleet_targetgroup.go +++ b/cloudformation/ec2/aws-ec2-spotfleet_targetgroup.go @@ -16,6 +16,9 @@ type SpotFleet_TargetGroup struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-spotfleet_targetgroupsconfig.go b/cloudformation/ec2/aws-ec2-spotfleet_targetgroupsconfig.go index 7c0a0e897f..3df21de291 100644 --- a/cloudformation/ec2/aws-ec2-spotfleet_targetgroupsconfig.go +++ b/cloudformation/ec2/aws-ec2-spotfleet_targetgroupsconfig.go @@ -16,6 +16,9 @@ type SpotFleet_TargetGroupsConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-subnet.go b/cloudformation/ec2/aws-ec2-subnet.go index 5049fd3fbc..287f1ac5de 100644 --- a/cloudformation/ec2/aws-ec2-subnet.go +++ b/cloudformation/ec2/aws-ec2-subnet.go @@ -51,6 +51,9 @@ type Subnet struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -71,19 +74,21 @@ func (r *Subnet) AWSCloudFormationType() string { func (r Subnet) MarshalJSON() ([]byte, error) { type Properties Subnet return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -92,12 +97,13 @@ func (r Subnet) MarshalJSON() ([]byte, error) { func (r *Subnet) UnmarshalJSON(b []byte) error { type Properties Subnet res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -121,6 +127,9 @@ func (r *Subnet) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-subnetcidrblock.go b/cloudformation/ec2/aws-ec2-subnetcidrblock.go index d039ece50a..997e836501 100644 --- a/cloudformation/ec2/aws-ec2-subnetcidrblock.go +++ b/cloudformation/ec2/aws-ec2-subnetcidrblock.go @@ -25,6 +25,9 @@ type SubnetCidrBlock struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *SubnetCidrBlock) AWSCloudFormationType() string { func (r SubnetCidrBlock) MarshalJSON() ([]byte, error) { type Properties SubnetCidrBlock return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r SubnetCidrBlock) MarshalJSON() ([]byte, error) { func (r *SubnetCidrBlock) UnmarshalJSON(b []byte) error { type Properties SubnetCidrBlock res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *SubnetCidrBlock) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-subnetnetworkaclassociation.go b/cloudformation/ec2/aws-ec2-subnetnetworkaclassociation.go index 61e3437e4b..36cdc4d16f 100644 --- a/cloudformation/ec2/aws-ec2-subnetnetworkaclassociation.go +++ b/cloudformation/ec2/aws-ec2-subnetnetworkaclassociation.go @@ -25,6 +25,9 @@ type SubnetNetworkAclAssociation struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *SubnetNetworkAclAssociation) AWSCloudFormationType() string { func (r SubnetNetworkAclAssociation) MarshalJSON() ([]byte, error) { type Properties SubnetNetworkAclAssociation return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r SubnetNetworkAclAssociation) MarshalJSON() ([]byte, error) { func (r *SubnetNetworkAclAssociation) UnmarshalJSON(b []byte) error { type Properties SubnetNetworkAclAssociation res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *SubnetNetworkAclAssociation) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-subnetroutetableassociation.go b/cloudformation/ec2/aws-ec2-subnetroutetableassociation.go index a80445313a..98de003053 100644 --- a/cloudformation/ec2/aws-ec2-subnetroutetableassociation.go +++ b/cloudformation/ec2/aws-ec2-subnetroutetableassociation.go @@ -25,6 +25,9 @@ type SubnetRouteTableAssociation struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *SubnetRouteTableAssociation) AWSCloudFormationType() string { func (r SubnetRouteTableAssociation) MarshalJSON() ([]byte, error) { type Properties SubnetRouteTableAssociation return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r SubnetRouteTableAssociation) MarshalJSON() ([]byte, error) { func (r *SubnetRouteTableAssociation) UnmarshalJSON(b []byte) error { type Properties SubnetRouteTableAssociation res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *SubnetRouteTableAssociation) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-trafficmirrorfilter.go b/cloudformation/ec2/aws-ec2-trafficmirrorfilter.go index 7e2627e6d4..516632f87d 100644 --- a/cloudformation/ec2/aws-ec2-trafficmirrorfilter.go +++ b/cloudformation/ec2/aws-ec2-trafficmirrorfilter.go @@ -31,6 +31,9 @@ type TrafficMirrorFilter struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -51,19 +54,21 @@ func (r *TrafficMirrorFilter) AWSCloudFormationType() string { func (r TrafficMirrorFilter) MarshalJSON() ([]byte, error) { type Properties TrafficMirrorFilter return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -72,12 +77,13 @@ func (r TrafficMirrorFilter) MarshalJSON() ([]byte, error) { func (r *TrafficMirrorFilter) UnmarshalJSON(b []byte) error { type Properties TrafficMirrorFilter res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -101,6 +107,9 @@ func (r *TrafficMirrorFilter) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-trafficmirrorfilterrule.go b/cloudformation/ec2/aws-ec2-trafficmirrorfilterrule.go index 6dfdbd3262..363e91e848 100644 --- a/cloudformation/ec2/aws-ec2-trafficmirrorfilterrule.go +++ b/cloudformation/ec2/aws-ec2-trafficmirrorfilterrule.go @@ -65,6 +65,9 @@ type TrafficMirrorFilterRule struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -85,19 +88,21 @@ func (r *TrafficMirrorFilterRule) AWSCloudFormationType() string { func (r TrafficMirrorFilterRule) MarshalJSON() ([]byte, error) { type Properties TrafficMirrorFilterRule return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -106,12 +111,13 @@ func (r TrafficMirrorFilterRule) MarshalJSON() ([]byte, error) { func (r *TrafficMirrorFilterRule) UnmarshalJSON(b []byte) error { type Properties TrafficMirrorFilterRule res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -135,6 +141,9 @@ func (r *TrafficMirrorFilterRule) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-trafficmirrorfilterrule_trafficmirrorportrange.go b/cloudformation/ec2/aws-ec2-trafficmirrorfilterrule_trafficmirrorportrange.go index 27e25daecd..05a8030a6a 100644 --- a/cloudformation/ec2/aws-ec2-trafficmirrorfilterrule_trafficmirrorportrange.go +++ b/cloudformation/ec2/aws-ec2-trafficmirrorfilterrule_trafficmirrorportrange.go @@ -21,6 +21,9 @@ type TrafficMirrorFilterRule_TrafficMirrorPortRange struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-trafficmirrorsession.go b/cloudformation/ec2/aws-ec2-trafficmirrorsession.go index a607c0e346..091eb5e9f0 100644 --- a/cloudformation/ec2/aws-ec2-trafficmirrorsession.go +++ b/cloudformation/ec2/aws-ec2-trafficmirrorsession.go @@ -56,6 +56,9 @@ type TrafficMirrorSession struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -76,19 +79,21 @@ func (r *TrafficMirrorSession) AWSCloudFormationType() string { func (r TrafficMirrorSession) MarshalJSON() ([]byte, error) { type Properties TrafficMirrorSession return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -97,12 +102,13 @@ func (r TrafficMirrorSession) MarshalJSON() ([]byte, error) { func (r *TrafficMirrorSession) UnmarshalJSON(b []byte) error { type Properties TrafficMirrorSession res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -126,6 +132,9 @@ func (r *TrafficMirrorSession) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-trafficmirrortarget.go b/cloudformation/ec2/aws-ec2-trafficmirrortarget.go index 7214f4c9b3..fc177bbbc3 100644 --- a/cloudformation/ec2/aws-ec2-trafficmirrortarget.go +++ b/cloudformation/ec2/aws-ec2-trafficmirrortarget.go @@ -36,6 +36,9 @@ type TrafficMirrorTarget struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -56,19 +59,21 @@ func (r *TrafficMirrorTarget) AWSCloudFormationType() string { func (r TrafficMirrorTarget) MarshalJSON() ([]byte, error) { type Properties TrafficMirrorTarget return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -77,12 +82,13 @@ func (r TrafficMirrorTarget) MarshalJSON() ([]byte, error) { func (r *TrafficMirrorTarget) UnmarshalJSON(b []byte) error { type Properties TrafficMirrorTarget res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -106,6 +112,9 @@ func (r *TrafficMirrorTarget) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-transitgateway.go b/cloudformation/ec2/aws-ec2-transitgateway.go index 6e5a717e3c..65f8333632 100644 --- a/cloudformation/ec2/aws-ec2-transitgateway.go +++ b/cloudformation/ec2/aws-ec2-transitgateway.go @@ -56,6 +56,9 @@ type TransitGateway struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -76,19 +79,21 @@ func (r *TransitGateway) AWSCloudFormationType() string { func (r TransitGateway) MarshalJSON() ([]byte, error) { type Properties TransitGateway return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -97,12 +102,13 @@ func (r TransitGateway) MarshalJSON() ([]byte, error) { func (r *TransitGateway) UnmarshalJSON(b []byte) error { type Properties TransitGateway res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -126,6 +132,9 @@ func (r *TransitGateway) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-transitgatewayattachment.go b/cloudformation/ec2/aws-ec2-transitgatewayattachment.go index acb7f95372..156840e6ad 100644 --- a/cloudformation/ec2/aws-ec2-transitgatewayattachment.go +++ b/cloudformation/ec2/aws-ec2-transitgatewayattachment.go @@ -36,6 +36,9 @@ type TransitGatewayAttachment struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -56,19 +59,21 @@ func (r *TransitGatewayAttachment) AWSCloudFormationType() string { func (r TransitGatewayAttachment) MarshalJSON() ([]byte, error) { type Properties TransitGatewayAttachment return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -77,12 +82,13 @@ func (r TransitGatewayAttachment) MarshalJSON() ([]byte, error) { func (r *TransitGatewayAttachment) UnmarshalJSON(b []byte) error { type Properties TransitGatewayAttachment res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -106,6 +112,9 @@ func (r *TransitGatewayAttachment) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-transitgatewayroute.go b/cloudformation/ec2/aws-ec2-transitgatewayroute.go index ed6def9ff1..a4c4f11907 100644 --- a/cloudformation/ec2/aws-ec2-transitgatewayroute.go +++ b/cloudformation/ec2/aws-ec2-transitgatewayroute.go @@ -35,6 +35,9 @@ type TransitGatewayRoute struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -55,19 +58,21 @@ func (r *TransitGatewayRoute) AWSCloudFormationType() string { func (r TransitGatewayRoute) MarshalJSON() ([]byte, error) { type Properties TransitGatewayRoute return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -76,12 +81,13 @@ func (r TransitGatewayRoute) MarshalJSON() ([]byte, error) { func (r *TransitGatewayRoute) UnmarshalJSON(b []byte) error { type Properties TransitGatewayRoute res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -105,6 +111,9 @@ func (r *TransitGatewayRoute) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-transitgatewayroutetable.go b/cloudformation/ec2/aws-ec2-transitgatewayroutetable.go index 848abf534d..022365bafb 100644 --- a/cloudformation/ec2/aws-ec2-transitgatewayroutetable.go +++ b/cloudformation/ec2/aws-ec2-transitgatewayroutetable.go @@ -26,6 +26,9 @@ type TransitGatewayRouteTable struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -46,19 +49,21 @@ func (r *TransitGatewayRouteTable) AWSCloudFormationType() string { func (r TransitGatewayRouteTable) MarshalJSON() ([]byte, error) { type Properties TransitGatewayRouteTable return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -67,12 +72,13 @@ func (r TransitGatewayRouteTable) MarshalJSON() ([]byte, error) { func (r *TransitGatewayRouteTable) UnmarshalJSON(b []byte) error { type Properties TransitGatewayRouteTable res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -96,6 +102,9 @@ func (r *TransitGatewayRouteTable) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-transitgatewayroutetableassociation.go b/cloudformation/ec2/aws-ec2-transitgatewayroutetableassociation.go index 02b2ca9dd8..a22e3be7fd 100644 --- a/cloudformation/ec2/aws-ec2-transitgatewayroutetableassociation.go +++ b/cloudformation/ec2/aws-ec2-transitgatewayroutetableassociation.go @@ -25,6 +25,9 @@ type TransitGatewayRouteTableAssociation struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *TransitGatewayRouteTableAssociation) AWSCloudFormationType() string { func (r TransitGatewayRouteTableAssociation) MarshalJSON() ([]byte, error) { type Properties TransitGatewayRouteTableAssociation return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r TransitGatewayRouteTableAssociation) MarshalJSON() ([]byte, error) { func (r *TransitGatewayRouteTableAssociation) UnmarshalJSON(b []byte) error { type Properties TransitGatewayRouteTableAssociation res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *TransitGatewayRouteTableAssociation) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-transitgatewayroutetablepropagation.go b/cloudformation/ec2/aws-ec2-transitgatewayroutetablepropagation.go index c3271afd5a..ccf595dd41 100644 --- a/cloudformation/ec2/aws-ec2-transitgatewayroutetablepropagation.go +++ b/cloudformation/ec2/aws-ec2-transitgatewayroutetablepropagation.go @@ -25,6 +25,9 @@ type TransitGatewayRouteTablePropagation struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *TransitGatewayRouteTablePropagation) AWSCloudFormationType() string { func (r TransitGatewayRouteTablePropagation) MarshalJSON() ([]byte, error) { type Properties TransitGatewayRouteTablePropagation return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r TransitGatewayRouteTablePropagation) MarshalJSON() ([]byte, error) { func (r *TransitGatewayRouteTablePropagation) UnmarshalJSON(b []byte) error { type Properties TransitGatewayRouteTablePropagation res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *TransitGatewayRouteTablePropagation) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-volume.go b/cloudformation/ec2/aws-ec2-volume.go index 05c19c5601..096186c530 100644 --- a/cloudformation/ec2/aws-ec2-volume.go +++ b/cloudformation/ec2/aws-ec2-volume.go @@ -38,6 +38,16 @@ type Volume struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volume.html#cfn-ec2-ebs-volume-kmskeyid KmsKeyId string `json:"KmsKeyId,omitempty"` + // MultiAttachEnabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volume.html#cfn-ec2-ebs-volume-multiattachenabled + MultiAttachEnabled bool `json:"MultiAttachEnabled,omitempty"` + + // OutpostArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volume.html#cfn-ec2-ebs-volume-outpostarn + OutpostArn string `json:"OutpostArn,omitempty"` + // Size AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volume.html#cfn-ec2-ebs-volume-size @@ -61,6 +71,9 @@ type Volume struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -81,19 +94,21 @@ func (r *Volume) AWSCloudFormationType() string { func (r Volume) MarshalJSON() ([]byte, error) { type Properties Volume return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -102,12 +117,13 @@ func (r Volume) MarshalJSON() ([]byte, error) { func (r *Volume) UnmarshalJSON(b []byte) error { type Properties Volume res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -131,6 +147,9 @@ func (r *Volume) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-volumeattachment.go b/cloudformation/ec2/aws-ec2-volumeattachment.go index 754109fa1b..22b48e7fd9 100644 --- a/cloudformation/ec2/aws-ec2-volumeattachment.go +++ b/cloudformation/ec2/aws-ec2-volumeattachment.go @@ -30,6 +30,9 @@ type VolumeAttachment struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *VolumeAttachment) AWSCloudFormationType() string { func (r VolumeAttachment) MarshalJSON() ([]byte, error) { type Properties VolumeAttachment return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r VolumeAttachment) MarshalJSON() ([]byte, error) { func (r *VolumeAttachment) UnmarshalJSON(b []byte) error { type Properties VolumeAttachment res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *VolumeAttachment) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-vpc.go b/cloudformation/ec2/aws-ec2-vpc.go index 877dfed97b..a3d932d4ab 100644 --- a/cloudformation/ec2/aws-ec2-vpc.go +++ b/cloudformation/ec2/aws-ec2-vpc.go @@ -41,6 +41,9 @@ type VPC struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -61,19 +64,21 @@ func (r *VPC) AWSCloudFormationType() string { func (r VPC) MarshalJSON() ([]byte, error) { type Properties VPC return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -82,12 +87,13 @@ func (r VPC) MarshalJSON() ([]byte, error) { func (r *VPC) UnmarshalJSON(b []byte) error { type Properties VPC res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -111,6 +117,9 @@ func (r *VPC) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-vpccidrblock.go b/cloudformation/ec2/aws-ec2-vpccidrblock.go index 1ae9bdd961..df26e3e209 100644 --- a/cloudformation/ec2/aws-ec2-vpccidrblock.go +++ b/cloudformation/ec2/aws-ec2-vpccidrblock.go @@ -30,6 +30,9 @@ type VPCCidrBlock struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *VPCCidrBlock) AWSCloudFormationType() string { func (r VPCCidrBlock) MarshalJSON() ([]byte, error) { type Properties VPCCidrBlock return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r VPCCidrBlock) MarshalJSON() ([]byte, error) { func (r *VPCCidrBlock) UnmarshalJSON(b []byte) error { type Properties VPCCidrBlock res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *VPCCidrBlock) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-vpcdhcpoptionsassociation.go b/cloudformation/ec2/aws-ec2-vpcdhcpoptionsassociation.go index 80e232627d..35d7c4e68a 100644 --- a/cloudformation/ec2/aws-ec2-vpcdhcpoptionsassociation.go +++ b/cloudformation/ec2/aws-ec2-vpcdhcpoptionsassociation.go @@ -25,6 +25,9 @@ type VPCDHCPOptionsAssociation struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *VPCDHCPOptionsAssociation) AWSCloudFormationType() string { func (r VPCDHCPOptionsAssociation) MarshalJSON() ([]byte, error) { type Properties VPCDHCPOptionsAssociation return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r VPCDHCPOptionsAssociation) MarshalJSON() ([]byte, error) { func (r *VPCDHCPOptionsAssociation) UnmarshalJSON(b []byte) error { type Properties VPCDHCPOptionsAssociation res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *VPCDHCPOptionsAssociation) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-vpcendpoint.go b/cloudformation/ec2/aws-ec2-vpcendpoint.go index 406009bab6..e2ae07cae0 100644 --- a/cloudformation/ec2/aws-ec2-vpcendpoint.go +++ b/cloudformation/ec2/aws-ec2-vpcendpoint.go @@ -55,6 +55,9 @@ type VPCEndpoint struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -75,19 +78,21 @@ func (r *VPCEndpoint) AWSCloudFormationType() string { func (r VPCEndpoint) MarshalJSON() ([]byte, error) { type Properties VPCEndpoint return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -96,12 +101,13 @@ func (r VPCEndpoint) MarshalJSON() ([]byte, error) { func (r *VPCEndpoint) UnmarshalJSON(b []byte) error { type Properties VPCEndpoint res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -125,6 +131,9 @@ func (r *VPCEndpoint) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-vpcendpointconnectionnotification.go b/cloudformation/ec2/aws-ec2-vpcendpointconnectionnotification.go index 58f0d1b06e..f6f9ae6d36 100644 --- a/cloudformation/ec2/aws-ec2-vpcendpointconnectionnotification.go +++ b/cloudformation/ec2/aws-ec2-vpcendpointconnectionnotification.go @@ -35,6 +35,9 @@ type VPCEndpointConnectionNotification struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -55,19 +58,21 @@ func (r *VPCEndpointConnectionNotification) AWSCloudFormationType() string { func (r VPCEndpointConnectionNotification) MarshalJSON() ([]byte, error) { type Properties VPCEndpointConnectionNotification return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -76,12 +81,13 @@ func (r VPCEndpointConnectionNotification) MarshalJSON() ([]byte, error) { func (r *VPCEndpointConnectionNotification) UnmarshalJSON(b []byte) error { type Properties VPCEndpointConnectionNotification res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -105,6 +111,9 @@ func (r *VPCEndpointConnectionNotification) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-vpcendpointservice.go b/cloudformation/ec2/aws-ec2-vpcendpointservice.go index 548cd07422..0d48857c3f 100644 --- a/cloudformation/ec2/aws-ec2-vpcendpointservice.go +++ b/cloudformation/ec2/aws-ec2-vpcendpointservice.go @@ -25,6 +25,9 @@ type VPCEndpointService struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *VPCEndpointService) AWSCloudFormationType() string { func (r VPCEndpointService) MarshalJSON() ([]byte, error) { type Properties VPCEndpointService return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r VPCEndpointService) MarshalJSON() ([]byte, error) { func (r *VPCEndpointService) UnmarshalJSON(b []byte) error { type Properties VPCEndpointService res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *VPCEndpointService) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-vpcendpointservicepermissions.go b/cloudformation/ec2/aws-ec2-vpcendpointservicepermissions.go index 1854341ed6..fdc11300f0 100644 --- a/cloudformation/ec2/aws-ec2-vpcendpointservicepermissions.go +++ b/cloudformation/ec2/aws-ec2-vpcendpointservicepermissions.go @@ -25,6 +25,9 @@ type VPCEndpointServicePermissions struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *VPCEndpointServicePermissions) AWSCloudFormationType() string { func (r VPCEndpointServicePermissions) MarshalJSON() ([]byte, error) { type Properties VPCEndpointServicePermissions return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r VPCEndpointServicePermissions) MarshalJSON() ([]byte, error) { func (r *VPCEndpointServicePermissions) UnmarshalJSON(b []byte) error { type Properties VPCEndpointServicePermissions res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *VPCEndpointServicePermissions) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-vpcgatewayattachment.go b/cloudformation/ec2/aws-ec2-vpcgatewayattachment.go index 24b10c7e76..c9668f6ad1 100644 --- a/cloudformation/ec2/aws-ec2-vpcgatewayattachment.go +++ b/cloudformation/ec2/aws-ec2-vpcgatewayattachment.go @@ -30,6 +30,9 @@ type VPCGatewayAttachment struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *VPCGatewayAttachment) AWSCloudFormationType() string { func (r VPCGatewayAttachment) MarshalJSON() ([]byte, error) { type Properties VPCGatewayAttachment return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r VPCGatewayAttachment) MarshalJSON() ([]byte, error) { func (r *VPCGatewayAttachment) UnmarshalJSON(b []byte) error { type Properties VPCGatewayAttachment res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *VPCGatewayAttachment) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-vpcpeeringconnection.go b/cloudformation/ec2/aws-ec2-vpcpeeringconnection.go index f17c02dbcd..fa69739ba1 100644 --- a/cloudformation/ec2/aws-ec2-vpcpeeringconnection.go +++ b/cloudformation/ec2/aws-ec2-vpcpeeringconnection.go @@ -46,6 +46,9 @@ type VPCPeeringConnection struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -66,19 +69,21 @@ func (r *VPCPeeringConnection) AWSCloudFormationType() string { func (r VPCPeeringConnection) MarshalJSON() ([]byte, error) { type Properties VPCPeeringConnection return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -87,12 +92,13 @@ func (r VPCPeeringConnection) MarshalJSON() ([]byte, error) { func (r *VPCPeeringConnection) UnmarshalJSON(b []byte) error { type Properties VPCPeeringConnection res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -116,6 +122,9 @@ func (r *VPCPeeringConnection) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-vpnconnection.go b/cloudformation/ec2/aws-ec2-vpnconnection.go index 3e0df7c8b3..637c89f069 100644 --- a/cloudformation/ec2/aws-ec2-vpnconnection.go +++ b/cloudformation/ec2/aws-ec2-vpnconnection.go @@ -51,6 +51,9 @@ type VPNConnection struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -71,19 +74,21 @@ func (r *VPNConnection) AWSCloudFormationType() string { func (r VPNConnection) MarshalJSON() ([]byte, error) { type Properties VPNConnection return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -92,12 +97,13 @@ func (r VPNConnection) MarshalJSON() ([]byte, error) { func (r *VPNConnection) UnmarshalJSON(b []byte) error { type Properties VPNConnection res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -121,6 +127,9 @@ func (r *VPNConnection) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-vpnconnection_vpntunneloptionsspecification.go b/cloudformation/ec2/aws-ec2-vpnconnection_vpntunneloptionsspecification.go index 02c96fcb16..6bcde680d4 100644 --- a/cloudformation/ec2/aws-ec2-vpnconnection_vpntunneloptionsspecification.go +++ b/cloudformation/ec2/aws-ec2-vpnconnection_vpntunneloptionsspecification.go @@ -21,6 +21,9 @@ type VPNConnection_VpnTunnelOptionsSpecification struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-vpnconnectionroute.go b/cloudformation/ec2/aws-ec2-vpnconnectionroute.go index a5f1f73878..2b5d061fd0 100644 --- a/cloudformation/ec2/aws-ec2-vpnconnectionroute.go +++ b/cloudformation/ec2/aws-ec2-vpnconnectionroute.go @@ -25,6 +25,9 @@ type VPNConnectionRoute struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *VPNConnectionRoute) AWSCloudFormationType() string { func (r VPNConnectionRoute) MarshalJSON() ([]byte, error) { type Properties VPNConnectionRoute return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r VPNConnectionRoute) MarshalJSON() ([]byte, error) { func (r *VPNConnectionRoute) UnmarshalJSON(b []byte) error { type Properties VPNConnectionRoute res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *VPNConnectionRoute) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-vpngateway.go b/cloudformation/ec2/aws-ec2-vpngateway.go index eae217cb4b..d37a53a51e 100644 --- a/cloudformation/ec2/aws-ec2-vpngateway.go +++ b/cloudformation/ec2/aws-ec2-vpngateway.go @@ -31,6 +31,9 @@ type VPNGateway struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -51,19 +54,21 @@ func (r *VPNGateway) AWSCloudFormationType() string { func (r VPNGateway) MarshalJSON() ([]byte, error) { type Properties VPNGateway return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -72,12 +77,13 @@ func (r VPNGateway) MarshalJSON() ([]byte, error) { func (r *VPNGateway) UnmarshalJSON(b []byte) error { type Properties VPNGateway res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -101,6 +107,9 @@ func (r *VPNGateway) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ec2/aws-ec2-vpngatewayroutepropagation.go b/cloudformation/ec2/aws-ec2-vpngatewayroutepropagation.go index 8bfa0a5c84..f6f82db8f9 100644 --- a/cloudformation/ec2/aws-ec2-vpngatewayroutepropagation.go +++ b/cloudformation/ec2/aws-ec2-vpngatewayroutepropagation.go @@ -25,6 +25,9 @@ type VPNGatewayRoutePropagation struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *VPNGatewayRoutePropagation) AWSCloudFormationType() string { func (r VPNGatewayRoutePropagation) MarshalJSON() ([]byte, error) { type Properties VPNGatewayRoutePropagation return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r VPNGatewayRoutePropagation) MarshalJSON() ([]byte, error) { func (r *VPNGatewayRoutePropagation) UnmarshalJSON(b []byte) error { type Properties VPNGatewayRoutePropagation res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *VPNGatewayRoutePropagation) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ecr/aws-ecr-repository.go b/cloudformation/ecr/aws-ecr-repository.go index a9f24e6e16..ff4375c029 100644 --- a/cloudformation/ecr/aws-ecr-repository.go +++ b/cloudformation/ecr/aws-ecr-repository.go @@ -36,6 +36,9 @@ type Repository struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -56,19 +59,21 @@ func (r *Repository) AWSCloudFormationType() string { func (r Repository) MarshalJSON() ([]byte, error) { type Properties Repository return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -77,12 +82,13 @@ func (r Repository) MarshalJSON() ([]byte, error) { func (r *Repository) UnmarshalJSON(b []byte) error { type Properties Repository res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -106,6 +112,9 @@ func (r *Repository) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ecr/aws-ecr-repository_lifecyclepolicy.go b/cloudformation/ecr/aws-ecr-repository_lifecyclepolicy.go index 826e07a9ce..9397862568 100644 --- a/cloudformation/ecr/aws-ecr-repository_lifecyclepolicy.go +++ b/cloudformation/ecr/aws-ecr-repository_lifecyclepolicy.go @@ -21,6 +21,9 @@ type Repository_LifecyclePolicy struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ecs/aws-ecs-capacityprovider.go b/cloudformation/ecs/aws-ecs-capacityprovider.go new file mode 100644 index 0000000000..118b367612 --- /dev/null +++ b/cloudformation/ecs/aws-ecs-capacityprovider.go @@ -0,0 +1,117 @@ +package ecs + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// CapacityProvider AWS CloudFormation Resource (AWS::ECS::CapacityProvider) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-capacityprovider.html +type CapacityProvider struct { + + // AutoScalingGroupProvider AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-capacityprovider.html#cfn-ecs-capacityprovider-autoscalinggroupprovider + AutoScalingGroupProvider *CapacityProvider_AutoScalingGroupProvider `json:"AutoScalingGroupProvider,omitempty"` + + // Name AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-capacityprovider.html#cfn-ecs-capacityprovider-name + Name string `json:"Name,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-capacityprovider.html#cfn-ecs-capacityprovider-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *CapacityProvider) AWSCloudFormationType() string { + return "AWS::ECS::CapacityProvider" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r CapacityProvider) MarshalJSON() ([]byte, error) { + type Properties CapacityProvider + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *CapacityProvider) UnmarshalJSON(b []byte) error { + type Properties CapacityProvider + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = CapacityProvider(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/ecs/aws-ecs-capacityprovider_autoscalinggroupprovider.go b/cloudformation/ecs/aws-ecs-capacityprovider_autoscalinggroupprovider.go new file mode 100644 index 0000000000..5f0b07e062 --- /dev/null +++ b/cloudformation/ecs/aws-ecs-capacityprovider_autoscalinggroupprovider.go @@ -0,0 +1,45 @@ +package ecs + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// CapacityProvider_AutoScalingGroupProvider AWS CloudFormation Resource (AWS::ECS::CapacityProvider.AutoScalingGroupProvider) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-autoscalinggroupprovider.html +type CapacityProvider_AutoScalingGroupProvider struct { + + // AutoScalingGroupArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-autoscalinggroupprovider.html#cfn-ecs-capacityprovider-autoscalinggroupprovider-autoscalinggrouparn + AutoScalingGroupArn string `json:"AutoScalingGroupArn,omitempty"` + + // ManagedScaling AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-autoscalinggroupprovider.html#cfn-ecs-capacityprovider-autoscalinggroupprovider-managedscaling + ManagedScaling *CapacityProvider_ManagedScaling `json:"ManagedScaling,omitempty"` + + // ManagedTerminationProtection AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-autoscalinggroupprovider.html#cfn-ecs-capacityprovider-autoscalinggroupprovider-managedterminationprotection + ManagedTerminationProtection string `json:"ManagedTerminationProtection,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *CapacityProvider_AutoScalingGroupProvider) AWSCloudFormationType() string { + return "AWS::ECS::CapacityProvider.AutoScalingGroupProvider" +} diff --git a/cloudformation/ecs/aws-ecs-capacityprovider_managedscaling.go b/cloudformation/ecs/aws-ecs-capacityprovider_managedscaling.go new file mode 100644 index 0000000000..0323f13fad --- /dev/null +++ b/cloudformation/ecs/aws-ecs-capacityprovider_managedscaling.go @@ -0,0 +1,50 @@ +package ecs + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// CapacityProvider_ManagedScaling AWS CloudFormation Resource (AWS::ECS::CapacityProvider.ManagedScaling) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-managedscaling.html +type CapacityProvider_ManagedScaling struct { + + // MaximumScalingStepSize AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-managedscaling.html#cfn-ecs-capacityprovider-managedscaling-maximumscalingstepsize + MaximumScalingStepSize int `json:"MaximumScalingStepSize,omitempty"` + + // MinimumScalingStepSize AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-managedscaling.html#cfn-ecs-capacityprovider-managedscaling-minimumscalingstepsize + MinimumScalingStepSize int `json:"MinimumScalingStepSize,omitempty"` + + // Status AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-managedscaling.html#cfn-ecs-capacityprovider-managedscaling-status + Status string `json:"Status,omitempty"` + + // TargetCapacity AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-managedscaling.html#cfn-ecs-capacityprovider-managedscaling-targetcapacity + TargetCapacity int `json:"TargetCapacity,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *CapacityProvider_ManagedScaling) AWSCloudFormationType() string { + return "AWS::ECS::CapacityProvider.ManagedScaling" +} diff --git a/cloudformation/ecs/aws-ecs-cluster.go b/cloudformation/ecs/aws-ecs-cluster.go index c9698330f6..5dd2b4e53d 100644 --- a/cloudformation/ecs/aws-ecs-cluster.go +++ b/cloudformation/ecs/aws-ecs-cluster.go @@ -13,6 +13,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-cluster.html type Cluster struct { + // CapacityProviders AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-cluster.html#cfn-ecs-cluster-capacityproviders + CapacityProviders []string `json:"CapacityProviders,omitempty"` + // ClusterName AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-cluster.html#cfn-ecs-cluster-clustername @@ -21,7 +26,12 @@ type Cluster struct { // ClusterSettings AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-cluster.html#cfn-ecs-cluster-clustersettings - ClusterSettings []Cluster_ClusterSetting `json:"ClusterSettings,omitempty"` + ClusterSettings []Cluster_ClusterSettings `json:"ClusterSettings,omitempty"` + + // DefaultCapacityProviderStrategy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-cluster.html#cfn-ecs-cluster-defaultcapacityproviderstrategy + DefaultCapacityProviderStrategy []Cluster_CapacityProviderStrategyItem `json:"DefaultCapacityProviderStrategy,omitempty"` // Tags AWS CloudFormation Property // Required: false @@ -31,6 +41,9 @@ type Cluster struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -51,19 +64,21 @@ func (r *Cluster) AWSCloudFormationType() string { func (r Cluster) MarshalJSON() ([]byte, error) { type Properties Cluster return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -72,12 +87,13 @@ func (r Cluster) MarshalJSON() ([]byte, error) { func (r *Cluster) UnmarshalJSON(b []byte) error { type Properties Cluster res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -101,6 +117,9 @@ func (r *Cluster) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ecs/aws-ecs-cluster_capacityproviderstrategyitem.go b/cloudformation/ecs/aws-ecs-cluster_capacityproviderstrategyitem.go new file mode 100644 index 0000000000..a78cf5290a --- /dev/null +++ b/cloudformation/ecs/aws-ecs-cluster_capacityproviderstrategyitem.go @@ -0,0 +1,45 @@ +package ecs + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Cluster_CapacityProviderStrategyItem AWS CloudFormation Resource (AWS::ECS::Cluster.CapacityProviderStrategyItem) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-cluster-capacityproviderstrategyitem.html +type Cluster_CapacityProviderStrategyItem struct { + + // Base AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-cluster-capacityproviderstrategyitem.html#cfn-ecs-cluster-capacityproviderstrategyitem-base + Base int `json:"Base,omitempty"` + + // CapacityProvider AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-cluster-capacityproviderstrategyitem.html#cfn-ecs-cluster-capacityproviderstrategyitem-capacityprovider + CapacityProvider string `json:"CapacityProvider,omitempty"` + + // Weight AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-cluster-capacityproviderstrategyitem.html#cfn-ecs-cluster-capacityproviderstrategyitem-weight + Weight int `json:"Weight,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Cluster_CapacityProviderStrategyItem) AWSCloudFormationType() string { + return "AWS::ECS::Cluster.CapacityProviderStrategyItem" +} diff --git a/cloudformation/ecs/aws-ecs-cluster_clustersettings.go b/cloudformation/ecs/aws-ecs-cluster_clustersettings.go new file mode 100644 index 0000000000..f009cee044 --- /dev/null +++ b/cloudformation/ecs/aws-ecs-cluster_clustersettings.go @@ -0,0 +1,40 @@ +package ecs + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Cluster_ClusterSettings AWS CloudFormation Resource (AWS::ECS::Cluster.ClusterSettings) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-cluster-clustersettings.html +type Cluster_ClusterSettings struct { + + // Name AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-cluster-clustersettings.html#cfn-ecs-cluster-clustersettings-name + Name string `json:"Name,omitempty"` + + // Value AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-cluster-clustersettings.html#cfn-ecs-cluster-clustersettings-value + Value string `json:"Value,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Cluster_ClusterSettings) AWSCloudFormationType() string { + return "AWS::ECS::Cluster.ClusterSettings" +} diff --git a/cloudformation/ecs/aws-ecs-primarytaskset.go b/cloudformation/ecs/aws-ecs-primarytaskset.go index e413ec00b2..715d3a6ac0 100644 --- a/cloudformation/ecs/aws-ecs-primarytaskset.go +++ b/cloudformation/ecs/aws-ecs-primarytaskset.go @@ -30,6 +30,9 @@ type PrimaryTaskSet struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *PrimaryTaskSet) AWSCloudFormationType() string { func (r PrimaryTaskSet) MarshalJSON() ([]byte, error) { type Properties PrimaryTaskSet return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r PrimaryTaskSet) MarshalJSON() ([]byte, error) { func (r *PrimaryTaskSet) UnmarshalJSON(b []byte) error { type Properties PrimaryTaskSet res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *PrimaryTaskSet) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ecs/aws-ecs-service.go b/cloudformation/ecs/aws-ecs-service.go index 25531531bc..2ec71913e8 100644 --- a/cloudformation/ecs/aws-ecs-service.go +++ b/cloudformation/ecs/aws-ecs-service.go @@ -111,6 +111,9 @@ type Service struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -131,19 +134,21 @@ func (r *Service) AWSCloudFormationType() string { func (r Service) MarshalJSON() ([]byte, error) { type Properties Service return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -152,12 +157,13 @@ func (r Service) MarshalJSON() ([]byte, error) { func (r *Service) UnmarshalJSON(b []byte) error { type Properties Service res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -181,6 +187,9 @@ func (r *Service) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ecs/aws-ecs-service_awsvpcconfiguration.go b/cloudformation/ecs/aws-ecs-service_awsvpcconfiguration.go index bce8f7f78a..a8c6ca166b 100644 --- a/cloudformation/ecs/aws-ecs-service_awsvpcconfiguration.go +++ b/cloudformation/ecs/aws-ecs-service_awsvpcconfiguration.go @@ -26,6 +26,9 @@ type Service_AwsVpcConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ecs/aws-ecs-service_deploymentconfiguration.go b/cloudformation/ecs/aws-ecs-service_deploymentconfiguration.go index 3ac23673ef..7c958b6ec9 100644 --- a/cloudformation/ecs/aws-ecs-service_deploymentconfiguration.go +++ b/cloudformation/ecs/aws-ecs-service_deploymentconfiguration.go @@ -21,6 +21,9 @@ type Service_DeploymentConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ecs/aws-ecs-service_deploymentcontroller.go b/cloudformation/ecs/aws-ecs-service_deploymentcontroller.go index 266405d0ff..a8484c7a11 100644 --- a/cloudformation/ecs/aws-ecs-service_deploymentcontroller.go +++ b/cloudformation/ecs/aws-ecs-service_deploymentcontroller.go @@ -16,6 +16,9 @@ type Service_DeploymentController struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ecs/aws-ecs-service_loadbalancer.go b/cloudformation/ecs/aws-ecs-service_loadbalancer.go index ab54d9b2ac..250a57e189 100644 --- a/cloudformation/ecs/aws-ecs-service_loadbalancer.go +++ b/cloudformation/ecs/aws-ecs-service_loadbalancer.go @@ -31,6 +31,9 @@ type Service_LoadBalancer struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ecs/aws-ecs-service_networkconfiguration.go b/cloudformation/ecs/aws-ecs-service_networkconfiguration.go index 39a330b1a0..3b6ff07ba0 100644 --- a/cloudformation/ecs/aws-ecs-service_networkconfiguration.go +++ b/cloudformation/ecs/aws-ecs-service_networkconfiguration.go @@ -16,6 +16,9 @@ type Service_NetworkConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ecs/aws-ecs-service_placementconstraint.go b/cloudformation/ecs/aws-ecs-service_placementconstraint.go index 0f41e1b179..08de98258f 100644 --- a/cloudformation/ecs/aws-ecs-service_placementconstraint.go +++ b/cloudformation/ecs/aws-ecs-service_placementconstraint.go @@ -21,6 +21,9 @@ type Service_PlacementConstraint struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ecs/aws-ecs-service_placementstrategy.go b/cloudformation/ecs/aws-ecs-service_placementstrategy.go index 069911bc0e..c099a19df1 100644 --- a/cloudformation/ecs/aws-ecs-service_placementstrategy.go +++ b/cloudformation/ecs/aws-ecs-service_placementstrategy.go @@ -21,6 +21,9 @@ type Service_PlacementStrategy struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ecs/aws-ecs-service_serviceregistry.go b/cloudformation/ecs/aws-ecs-service_serviceregistry.go index 4d7247e152..f6199fc6dc 100644 --- a/cloudformation/ecs/aws-ecs-service_serviceregistry.go +++ b/cloudformation/ecs/aws-ecs-service_serviceregistry.go @@ -31,6 +31,9 @@ type Service_ServiceRegistry struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ecs/aws-ecs-taskdefinition.go b/cloudformation/ecs/aws-ecs-taskdefinition.go index e811f41c0d..a11f48efc3 100644 --- a/cloudformation/ecs/aws-ecs-taskdefinition.go +++ b/cloudformation/ecs/aws-ecs-taskdefinition.go @@ -91,6 +91,9 @@ type TaskDefinition struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -111,19 +114,21 @@ func (r *TaskDefinition) AWSCloudFormationType() string { func (r TaskDefinition) MarshalJSON() ([]byte, error) { type Properties TaskDefinition return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -132,12 +137,13 @@ func (r TaskDefinition) MarshalJSON() ([]byte, error) { func (r *TaskDefinition) UnmarshalJSON(b []byte) error { type Properties TaskDefinition res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -161,6 +167,9 @@ func (r *TaskDefinition) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ecs/aws-ecs-taskdefinition_containerdefinition.go b/cloudformation/ecs/aws-ecs-taskdefinition_containerdefinition.go index 9b7be34547..e8f3cae410 100644 --- a/cloudformation/ecs/aws-ecs-taskdefinition_containerdefinition.go +++ b/cloudformation/ecs/aws-ecs-taskdefinition_containerdefinition.go @@ -201,6 +201,9 @@ type TaskDefinition_ContainerDefinition struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ecs/aws-ecs-taskdefinition_containerdependency.go b/cloudformation/ecs/aws-ecs-taskdefinition_containerdependency.go index ae22ec9af4..1520990d8e 100644 --- a/cloudformation/ecs/aws-ecs-taskdefinition_containerdependency.go +++ b/cloudformation/ecs/aws-ecs-taskdefinition_containerdependency.go @@ -21,6 +21,9 @@ type TaskDefinition_ContainerDependency struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ecs/aws-ecs-taskdefinition_device.go b/cloudformation/ecs/aws-ecs-taskdefinition_device.go index a0d281c211..19cd5e778f 100644 --- a/cloudformation/ecs/aws-ecs-taskdefinition_device.go +++ b/cloudformation/ecs/aws-ecs-taskdefinition_device.go @@ -26,6 +26,9 @@ type TaskDefinition_Device struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ecs/aws-ecs-taskdefinition_dockervolumeconfiguration.go b/cloudformation/ecs/aws-ecs-taskdefinition_dockervolumeconfiguration.go index e9fddd169c..4c6b65dd27 100644 --- a/cloudformation/ecs/aws-ecs-taskdefinition_dockervolumeconfiguration.go +++ b/cloudformation/ecs/aws-ecs-taskdefinition_dockervolumeconfiguration.go @@ -36,6 +36,9 @@ type TaskDefinition_DockerVolumeConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ecs/aws-ecs-taskdefinition_firelensconfiguration.go b/cloudformation/ecs/aws-ecs-taskdefinition_firelensconfiguration.go index 53d661c353..c431713662 100644 --- a/cloudformation/ecs/aws-ecs-taskdefinition_firelensconfiguration.go +++ b/cloudformation/ecs/aws-ecs-taskdefinition_firelensconfiguration.go @@ -21,6 +21,9 @@ type TaskDefinition_FirelensConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ecs/aws-ecs-taskdefinition_healthcheck.go b/cloudformation/ecs/aws-ecs-taskdefinition_healthcheck.go index 384042649d..6ff8a1db4f 100644 --- a/cloudformation/ecs/aws-ecs-taskdefinition_healthcheck.go +++ b/cloudformation/ecs/aws-ecs-taskdefinition_healthcheck.go @@ -36,6 +36,9 @@ type TaskDefinition_HealthCheck struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ecs/aws-ecs-taskdefinition_hostentry.go b/cloudformation/ecs/aws-ecs-taskdefinition_hostentry.go index 22a3b31fab..f1a0e3edcd 100644 --- a/cloudformation/ecs/aws-ecs-taskdefinition_hostentry.go +++ b/cloudformation/ecs/aws-ecs-taskdefinition_hostentry.go @@ -21,6 +21,9 @@ type TaskDefinition_HostEntry struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ecs/aws-ecs-taskdefinition_hostvolumeproperties.go b/cloudformation/ecs/aws-ecs-taskdefinition_hostvolumeproperties.go index cc1566992c..488010aca1 100644 --- a/cloudformation/ecs/aws-ecs-taskdefinition_hostvolumeproperties.go +++ b/cloudformation/ecs/aws-ecs-taskdefinition_hostvolumeproperties.go @@ -16,6 +16,9 @@ type TaskDefinition_HostVolumeProperties struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ecs/aws-ecs-taskdefinition_inferenceaccelerator.go b/cloudformation/ecs/aws-ecs-taskdefinition_inferenceaccelerator.go index 7726a8e056..ba77d5eb6b 100644 --- a/cloudformation/ecs/aws-ecs-taskdefinition_inferenceaccelerator.go +++ b/cloudformation/ecs/aws-ecs-taskdefinition_inferenceaccelerator.go @@ -13,11 +13,6 @@ type TaskDefinition_InferenceAccelerator struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-inferenceaccelerator.html#cfn-ecs-taskdefinition-inferenceaccelerator-devicename DeviceName string `json:"DeviceName,omitempty"` - // DevicePolicy AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-inferenceaccelerator.html#cfn-ecs-taskdefinition-inferenceaccelerator-devicepolicy - DevicePolicy string `json:"DevicePolicy,omitempty"` - // DeviceType AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-inferenceaccelerator.html#cfn-ecs-taskdefinition-inferenceaccelerator-devicetype @@ -26,6 +21,9 @@ type TaskDefinition_InferenceAccelerator struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ecs/aws-ecs-taskdefinition_kernelcapabilities.go b/cloudformation/ecs/aws-ecs-taskdefinition_kernelcapabilities.go index e5f6a23b51..92248cb064 100644 --- a/cloudformation/ecs/aws-ecs-taskdefinition_kernelcapabilities.go +++ b/cloudformation/ecs/aws-ecs-taskdefinition_kernelcapabilities.go @@ -21,6 +21,9 @@ type TaskDefinition_KernelCapabilities struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ecs/aws-ecs-taskdefinition_keyvaluepair.go b/cloudformation/ecs/aws-ecs-taskdefinition_keyvaluepair.go index 29f1277edf..b464481f1d 100644 --- a/cloudformation/ecs/aws-ecs-taskdefinition_keyvaluepair.go +++ b/cloudformation/ecs/aws-ecs-taskdefinition_keyvaluepair.go @@ -21,6 +21,9 @@ type TaskDefinition_KeyValuePair struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ecs/aws-ecs-taskdefinition_linuxparameters.go b/cloudformation/ecs/aws-ecs-taskdefinition_linuxparameters.go index d346c82440..97d2d31301 100644 --- a/cloudformation/ecs/aws-ecs-taskdefinition_linuxparameters.go +++ b/cloudformation/ecs/aws-ecs-taskdefinition_linuxparameters.go @@ -46,6 +46,9 @@ type TaskDefinition_LinuxParameters struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ecs/aws-ecs-taskdefinition_logconfiguration.go b/cloudformation/ecs/aws-ecs-taskdefinition_logconfiguration.go index f560a88ac1..73a85b4a3b 100644 --- a/cloudformation/ecs/aws-ecs-taskdefinition_logconfiguration.go +++ b/cloudformation/ecs/aws-ecs-taskdefinition_logconfiguration.go @@ -26,6 +26,9 @@ type TaskDefinition_LogConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ecs/aws-ecs-taskdefinition_mountpoint.go b/cloudformation/ecs/aws-ecs-taskdefinition_mountpoint.go index 06880322fe..a64d6fac3e 100644 --- a/cloudformation/ecs/aws-ecs-taskdefinition_mountpoint.go +++ b/cloudformation/ecs/aws-ecs-taskdefinition_mountpoint.go @@ -26,6 +26,9 @@ type TaskDefinition_MountPoint struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ecs/aws-ecs-taskdefinition_portmapping.go b/cloudformation/ecs/aws-ecs-taskdefinition_portmapping.go index db26c1427b..1365a58b0a 100644 --- a/cloudformation/ecs/aws-ecs-taskdefinition_portmapping.go +++ b/cloudformation/ecs/aws-ecs-taskdefinition_portmapping.go @@ -26,6 +26,9 @@ type TaskDefinition_PortMapping struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ecs/aws-ecs-taskdefinition_proxyconfiguration.go b/cloudformation/ecs/aws-ecs-taskdefinition_proxyconfiguration.go index b0fecf155c..985498aedf 100644 --- a/cloudformation/ecs/aws-ecs-taskdefinition_proxyconfiguration.go +++ b/cloudformation/ecs/aws-ecs-taskdefinition_proxyconfiguration.go @@ -26,6 +26,9 @@ type TaskDefinition_ProxyConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ecs/aws-ecs-taskdefinition_repositorycredentials.go b/cloudformation/ecs/aws-ecs-taskdefinition_repositorycredentials.go index e302373eff..2fb63e3ab9 100644 --- a/cloudformation/ecs/aws-ecs-taskdefinition_repositorycredentials.go +++ b/cloudformation/ecs/aws-ecs-taskdefinition_repositorycredentials.go @@ -16,6 +16,9 @@ type TaskDefinition_RepositoryCredentials struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ecs/aws-ecs-taskdefinition_resourcerequirement.go b/cloudformation/ecs/aws-ecs-taskdefinition_resourcerequirement.go index 0384ac5937..fbce24467d 100644 --- a/cloudformation/ecs/aws-ecs-taskdefinition_resourcerequirement.go +++ b/cloudformation/ecs/aws-ecs-taskdefinition_resourcerequirement.go @@ -21,6 +21,9 @@ type TaskDefinition_ResourceRequirement struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ecs/aws-ecs-taskdefinition_secret.go b/cloudformation/ecs/aws-ecs-taskdefinition_secret.go index cd1dfb48ee..73012b37ad 100644 --- a/cloudformation/ecs/aws-ecs-taskdefinition_secret.go +++ b/cloudformation/ecs/aws-ecs-taskdefinition_secret.go @@ -21,6 +21,9 @@ type TaskDefinition_Secret struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ecs/aws-ecs-taskdefinition_systemcontrol.go b/cloudformation/ecs/aws-ecs-taskdefinition_systemcontrol.go index 2558175130..cd8ed72d8f 100644 --- a/cloudformation/ecs/aws-ecs-taskdefinition_systemcontrol.go +++ b/cloudformation/ecs/aws-ecs-taskdefinition_systemcontrol.go @@ -21,6 +21,9 @@ type TaskDefinition_SystemControl struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ecs/aws-ecs-taskdefinition_taskdefinitionplacementconstraint.go b/cloudformation/ecs/aws-ecs-taskdefinition_taskdefinitionplacementconstraint.go index 94df216548..0fe81e65e7 100644 --- a/cloudformation/ecs/aws-ecs-taskdefinition_taskdefinitionplacementconstraint.go +++ b/cloudformation/ecs/aws-ecs-taskdefinition_taskdefinitionplacementconstraint.go @@ -21,6 +21,9 @@ type TaskDefinition_TaskDefinitionPlacementConstraint struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ecs/aws-ecs-taskdefinition_tmpfs.go b/cloudformation/ecs/aws-ecs-taskdefinition_tmpfs.go index 966cdba961..7046c72cdb 100644 --- a/cloudformation/ecs/aws-ecs-taskdefinition_tmpfs.go +++ b/cloudformation/ecs/aws-ecs-taskdefinition_tmpfs.go @@ -26,6 +26,9 @@ type TaskDefinition_Tmpfs struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ecs/aws-ecs-taskdefinition_ulimit.go b/cloudformation/ecs/aws-ecs-taskdefinition_ulimit.go index c132c83b88..7d54f50ad7 100644 --- a/cloudformation/ecs/aws-ecs-taskdefinition_ulimit.go +++ b/cloudformation/ecs/aws-ecs-taskdefinition_ulimit.go @@ -26,6 +26,9 @@ type TaskDefinition_Ulimit struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ecs/aws-ecs-taskdefinition_volume.go b/cloudformation/ecs/aws-ecs-taskdefinition_volume.go index cdb35ae4e1..9b4cad863d 100644 --- a/cloudformation/ecs/aws-ecs-taskdefinition_volume.go +++ b/cloudformation/ecs/aws-ecs-taskdefinition_volume.go @@ -26,6 +26,9 @@ type TaskDefinition_Volume struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ecs/aws-ecs-taskdefinition_volumefrom.go b/cloudformation/ecs/aws-ecs-taskdefinition_volumefrom.go index 0ff7623177..62da2c6741 100644 --- a/cloudformation/ecs/aws-ecs-taskdefinition_volumefrom.go +++ b/cloudformation/ecs/aws-ecs-taskdefinition_volumefrom.go @@ -21,6 +21,9 @@ type TaskDefinition_VolumeFrom struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ecs/aws-ecs-taskset.go b/cloudformation/ecs/aws-ecs-taskset.go index 95950697ef..aa01ece33d 100644 --- a/cloudformation/ecs/aws-ecs-taskset.go +++ b/cloudformation/ecs/aws-ecs-taskset.go @@ -65,6 +65,9 @@ type TaskSet struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -85,19 +88,21 @@ func (r *TaskSet) AWSCloudFormationType() string { func (r TaskSet) MarshalJSON() ([]byte, error) { type Properties TaskSet return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -106,12 +111,13 @@ func (r TaskSet) MarshalJSON() ([]byte, error) { func (r *TaskSet) UnmarshalJSON(b []byte) error { type Properties TaskSet res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -135,6 +141,9 @@ func (r *TaskSet) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ecs/aws-ecs-taskset_awsvpcconfiguration.go b/cloudformation/ecs/aws-ecs-taskset_awsvpcconfiguration.go index 97a33eca41..25c0b96598 100644 --- a/cloudformation/ecs/aws-ecs-taskset_awsvpcconfiguration.go +++ b/cloudformation/ecs/aws-ecs-taskset_awsvpcconfiguration.go @@ -26,6 +26,9 @@ type TaskSet_AwsVpcConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ecs/aws-ecs-taskset_loadbalancer.go b/cloudformation/ecs/aws-ecs-taskset_loadbalancer.go index 5c92b013ec..a4438bfddb 100644 --- a/cloudformation/ecs/aws-ecs-taskset_loadbalancer.go +++ b/cloudformation/ecs/aws-ecs-taskset_loadbalancer.go @@ -31,6 +31,9 @@ type TaskSet_LoadBalancer struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ecs/aws-ecs-taskset_networkconfiguration.go b/cloudformation/ecs/aws-ecs-taskset_networkconfiguration.go index 8b142e05e0..db0070bbc5 100644 --- a/cloudformation/ecs/aws-ecs-taskset_networkconfiguration.go +++ b/cloudformation/ecs/aws-ecs-taskset_networkconfiguration.go @@ -16,6 +16,9 @@ type TaskSet_NetworkConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ecs/aws-ecs-taskset_scale.go b/cloudformation/ecs/aws-ecs-taskset_scale.go index c410e90158..ebd720888f 100644 --- a/cloudformation/ecs/aws-ecs-taskset_scale.go +++ b/cloudformation/ecs/aws-ecs-taskset_scale.go @@ -21,6 +21,9 @@ type TaskSet_Scale struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ecs/aws-ecs-taskset_serviceregistry.go b/cloudformation/ecs/aws-ecs-taskset_serviceregistry.go index 2cc0dcecc2..bda6f9feac 100644 --- a/cloudformation/ecs/aws-ecs-taskset_serviceregistry.go +++ b/cloudformation/ecs/aws-ecs-taskset_serviceregistry.go @@ -31,6 +31,9 @@ type TaskSet_ServiceRegistry struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/efs/aws-efs-accesspoint.go b/cloudformation/efs/aws-efs-accesspoint.go new file mode 100644 index 0000000000..9367182e30 --- /dev/null +++ b/cloudformation/efs/aws-efs-accesspoint.go @@ -0,0 +1,126 @@ +package efs + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// AccessPoint AWS CloudFormation Resource (AWS::EFS::AccessPoint) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-accesspoint.html +type AccessPoint struct { + + // AccessPointTags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-accesspoint.html#cfn-efs-accesspoint-accesspointtags + AccessPointTags []AccessPoint_AccessPointTag `json:"AccessPointTags,omitempty"` + + // ClientToken AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-accesspoint.html#cfn-efs-accesspoint-clienttoken + ClientToken string `json:"ClientToken,omitempty"` + + // FileSystemId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-accesspoint.html#cfn-efs-accesspoint-filesystemid + FileSystemId string `json:"FileSystemId,omitempty"` + + // PosixUser AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-accesspoint.html#cfn-efs-accesspoint-posixuser + PosixUser *AccessPoint_PosixUser `json:"PosixUser,omitempty"` + + // RootDirectory AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-accesspoint.html#cfn-efs-accesspoint-rootdirectory + RootDirectory *AccessPoint_RootDirectory `json:"RootDirectory,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AccessPoint) AWSCloudFormationType() string { + return "AWS::EFS::AccessPoint" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r AccessPoint) MarshalJSON() ([]byte, error) { + type Properties AccessPoint + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *AccessPoint) UnmarshalJSON(b []byte) error { + type Properties AccessPoint + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = AccessPoint(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/efs/aws-efs-accesspoint_accesspointtag.go b/cloudformation/efs/aws-efs-accesspoint_accesspointtag.go new file mode 100644 index 0000000000..2d999a5e1c --- /dev/null +++ b/cloudformation/efs/aws-efs-accesspoint_accesspointtag.go @@ -0,0 +1,40 @@ +package efs + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// AccessPoint_AccessPointTag AWS CloudFormation Resource (AWS::EFS::AccessPoint.AccessPointTag) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-accesspointtag.html +type AccessPoint_AccessPointTag struct { + + // Key AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-accesspointtag.html#cfn-efs-accesspoint-accesspointtag-key + Key string `json:"Key,omitempty"` + + // Value AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-accesspointtag.html#cfn-efs-accesspoint-accesspointtag-value + Value string `json:"Value,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AccessPoint_AccessPointTag) AWSCloudFormationType() string { + return "AWS::EFS::AccessPoint.AccessPointTag" +} diff --git a/cloudformation/efs/aws-efs-accesspoint_creationinfo.go b/cloudformation/efs/aws-efs-accesspoint_creationinfo.go new file mode 100644 index 0000000000..8624c58e35 --- /dev/null +++ b/cloudformation/efs/aws-efs-accesspoint_creationinfo.go @@ -0,0 +1,45 @@ +package efs + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// AccessPoint_CreationInfo AWS CloudFormation Resource (AWS::EFS::AccessPoint.CreationInfo) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-creationinfo.html +type AccessPoint_CreationInfo struct { + + // OwnerGid AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-creationinfo.html#cfn-efs-accesspoint-creationinfo-ownergid + OwnerGid string `json:"OwnerGid,omitempty"` + + // OwnerUid AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-creationinfo.html#cfn-efs-accesspoint-creationinfo-owneruid + OwnerUid string `json:"OwnerUid,omitempty"` + + // Permissions AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-creationinfo.html#cfn-efs-accesspoint-creationinfo-permissions + Permissions string `json:"Permissions,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AccessPoint_CreationInfo) AWSCloudFormationType() string { + return "AWS::EFS::AccessPoint.CreationInfo" +} diff --git a/cloudformation/efs/aws-efs-accesspoint_posixuser.go b/cloudformation/efs/aws-efs-accesspoint_posixuser.go new file mode 100644 index 0000000000..a1eb596f84 --- /dev/null +++ b/cloudformation/efs/aws-efs-accesspoint_posixuser.go @@ -0,0 +1,45 @@ +package efs + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// AccessPoint_PosixUser AWS CloudFormation Resource (AWS::EFS::AccessPoint.PosixUser) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-posixuser.html +type AccessPoint_PosixUser struct { + + // Gid AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-posixuser.html#cfn-efs-accesspoint-posixuser-gid + Gid string `json:"Gid,omitempty"` + + // SecondaryGids AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-posixuser.html#cfn-efs-accesspoint-posixuser-secondarygids + SecondaryGids []string `json:"SecondaryGids,omitempty"` + + // Uid AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-posixuser.html#cfn-efs-accesspoint-posixuser-uid + Uid string `json:"Uid,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AccessPoint_PosixUser) AWSCloudFormationType() string { + return "AWS::EFS::AccessPoint.PosixUser" +} diff --git a/cloudformation/efs/aws-efs-accesspoint_rootdirectory.go b/cloudformation/efs/aws-efs-accesspoint_rootdirectory.go new file mode 100644 index 0000000000..1b76fb6ff6 --- /dev/null +++ b/cloudformation/efs/aws-efs-accesspoint_rootdirectory.go @@ -0,0 +1,40 @@ +package efs + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// AccessPoint_RootDirectory AWS CloudFormation Resource (AWS::EFS::AccessPoint.RootDirectory) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-rootdirectory.html +type AccessPoint_RootDirectory struct { + + // CreationInfo AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-rootdirectory.html#cfn-efs-accesspoint-rootdirectory-creationinfo + CreationInfo *AccessPoint_CreationInfo `json:"CreationInfo,omitempty"` + + // Path AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-rootdirectory.html#cfn-efs-accesspoint-rootdirectory-path + Path string `json:"Path,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AccessPoint_RootDirectory) AWSCloudFormationType() string { + return "AWS::EFS::AccessPoint.RootDirectory" +} diff --git a/cloudformation/efs/aws-efs-filesystem.go b/cloudformation/efs/aws-efs-filesystem.go index c61cfaa808..76271495dc 100644 --- a/cloudformation/efs/aws-efs-filesystem.go +++ b/cloudformation/efs/aws-efs-filesystem.go @@ -17,6 +17,11 @@ type FileSystem struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-efs-filesystem-encrypted Encrypted bool `json:"Encrypted,omitempty"` + // FileSystemPolicy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-efs-filesystem-filesystempolicy + FileSystemPolicy interface{} `json:"FileSystemPolicy,omitempty"` + // FileSystemTags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-efs-filesystem-filesystemtags @@ -29,7 +34,7 @@ type FileSystem struct { // LifecyclePolicies AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-elasticfilesystem-filesystem-lifecyclepolicies + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-efs-filesystem-lifecyclepolicies LifecyclePolicies []FileSystem_LifecyclePolicy `json:"LifecyclePolicies,omitempty"` // PerformanceMode AWS CloudFormation Property @@ -39,17 +44,20 @@ type FileSystem struct { // ProvisionedThroughputInMibps AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-elasticfilesystem-filesystem-provisionedthroughputinmibps + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-efs-filesystem-provisionedthroughputinmibps ProvisionedThroughputInMibps float64 `json:"ProvisionedThroughputInMibps,omitempty"` // ThroughputMode AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-elasticfilesystem-filesystem-throughputmode + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-efs-filesystem-throughputmode ThroughputMode string `json:"ThroughputMode,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -70,19 +78,21 @@ func (r *FileSystem) AWSCloudFormationType() string { func (r FileSystem) MarshalJSON() ([]byte, error) { type Properties FileSystem return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -91,12 +101,13 @@ func (r FileSystem) MarshalJSON() ([]byte, error) { func (r *FileSystem) UnmarshalJSON(b []byte) error { type Properties FileSystem res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -120,6 +131,9 @@ func (r *FileSystem) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/efs/aws-efs-filesystem_elasticfilesystemtag.go b/cloudformation/efs/aws-efs-filesystem_elasticfilesystemtag.go index 118ad1cc31..0d972868e0 100644 --- a/cloudformation/efs/aws-efs-filesystem_elasticfilesystemtag.go +++ b/cloudformation/efs/aws-efs-filesystem_elasticfilesystemtag.go @@ -5,22 +5,25 @@ import ( ) // FileSystem_ElasticFileSystemTag AWS CloudFormation Resource (AWS::EFS::FileSystem.ElasticFileSystemTag) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-filesystemtags.html +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-elasticfilesystemtag.html type FileSystem_ElasticFileSystemTag struct { // Key AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-filesystemtags.html#cfn-efs-filesystem-filesystemtags-key + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-elasticfilesystemtag.html#cfn-efs-filesystem-elasticfilesystemtag-key Key string `json:"Key,omitempty"` // Value AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-filesystemtags.html#cfn-efs-filesystem-filesystemtags-value + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-elasticfilesystemtag.html#cfn-efs-filesystem-elasticfilesystemtag-value Value string `json:"Value,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/efs/aws-efs-filesystem_lifecyclepolicy.go b/cloudformation/efs/aws-efs-filesystem_lifecyclepolicy.go index d8fc143713..bf4d0fd223 100644 --- a/cloudformation/efs/aws-efs-filesystem_lifecyclepolicy.go +++ b/cloudformation/efs/aws-efs-filesystem_lifecyclepolicy.go @@ -5,17 +5,20 @@ import ( ) // FileSystem_LifecyclePolicy AWS CloudFormation Resource (AWS::EFS::FileSystem.LifecyclePolicy) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticfilesystem-filesystem-lifecyclepolicy.html +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-lifecyclepolicy.html type FileSystem_LifecyclePolicy struct { // TransitionToIA AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticfilesystem-filesystem-lifecyclepolicy.html#cfn-elasticfilesystem-filesystem-lifecyclepolicy-transitiontoia + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-lifecyclepolicy.html#cfn-efs-filesystem-lifecyclepolicy-transitiontoia TransitionToIA string `json:"TransitionToIA,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/efs/aws-efs-mounttarget.go b/cloudformation/efs/aws-efs-mounttarget.go index eff31a479a..1ae129bda2 100644 --- a/cloudformation/efs/aws-efs-mounttarget.go +++ b/cloudformation/efs/aws-efs-mounttarget.go @@ -35,6 +35,9 @@ type MountTarget struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -55,19 +58,21 @@ func (r *MountTarget) AWSCloudFormationType() string { func (r MountTarget) MarshalJSON() ([]byte, error) { type Properties MountTarget return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -76,12 +81,13 @@ func (r MountTarget) MarshalJSON() ([]byte, error) { func (r *MountTarget) UnmarshalJSON(b []byte) error { type Properties MountTarget res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -105,6 +111,9 @@ func (r *MountTarget) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/eks/aws-eks-cluster.go b/cloudformation/eks/aws-eks-cluster.go index c302a57445..073f98a0ef 100644 --- a/cloudformation/eks/aws-eks-cluster.go +++ b/cloudformation/eks/aws-eks-cluster.go @@ -12,6 +12,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html type Cluster struct { + // EncryptionConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html#cfn-eks-cluster-encryptionconfig + EncryptionConfig []Cluster_EncryptionConfig `json:"EncryptionConfig,omitempty"` + // Name AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html#cfn-eks-cluster-name @@ -35,6 +40,9 @@ type Cluster struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -55,19 +63,21 @@ func (r *Cluster) AWSCloudFormationType() string { func (r Cluster) MarshalJSON() ([]byte, error) { type Properties Cluster return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -76,12 +86,13 @@ func (r Cluster) MarshalJSON() ([]byte, error) { func (r *Cluster) UnmarshalJSON(b []byte) error { type Properties Cluster res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -105,6 +116,9 @@ func (r *Cluster) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/eks/aws-eks-cluster_encryptionconfig.go b/cloudformation/eks/aws-eks-cluster_encryptionconfig.go new file mode 100644 index 0000000000..9841672fef --- /dev/null +++ b/cloudformation/eks/aws-eks-cluster_encryptionconfig.go @@ -0,0 +1,40 @@ +package eks + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Cluster_EncryptionConfig AWS CloudFormation Resource (AWS::EKS::Cluster.EncryptionConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-encryptionconfig.html +type Cluster_EncryptionConfig struct { + + // Provider AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-encryptionconfig.html#cfn-eks-cluster-encryptionconfig-provider + Provider *Cluster_Provider `json:"Provider,omitempty"` + + // Resources AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-encryptionconfig.html#cfn-eks-cluster-encryptionconfig-resources + Resources []string `json:"Resources,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Cluster_EncryptionConfig) AWSCloudFormationType() string { + return "AWS::EKS::Cluster.EncryptionConfig" +} diff --git a/cloudformation/eks/aws-eks-cluster_provider.go b/cloudformation/eks/aws-eks-cluster_provider.go new file mode 100644 index 0000000000..7415b170db --- /dev/null +++ b/cloudformation/eks/aws-eks-cluster_provider.go @@ -0,0 +1,35 @@ +package eks + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Cluster_Provider AWS CloudFormation Resource (AWS::EKS::Cluster.Provider) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-provider.html +type Cluster_Provider struct { + + // KeyArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-provider.html#cfn-eks-cluster-provider-keyarn + KeyArn string `json:"KeyArn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Cluster_Provider) AWSCloudFormationType() string { + return "AWS::EKS::Cluster.Provider" +} diff --git a/cloudformation/eks/aws-eks-cluster_resourcesvpcconfig.go b/cloudformation/eks/aws-eks-cluster_resourcesvpcconfig.go index 0508e82566..6180a05c2a 100644 --- a/cloudformation/eks/aws-eks-cluster_resourcesvpcconfig.go +++ b/cloudformation/eks/aws-eks-cluster_resourcesvpcconfig.go @@ -21,6 +21,9 @@ type Cluster_ResourcesVpcConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/eks/aws-eks-nodegroup.go b/cloudformation/eks/aws-eks-nodegroup.go index 54d17dfd28..661e421efb 100644 --- a/cloudformation/eks/aws-eks-nodegroup.go +++ b/cloudformation/eks/aws-eks-nodegroup.go @@ -85,6 +85,9 @@ type Nodegroup struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -105,19 +108,21 @@ func (r *Nodegroup) AWSCloudFormationType() string { func (r Nodegroup) MarshalJSON() ([]byte, error) { type Properties Nodegroup return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -126,12 +131,13 @@ func (r Nodegroup) MarshalJSON() ([]byte, error) { func (r *Nodegroup) UnmarshalJSON(b []byte) error { type Properties Nodegroup res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -155,6 +161,9 @@ func (r *Nodegroup) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/eks/aws-eks-nodegroup_remoteaccess.go b/cloudformation/eks/aws-eks-nodegroup_remoteaccess.go index b17345118c..777944ab88 100644 --- a/cloudformation/eks/aws-eks-nodegroup_remoteaccess.go +++ b/cloudformation/eks/aws-eks-nodegroup_remoteaccess.go @@ -21,6 +21,9 @@ type Nodegroup_RemoteAccess struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/eks/aws-eks-nodegroup_scalingconfig.go b/cloudformation/eks/aws-eks-nodegroup_scalingconfig.go index c76f40e2f2..250ca17948 100644 --- a/cloudformation/eks/aws-eks-nodegroup_scalingconfig.go +++ b/cloudformation/eks/aws-eks-nodegroup_scalingconfig.go @@ -26,6 +26,9 @@ type Nodegroup_ScalingConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticache/aws-elasticache-cachecluster.go b/cloudformation/elasticache/aws-elasticache-cachecluster.go index 0a4736764d..694f762311 100644 --- a/cloudformation/elasticache/aws-elasticache-cachecluster.go +++ b/cloudformation/elasticache/aws-elasticache-cachecluster.go @@ -121,6 +121,9 @@ type CacheCluster struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -141,19 +144,21 @@ func (r *CacheCluster) AWSCloudFormationType() string { func (r CacheCluster) MarshalJSON() ([]byte, error) { type Properties CacheCluster return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -162,12 +167,13 @@ func (r CacheCluster) MarshalJSON() ([]byte, error) { func (r *CacheCluster) UnmarshalJSON(b []byte) error { type Properties CacheCluster res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -191,6 +197,9 @@ func (r *CacheCluster) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/elasticache/aws-elasticache-parametergroup.go b/cloudformation/elasticache/aws-elasticache-parametergroup.go index 8265e1e72a..3033ab53f0 100644 --- a/cloudformation/elasticache/aws-elasticache-parametergroup.go +++ b/cloudformation/elasticache/aws-elasticache-parametergroup.go @@ -30,6 +30,9 @@ type ParameterGroup struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *ParameterGroup) AWSCloudFormationType() string { func (r ParameterGroup) MarshalJSON() ([]byte, error) { type Properties ParameterGroup return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r ParameterGroup) MarshalJSON() ([]byte, error) { func (r *ParameterGroup) UnmarshalJSON(b []byte) error { type Properties ParameterGroup res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *ParameterGroup) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/elasticache/aws-elasticache-replicationgroup.go b/cloudformation/elasticache/aws-elasticache-replicationgroup.go index f1dd92f0c8..b248d37ebe 100644 --- a/cloudformation/elasticache/aws-elasticache-replicationgroup.go +++ b/cloudformation/elasticache/aws-elasticache-replicationgroup.go @@ -68,6 +68,11 @@ type ReplicationGroup struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-kmskeyid KmsKeyId string `json:"KmsKeyId,omitempty"` + // MultiAZEnabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-multiazenabled + MultiAZEnabled bool `json:"MultiAZEnabled,omitempty"` + // NodeGroupConfiguration AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-nodegroupconfiguration @@ -166,6 +171,9 @@ type ReplicationGroup struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -186,19 +194,21 @@ func (r *ReplicationGroup) AWSCloudFormationType() string { func (r ReplicationGroup) MarshalJSON() ([]byte, error) { type Properties ReplicationGroup return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -207,12 +217,13 @@ func (r ReplicationGroup) MarshalJSON() ([]byte, error) { func (r *ReplicationGroup) UnmarshalJSON(b []byte) error { type Properties ReplicationGroup res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -236,6 +247,9 @@ func (r *ReplicationGroup) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/elasticache/aws-elasticache-replicationgroup_nodegroupconfiguration.go b/cloudformation/elasticache/aws-elasticache-replicationgroup_nodegroupconfiguration.go index 47b1e341c7..eea5aef41e 100644 --- a/cloudformation/elasticache/aws-elasticache-replicationgroup_nodegroupconfiguration.go +++ b/cloudformation/elasticache/aws-elasticache-replicationgroup_nodegroupconfiguration.go @@ -36,6 +36,9 @@ type ReplicationGroup_NodeGroupConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticache/aws-elasticache-securitygroup.go b/cloudformation/elasticache/aws-elasticache-securitygroup.go index 7f7a86a6b3..e639cbf52d 100644 --- a/cloudformation/elasticache/aws-elasticache-securitygroup.go +++ b/cloudformation/elasticache/aws-elasticache-securitygroup.go @@ -20,6 +20,9 @@ type SecurityGroup struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -40,19 +43,21 @@ func (r *SecurityGroup) AWSCloudFormationType() string { func (r SecurityGroup) MarshalJSON() ([]byte, error) { type Properties SecurityGroup return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -61,12 +66,13 @@ func (r SecurityGroup) MarshalJSON() ([]byte, error) { func (r *SecurityGroup) UnmarshalJSON(b []byte) error { type Properties SecurityGroup res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -90,6 +96,9 @@ func (r *SecurityGroup) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/elasticache/aws-elasticache-securitygroupingress.go b/cloudformation/elasticache/aws-elasticache-securitygroupingress.go index 56068e42e6..bf6fec82d6 100644 --- a/cloudformation/elasticache/aws-elasticache-securitygroupingress.go +++ b/cloudformation/elasticache/aws-elasticache-securitygroupingress.go @@ -30,6 +30,9 @@ type SecurityGroupIngress struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *SecurityGroupIngress) AWSCloudFormationType() string { func (r SecurityGroupIngress) MarshalJSON() ([]byte, error) { type Properties SecurityGroupIngress return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r SecurityGroupIngress) MarshalJSON() ([]byte, error) { func (r *SecurityGroupIngress) UnmarshalJSON(b []byte) error { type Properties SecurityGroupIngress res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *SecurityGroupIngress) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/elasticache/aws-elasticache-subnetgroup.go b/cloudformation/elasticache/aws-elasticache-subnetgroup.go index 5b1f08a745..3a0a6e4089 100644 --- a/cloudformation/elasticache/aws-elasticache-subnetgroup.go +++ b/cloudformation/elasticache/aws-elasticache-subnetgroup.go @@ -30,6 +30,9 @@ type SubnetGroup struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *SubnetGroup) AWSCloudFormationType() string { func (r SubnetGroup) MarshalJSON() ([]byte, error) { type Properties SubnetGroup return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r SubnetGroup) MarshalJSON() ([]byte, error) { func (r *SubnetGroup) UnmarshalJSON(b []byte) error { type Properties SubnetGroup res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *SubnetGroup) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-application.go b/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-application.go index dc34f1cc6e..6dd921af12 100644 --- a/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-application.go +++ b/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-application.go @@ -30,6 +30,9 @@ type Application struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *Application) AWSCloudFormationType() string { func (r Application) MarshalJSON() ([]byte, error) { type Properties Application return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r Application) MarshalJSON() ([]byte, error) { func (r *Application) UnmarshalJSON(b []byte) error { type Properties Application res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *Application) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-application_applicationresourcelifecycleconfig.go b/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-application_applicationresourcelifecycleconfig.go index ced2c36177..dee650b523 100644 --- a/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-application_applicationresourcelifecycleconfig.go +++ b/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-application_applicationresourcelifecycleconfig.go @@ -21,6 +21,9 @@ type Application_ApplicationResourceLifecycleConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-application_applicationversionlifecycleconfig.go b/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-application_applicationversionlifecycleconfig.go index 7bd7d7e702..62d57a3ff0 100644 --- a/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-application_applicationversionlifecycleconfig.go +++ b/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-application_applicationversionlifecycleconfig.go @@ -21,6 +21,9 @@ type Application_ApplicationVersionLifecycleConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-application_maxagerule.go b/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-application_maxagerule.go index aa6bf01fe6..1cf5342f9e 100644 --- a/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-application_maxagerule.go +++ b/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-application_maxagerule.go @@ -26,6 +26,9 @@ type Application_MaxAgeRule struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-application_maxcountrule.go b/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-application_maxcountrule.go index 40ce53caf6..5caee371dd 100644 --- a/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-application_maxcountrule.go +++ b/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-application_maxcountrule.go @@ -26,6 +26,9 @@ type Application_MaxCountRule struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-applicationversion.go b/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-applicationversion.go index dd99f8aa7b..4174c692af 100644 --- a/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-applicationversion.go +++ b/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-applicationversion.go @@ -30,6 +30,9 @@ type ApplicationVersion struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *ApplicationVersion) AWSCloudFormationType() string { func (r ApplicationVersion) MarshalJSON() ([]byte, error) { type Properties ApplicationVersion return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r ApplicationVersion) MarshalJSON() ([]byte, error) { func (r *ApplicationVersion) UnmarshalJSON(b []byte) error { type Properties ApplicationVersion res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *ApplicationVersion) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-applicationversion_sourcebundle.go b/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-applicationversion_sourcebundle.go index 21942bf9c0..90d2353acb 100644 --- a/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-applicationversion_sourcebundle.go +++ b/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-applicationversion_sourcebundle.go @@ -21,6 +21,9 @@ type ApplicationVersion_SourceBundle struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-configurationtemplate.go b/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-configurationtemplate.go index 7ce927a82b..ec982d78e0 100644 --- a/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-configurationtemplate.go +++ b/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-configurationtemplate.go @@ -50,6 +50,9 @@ type ConfigurationTemplate struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -70,19 +73,21 @@ func (r *ConfigurationTemplate) AWSCloudFormationType() string { func (r ConfigurationTemplate) MarshalJSON() ([]byte, error) { type Properties ConfigurationTemplate return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -91,12 +96,13 @@ func (r ConfigurationTemplate) MarshalJSON() ([]byte, error) { func (r *ConfigurationTemplate) UnmarshalJSON(b []byte) error { type Properties ConfigurationTemplate res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -120,6 +126,9 @@ func (r *ConfigurationTemplate) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-configurationtemplate_configurationoptionsetting.go b/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-configurationtemplate_configurationoptionsetting.go index 635a3caa6f..23f8c0c073 100644 --- a/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-configurationtemplate_configurationoptionsetting.go +++ b/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-configurationtemplate_configurationoptionsetting.go @@ -31,6 +31,9 @@ type ConfigurationTemplate_ConfigurationOptionSetting struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-configurationtemplate_sourceconfiguration.go b/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-configurationtemplate_sourceconfiguration.go index 7caf1bfe23..b07eec4b21 100644 --- a/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-configurationtemplate_sourceconfiguration.go +++ b/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-configurationtemplate_sourceconfiguration.go @@ -21,6 +21,9 @@ type ConfigurationTemplate_SourceConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-environment.go b/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-environment.go index 87da51d109..e7fa2bbf8c 100644 --- a/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-environment.go +++ b/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-environment.go @@ -71,6 +71,9 @@ type Environment struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -91,19 +94,21 @@ func (r *Environment) AWSCloudFormationType() string { func (r Environment) MarshalJSON() ([]byte, error) { type Properties Environment return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -112,12 +117,13 @@ func (r Environment) MarshalJSON() ([]byte, error) { func (r *Environment) UnmarshalJSON(b []byte) error { type Properties Environment res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -141,6 +147,9 @@ func (r *Environment) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-environment_optionsetting.go b/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-environment_optionsetting.go index cb2852bed3..e3b7ad8a20 100644 --- a/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-environment_optionsetting.go +++ b/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-environment_optionsetting.go @@ -31,6 +31,9 @@ type Environment_OptionSetting struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-environment_tier.go b/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-environment_tier.go index a470b02eb3..fcc362a7ea 100644 --- a/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-environment_tier.go +++ b/cloudformation/elasticbeanstalk/aws-elasticbeanstalk-environment_tier.go @@ -26,6 +26,9 @@ type Environment_Tier struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticloadbalancing/aws-elasticloadbalancing-loadbalancer.go b/cloudformation/elasticloadbalancing/aws-elasticloadbalancing-loadbalancer.go index 6c8bee2957..a83118cdf2 100644 --- a/cloudformation/elasticloadbalancing/aws-elasticloadbalancing-loadbalancer.go +++ b/cloudformation/elasticloadbalancing/aws-elasticloadbalancing-loadbalancer.go @@ -96,6 +96,9 @@ type LoadBalancer struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -116,19 +119,21 @@ func (r *LoadBalancer) AWSCloudFormationType() string { func (r LoadBalancer) MarshalJSON() ([]byte, error) { type Properties LoadBalancer return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -137,12 +142,13 @@ func (r LoadBalancer) MarshalJSON() ([]byte, error) { func (r *LoadBalancer) UnmarshalJSON(b []byte) error { type Properties LoadBalancer res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -166,6 +172,9 @@ func (r *LoadBalancer) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/elasticloadbalancing/aws-elasticloadbalancing-loadbalancer_accessloggingpolicy.go b/cloudformation/elasticloadbalancing/aws-elasticloadbalancing-loadbalancer_accessloggingpolicy.go index 998c15105a..3c78f3e45c 100644 --- a/cloudformation/elasticloadbalancing/aws-elasticloadbalancing-loadbalancer_accessloggingpolicy.go +++ b/cloudformation/elasticloadbalancing/aws-elasticloadbalancing-loadbalancer_accessloggingpolicy.go @@ -31,6 +31,9 @@ type LoadBalancer_AccessLoggingPolicy struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticloadbalancing/aws-elasticloadbalancing-loadbalancer_appcookiestickinesspolicy.go b/cloudformation/elasticloadbalancing/aws-elasticloadbalancing-loadbalancer_appcookiestickinesspolicy.go index 4241b1ec10..86cdeb68dd 100644 --- a/cloudformation/elasticloadbalancing/aws-elasticloadbalancing-loadbalancer_appcookiestickinesspolicy.go +++ b/cloudformation/elasticloadbalancing/aws-elasticloadbalancing-loadbalancer_appcookiestickinesspolicy.go @@ -21,6 +21,9 @@ type LoadBalancer_AppCookieStickinessPolicy struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticloadbalancing/aws-elasticloadbalancing-loadbalancer_connectiondrainingpolicy.go b/cloudformation/elasticloadbalancing/aws-elasticloadbalancing-loadbalancer_connectiondrainingpolicy.go index c9ec904a57..a3d367fca4 100644 --- a/cloudformation/elasticloadbalancing/aws-elasticloadbalancing-loadbalancer_connectiondrainingpolicy.go +++ b/cloudformation/elasticloadbalancing/aws-elasticloadbalancing-loadbalancer_connectiondrainingpolicy.go @@ -21,6 +21,9 @@ type LoadBalancer_ConnectionDrainingPolicy struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticloadbalancing/aws-elasticloadbalancing-loadbalancer_connectionsettings.go b/cloudformation/elasticloadbalancing/aws-elasticloadbalancing-loadbalancer_connectionsettings.go index 65965bc461..b8d922e707 100644 --- a/cloudformation/elasticloadbalancing/aws-elasticloadbalancing-loadbalancer_connectionsettings.go +++ b/cloudformation/elasticloadbalancing/aws-elasticloadbalancing-loadbalancer_connectionsettings.go @@ -16,6 +16,9 @@ type LoadBalancer_ConnectionSettings struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticloadbalancing/aws-elasticloadbalancing-loadbalancer_healthcheck.go b/cloudformation/elasticloadbalancing/aws-elasticloadbalancing-loadbalancer_healthcheck.go index 5e9d008e25..6050af4bb3 100644 --- a/cloudformation/elasticloadbalancing/aws-elasticloadbalancing-loadbalancer_healthcheck.go +++ b/cloudformation/elasticloadbalancing/aws-elasticloadbalancing-loadbalancer_healthcheck.go @@ -36,6 +36,9 @@ type LoadBalancer_HealthCheck struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticloadbalancing/aws-elasticloadbalancing-loadbalancer_lbcookiestickinesspolicy.go b/cloudformation/elasticloadbalancing/aws-elasticloadbalancing-loadbalancer_lbcookiestickinesspolicy.go index 2d060a5f8c..50219455d3 100644 --- a/cloudformation/elasticloadbalancing/aws-elasticloadbalancing-loadbalancer_lbcookiestickinesspolicy.go +++ b/cloudformation/elasticloadbalancing/aws-elasticloadbalancing-loadbalancer_lbcookiestickinesspolicy.go @@ -21,6 +21,9 @@ type LoadBalancer_LBCookieStickinessPolicy struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticloadbalancing/aws-elasticloadbalancing-loadbalancer_listeners.go b/cloudformation/elasticloadbalancing/aws-elasticloadbalancing-loadbalancer_listeners.go index 8139c8172d..828981404e 100644 --- a/cloudformation/elasticloadbalancing/aws-elasticloadbalancing-loadbalancer_listeners.go +++ b/cloudformation/elasticloadbalancing/aws-elasticloadbalancing-loadbalancer_listeners.go @@ -41,6 +41,9 @@ type LoadBalancer_Listeners struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticloadbalancing/aws-elasticloadbalancing-loadbalancer_policies.go b/cloudformation/elasticloadbalancing/aws-elasticloadbalancing-loadbalancer_policies.go index 20e96f4d9f..24a01f21ef 100644 --- a/cloudformation/elasticloadbalancing/aws-elasticloadbalancing-loadbalancer_policies.go +++ b/cloudformation/elasticloadbalancing/aws-elasticloadbalancing-loadbalancer_policies.go @@ -36,6 +36,9 @@ type LoadBalancer_Policies struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener.go index 4f337ace14..c72c263569 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener.go @@ -45,6 +45,9 @@ type Listener struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -65,19 +68,21 @@ func (r *Listener) AWSCloudFormationType() string { func (r Listener) MarshalJSON() ([]byte, error) { type Properties Listener return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -86,12 +91,13 @@ func (r Listener) MarshalJSON() ([]byte, error) { func (r *Listener) UnmarshalJSON(b []byte) error { type Properties Listener res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -115,6 +121,9 @@ func (r *Listener) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_action.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_action.go index 4762a1e907..8f56942663 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_action.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_action.go @@ -51,6 +51,9 @@ type Listener_Action struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_authenticatecognitoconfig.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_authenticatecognitoconfig.go index b0dbc7eebf..34d5bb728c 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_authenticatecognitoconfig.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_authenticatecognitoconfig.go @@ -51,6 +51,9 @@ type Listener_AuthenticateCognitoConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_authenticateoidcconfig.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_authenticateoidcconfig.go index d11b732711..2d6bc1c2c6 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_authenticateoidcconfig.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_authenticateoidcconfig.go @@ -66,6 +66,9 @@ type Listener_AuthenticateOidcConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_certificate.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_certificate.go index 9c667ba0da..2c4ec95237 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_certificate.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_certificate.go @@ -16,6 +16,9 @@ type Listener_Certificate struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_fixedresponseconfig.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_fixedresponseconfig.go index a4d3eefe39..40d74aacb5 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_fixedresponseconfig.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_fixedresponseconfig.go @@ -26,6 +26,9 @@ type Listener_FixedResponseConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_forwardconfig.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_forwardconfig.go index 4c17af8906..f5af9aac0a 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_forwardconfig.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_forwardconfig.go @@ -21,6 +21,9 @@ type Listener_ForwardConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_redirectconfig.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_redirectconfig.go index 0a9e755a69..243e276fb4 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_redirectconfig.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_redirectconfig.go @@ -41,6 +41,9 @@ type Listener_RedirectConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_targetgroupstickinessconfig.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_targetgroupstickinessconfig.go index db58c3c39c..111de7a75b 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_targetgroupstickinessconfig.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_targetgroupstickinessconfig.go @@ -21,6 +21,9 @@ type Listener_TargetGroupStickinessConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_targetgrouptuple.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_targetgrouptuple.go index f6f71f8f41..46e432baa2 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_targetgrouptuple.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_targetgrouptuple.go @@ -21,6 +21,9 @@ type Listener_TargetGroupTuple struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenercertificate.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenercertificate.go index c85990d25e..2bfbd230bb 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenercertificate.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenercertificate.go @@ -25,6 +25,9 @@ type ListenerCertificate struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *ListenerCertificate) AWSCloudFormationType() string { func (r ListenerCertificate) MarshalJSON() ([]byte, error) { type Properties ListenerCertificate return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r ListenerCertificate) MarshalJSON() ([]byte, error) { func (r *ListenerCertificate) UnmarshalJSON(b []byte) error { type Properties ListenerCertificate res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *ListenerCertificate) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenercertificate_certificate.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenercertificate_certificate.go index 3e84e6d20f..6e5797f455 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenercertificate_certificate.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenercertificate_certificate.go @@ -16,6 +16,9 @@ type ListenerCertificate_Certificate struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule.go index 42420ccd18..eb2e7ec6bd 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule.go @@ -35,6 +35,9 @@ type ListenerRule struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -55,19 +58,21 @@ func (r *ListenerRule) AWSCloudFormationType() string { func (r ListenerRule) MarshalJSON() ([]byte, error) { type Properties ListenerRule return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -76,12 +81,13 @@ func (r ListenerRule) MarshalJSON() ([]byte, error) { func (r *ListenerRule) UnmarshalJSON(b []byte) error { type Properties ListenerRule res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -105,6 +111,9 @@ func (r *ListenerRule) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_action.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_action.go index 9137277f45..8d98750fd8 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_action.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_action.go @@ -51,6 +51,9 @@ type ListenerRule_Action struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_authenticatecognitoconfig.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_authenticatecognitoconfig.go index 41674b9c68..fe2779b0e1 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_authenticatecognitoconfig.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_authenticatecognitoconfig.go @@ -51,6 +51,9 @@ type ListenerRule_AuthenticateCognitoConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_authenticateoidcconfig.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_authenticateoidcconfig.go index f13ae557aa..19d94890b4 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_authenticateoidcconfig.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_authenticateoidcconfig.go @@ -66,6 +66,9 @@ type ListenerRule_AuthenticateOidcConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_fixedresponseconfig.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_fixedresponseconfig.go index 68f21fde74..cdcd6fb128 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_fixedresponseconfig.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_fixedresponseconfig.go @@ -26,6 +26,9 @@ type ListenerRule_FixedResponseConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_forwardconfig.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_forwardconfig.go index 705ba7d74a..4583066ee4 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_forwardconfig.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_forwardconfig.go @@ -21,6 +21,9 @@ type ListenerRule_ForwardConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_hostheaderconfig.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_hostheaderconfig.go index 51e002cb5d..712946db74 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_hostheaderconfig.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_hostheaderconfig.go @@ -16,6 +16,9 @@ type ListenerRule_HostHeaderConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_httpheaderconfig.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_httpheaderconfig.go index 1e469bacae..e4464616ff 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_httpheaderconfig.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_httpheaderconfig.go @@ -21,6 +21,9 @@ type ListenerRule_HttpHeaderConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_httprequestmethodconfig.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_httprequestmethodconfig.go index 9d84ed4fb1..996eedeff6 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_httprequestmethodconfig.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_httprequestmethodconfig.go @@ -16,6 +16,9 @@ type ListenerRule_HttpRequestMethodConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_pathpatternconfig.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_pathpatternconfig.go index 308d03941c..9b7f55efb1 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_pathpatternconfig.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_pathpatternconfig.go @@ -16,6 +16,9 @@ type ListenerRule_PathPatternConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_querystringconfig.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_querystringconfig.go index 14ee30f2de..e7db4ffd8a 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_querystringconfig.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_querystringconfig.go @@ -16,6 +16,9 @@ type ListenerRule_QueryStringConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_querystringkeyvalue.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_querystringkeyvalue.go index cace901584..d8b136e496 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_querystringkeyvalue.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_querystringkeyvalue.go @@ -21,6 +21,9 @@ type ListenerRule_QueryStringKeyValue struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_redirectconfig.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_redirectconfig.go index 5d3c5a03a5..efd3b6ea3d 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_redirectconfig.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_redirectconfig.go @@ -41,6 +41,9 @@ type ListenerRule_RedirectConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_rulecondition.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_rulecondition.go index 64d3143479..f28338c825 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_rulecondition.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_rulecondition.go @@ -51,6 +51,9 @@ type ListenerRule_RuleCondition struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_sourceipconfig.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_sourceipconfig.go index 0db6093579..be8f471707 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_sourceipconfig.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_sourceipconfig.go @@ -16,6 +16,9 @@ type ListenerRule_SourceIpConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_targetgroupstickinessconfig.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_targetgroupstickinessconfig.go index 366eb58875..e8854eb686 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_targetgroupstickinessconfig.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_targetgroupstickinessconfig.go @@ -21,6 +21,9 @@ type ListenerRule_TargetGroupStickinessConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_targetgrouptuple.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_targetgrouptuple.go index ae32d64bf8..bb8c0deaee 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_targetgrouptuple.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_targetgrouptuple.go @@ -21,6 +21,9 @@ type ListenerRule_TargetGroupTuple struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-loadbalancer.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-loadbalancer.go index b200788224..93bcd4a9dd 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-loadbalancer.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-loadbalancer.go @@ -61,6 +61,9 @@ type LoadBalancer struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -81,19 +84,21 @@ func (r *LoadBalancer) AWSCloudFormationType() string { func (r LoadBalancer) MarshalJSON() ([]byte, error) { type Properties LoadBalancer return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -102,12 +107,13 @@ func (r LoadBalancer) MarshalJSON() ([]byte, error) { func (r *LoadBalancer) UnmarshalJSON(b []byte) error { type Properties LoadBalancer res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -131,6 +137,9 @@ func (r *LoadBalancer) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-loadbalancer_loadbalancerattribute.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-loadbalancer_loadbalancerattribute.go index 867cdcf6df..05910e9bd8 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-loadbalancer_loadbalancerattribute.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-loadbalancer_loadbalancerattribute.go @@ -21,6 +21,9 @@ type LoadBalancer_LoadBalancerAttribute struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-loadbalancer_subnetmapping.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-loadbalancer_subnetmapping.go index 07fdf37681..84901f5fab 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-loadbalancer_subnetmapping.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-loadbalancer_subnetmapping.go @@ -9,10 +9,15 @@ import ( type LoadBalancer_SubnetMapping struct { // AllocationId AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-loadbalancer-subnetmapping.html#cfn-elasticloadbalancingv2-loadbalancer-subnetmapping-allocationid AllocationId string `json:"AllocationId,omitempty"` + // PrivateIPv4Address AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-loadbalancer-subnetmapping.html#cfn-elasticloadbalancingv2-loadbalancer-subnetmapping-privateipv4address + PrivateIPv4Address string `json:"PrivateIPv4Address,omitempty"` + // SubnetId AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-loadbalancer-subnetmapping.html#cfn-elasticloadbalancingv2-loadbalancer-subnetmapping-subnetid @@ -21,6 +26,9 @@ type LoadBalancer_SubnetMapping struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-targetgroup.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-targetgroup.go index 149d8b48d8..47a2655c04 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-targetgroup.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-targetgroup.go @@ -101,6 +101,9 @@ type TargetGroup struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -121,19 +124,21 @@ func (r *TargetGroup) AWSCloudFormationType() string { func (r TargetGroup) MarshalJSON() ([]byte, error) { type Properties TargetGroup return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -142,12 +147,13 @@ func (r TargetGroup) MarshalJSON() ([]byte, error) { func (r *TargetGroup) UnmarshalJSON(b []byte) error { type Properties TargetGroup res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -171,6 +177,9 @@ func (r *TargetGroup) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-targetgroup_matcher.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-targetgroup_matcher.go index d6b56e2082..31ca47e891 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-targetgroup_matcher.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-targetgroup_matcher.go @@ -16,6 +16,9 @@ type TargetGroup_Matcher struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-targetgroup_targetdescription.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-targetgroup_targetdescription.go index 8674615160..af68e4f7f1 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-targetgroup_targetdescription.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-targetgroup_targetdescription.go @@ -26,6 +26,9 @@ type TargetGroup_TargetDescription struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-targetgroup_targetgroupattribute.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-targetgroup_targetgroupattribute.go index 398e8d83cd..6255b311c7 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-targetgroup_targetgroupattribute.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-targetgroup_targetgroupattribute.go @@ -21,6 +21,9 @@ type TargetGroup_TargetGroupAttribute struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticsearch/aws-elasticsearch-domain.go b/cloudformation/elasticsearch/aws-elasticsearch-domain.go index fbc30de1af..15ef6d2478 100644 --- a/cloudformation/elasticsearch/aws-elasticsearch-domain.go +++ b/cloudformation/elasticsearch/aws-elasticsearch-domain.go @@ -81,6 +81,9 @@ type Domain struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -101,19 +104,21 @@ func (r *Domain) AWSCloudFormationType() string { func (r Domain) MarshalJSON() ([]byte, error) { type Properties Domain return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -122,12 +127,13 @@ func (r Domain) MarshalJSON() ([]byte, error) { func (r *Domain) UnmarshalJSON(b []byte) error { type Properties Domain res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -151,6 +157,9 @@ func (r *Domain) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/elasticsearch/aws-elasticsearch-domain_cognitooptions.go b/cloudformation/elasticsearch/aws-elasticsearch-domain_cognitooptions.go index 3c7570d061..66b8b742e4 100644 --- a/cloudformation/elasticsearch/aws-elasticsearch-domain_cognitooptions.go +++ b/cloudformation/elasticsearch/aws-elasticsearch-domain_cognitooptions.go @@ -31,6 +31,9 @@ type Domain_CognitoOptions struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticsearch/aws-elasticsearch-domain_ebsoptions.go b/cloudformation/elasticsearch/aws-elasticsearch-domain_ebsoptions.go index aa43e84c55..210dc7b46e 100644 --- a/cloudformation/elasticsearch/aws-elasticsearch-domain_ebsoptions.go +++ b/cloudformation/elasticsearch/aws-elasticsearch-domain_ebsoptions.go @@ -31,6 +31,9 @@ type Domain_EBSOptions struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticsearch/aws-elasticsearch-domain_elasticsearchclusterconfig.go b/cloudformation/elasticsearch/aws-elasticsearch-domain_elasticsearchclusterconfig.go index 36e8077d70..4a553a54e6 100644 --- a/cloudformation/elasticsearch/aws-elasticsearch-domain_elasticsearchclusterconfig.go +++ b/cloudformation/elasticsearch/aws-elasticsearch-domain_elasticsearchclusterconfig.go @@ -46,6 +46,9 @@ type Domain_ElasticsearchClusterConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticsearch/aws-elasticsearch-domain_encryptionatrestoptions.go b/cloudformation/elasticsearch/aws-elasticsearch-domain_encryptionatrestoptions.go index a0a65549f0..ba4386435c 100644 --- a/cloudformation/elasticsearch/aws-elasticsearch-domain_encryptionatrestoptions.go +++ b/cloudformation/elasticsearch/aws-elasticsearch-domain_encryptionatrestoptions.go @@ -21,6 +21,9 @@ type Domain_EncryptionAtRestOptions struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticsearch/aws-elasticsearch-domain_logpublishingoption.go b/cloudformation/elasticsearch/aws-elasticsearch-domain_logpublishingoption.go index 4e349ac654..39fffbcca2 100644 --- a/cloudformation/elasticsearch/aws-elasticsearch-domain_logpublishingoption.go +++ b/cloudformation/elasticsearch/aws-elasticsearch-domain_logpublishingoption.go @@ -21,6 +21,9 @@ type Domain_LogPublishingOption struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticsearch/aws-elasticsearch-domain_nodetonodeencryptionoptions.go b/cloudformation/elasticsearch/aws-elasticsearch-domain_nodetonodeencryptionoptions.go index 9a5bcf2038..936dd58bb8 100644 --- a/cloudformation/elasticsearch/aws-elasticsearch-domain_nodetonodeencryptionoptions.go +++ b/cloudformation/elasticsearch/aws-elasticsearch-domain_nodetonodeencryptionoptions.go @@ -16,6 +16,9 @@ type Domain_NodeToNodeEncryptionOptions struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticsearch/aws-elasticsearch-domain_snapshotoptions.go b/cloudformation/elasticsearch/aws-elasticsearch-domain_snapshotoptions.go index 720697d1d6..4f318574ad 100644 --- a/cloudformation/elasticsearch/aws-elasticsearch-domain_snapshotoptions.go +++ b/cloudformation/elasticsearch/aws-elasticsearch-domain_snapshotoptions.go @@ -16,6 +16,9 @@ type Domain_SnapshotOptions struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticsearch/aws-elasticsearch-domain_vpcoptions.go b/cloudformation/elasticsearch/aws-elasticsearch-domain_vpcoptions.go index 1c2ed8df99..5df9bf2b7c 100644 --- a/cloudformation/elasticsearch/aws-elasticsearch-domain_vpcoptions.go +++ b/cloudformation/elasticsearch/aws-elasticsearch-domain_vpcoptions.go @@ -21,6 +21,9 @@ type Domain_VPCOptions struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/elasticsearch/aws-elasticsearch-domain_zoneawarenessconfig.go b/cloudformation/elasticsearch/aws-elasticsearch-domain_zoneawarenessconfig.go index a647bbc82e..e704f89f54 100644 --- a/cloudformation/elasticsearch/aws-elasticsearch-domain_zoneawarenessconfig.go +++ b/cloudformation/elasticsearch/aws-elasticsearch-domain_zoneawarenessconfig.go @@ -16,6 +16,9 @@ type Domain_ZoneAwarenessConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/emr/aws-emr-cluster.go b/cloudformation/emr/aws-emr-cluster.go index 33bb231ac7..428d98ebbf 100644 --- a/cloudformation/emr/aws-emr-cluster.go +++ b/cloudformation/emr/aws-emr-cluster.go @@ -111,6 +111,9 @@ type Cluster struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -131,19 +134,21 @@ func (r *Cluster) AWSCloudFormationType() string { func (r Cluster) MarshalJSON() ([]byte, error) { type Properties Cluster return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -152,12 +157,13 @@ func (r Cluster) MarshalJSON() ([]byte, error) { func (r *Cluster) UnmarshalJSON(b []byte) error { type Properties Cluster res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -181,6 +187,9 @@ func (r *Cluster) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/emr/aws-emr-cluster_application.go b/cloudformation/emr/aws-emr-cluster_application.go index 82c1dc8261..9b1def1978 100644 --- a/cloudformation/emr/aws-emr-cluster_application.go +++ b/cloudformation/emr/aws-emr-cluster_application.go @@ -31,6 +31,9 @@ type Cluster_Application struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/emr/aws-emr-cluster_autoscalingpolicy.go b/cloudformation/emr/aws-emr-cluster_autoscalingpolicy.go index 0373d35a35..5163856b09 100644 --- a/cloudformation/emr/aws-emr-cluster_autoscalingpolicy.go +++ b/cloudformation/emr/aws-emr-cluster_autoscalingpolicy.go @@ -21,6 +21,9 @@ type Cluster_AutoScalingPolicy struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/emr/aws-emr-cluster_bootstrapactionconfig.go b/cloudformation/emr/aws-emr-cluster_bootstrapactionconfig.go index e8b9f19be5..35fd47a72d 100644 --- a/cloudformation/emr/aws-emr-cluster_bootstrapactionconfig.go +++ b/cloudformation/emr/aws-emr-cluster_bootstrapactionconfig.go @@ -21,6 +21,9 @@ type Cluster_BootstrapActionConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/emr/aws-emr-cluster_cloudwatchalarmdefinition.go b/cloudformation/emr/aws-emr-cluster_cloudwatchalarmdefinition.go index 3055e6705a..12aceb502c 100644 --- a/cloudformation/emr/aws-emr-cluster_cloudwatchalarmdefinition.go +++ b/cloudformation/emr/aws-emr-cluster_cloudwatchalarmdefinition.go @@ -56,6 +56,9 @@ type Cluster_CloudWatchAlarmDefinition struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/emr/aws-emr-cluster_configuration.go b/cloudformation/emr/aws-emr-cluster_configuration.go index e15f2e7617..0e926fbcbd 100644 --- a/cloudformation/emr/aws-emr-cluster_configuration.go +++ b/cloudformation/emr/aws-emr-cluster_configuration.go @@ -26,6 +26,9 @@ type Cluster_Configuration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/emr/aws-emr-cluster_ebsblockdeviceconfig.go b/cloudformation/emr/aws-emr-cluster_ebsblockdeviceconfig.go index 9404c86909..783ee9d274 100644 --- a/cloudformation/emr/aws-emr-cluster_ebsblockdeviceconfig.go +++ b/cloudformation/emr/aws-emr-cluster_ebsblockdeviceconfig.go @@ -21,6 +21,9 @@ type Cluster_EbsBlockDeviceConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/emr/aws-emr-cluster_ebsconfiguration.go b/cloudformation/emr/aws-emr-cluster_ebsconfiguration.go index 3551d73756..6ee996bca7 100644 --- a/cloudformation/emr/aws-emr-cluster_ebsconfiguration.go +++ b/cloudformation/emr/aws-emr-cluster_ebsconfiguration.go @@ -21,6 +21,9 @@ type Cluster_EbsConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/emr/aws-emr-cluster_hadoopjarstepconfig.go b/cloudformation/emr/aws-emr-cluster_hadoopjarstepconfig.go index 3f84b7d059..43152e53a2 100644 --- a/cloudformation/emr/aws-emr-cluster_hadoopjarstepconfig.go +++ b/cloudformation/emr/aws-emr-cluster_hadoopjarstepconfig.go @@ -31,6 +31,9 @@ type Cluster_HadoopJarStepConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/emr/aws-emr-cluster_instancefleetconfig.go b/cloudformation/emr/aws-emr-cluster_instancefleetconfig.go index f3c99beccf..1e4393e118 100644 --- a/cloudformation/emr/aws-emr-cluster_instancefleetconfig.go +++ b/cloudformation/emr/aws-emr-cluster_instancefleetconfig.go @@ -36,6 +36,9 @@ type Cluster_InstanceFleetConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/emr/aws-emr-cluster_instancefleetprovisioningspecifications.go b/cloudformation/emr/aws-emr-cluster_instancefleetprovisioningspecifications.go index 2b00398257..5f94e7187f 100644 --- a/cloudformation/emr/aws-emr-cluster_instancefleetprovisioningspecifications.go +++ b/cloudformation/emr/aws-emr-cluster_instancefleetprovisioningspecifications.go @@ -16,6 +16,9 @@ type Cluster_InstanceFleetProvisioningSpecifications struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/emr/aws-emr-cluster_instancegroupconfig.go b/cloudformation/emr/aws-emr-cluster_instancegroupconfig.go index 3b142a6ad3..2916b5fcbb 100644 --- a/cloudformation/emr/aws-emr-cluster_instancegroupconfig.go +++ b/cloudformation/emr/aws-emr-cluster_instancegroupconfig.go @@ -51,6 +51,9 @@ type Cluster_InstanceGroupConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/emr/aws-emr-cluster_instancetypeconfig.go b/cloudformation/emr/aws-emr-cluster_instancetypeconfig.go index a55e36a13d..9a1bda1eb2 100644 --- a/cloudformation/emr/aws-emr-cluster_instancetypeconfig.go +++ b/cloudformation/emr/aws-emr-cluster_instancetypeconfig.go @@ -41,6 +41,9 @@ type Cluster_InstanceTypeConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/emr/aws-emr-cluster_jobflowinstancesconfig.go b/cloudformation/emr/aws-emr-cluster_jobflowinstancesconfig.go index 950ca24581..d174275cb2 100644 --- a/cloudformation/emr/aws-emr-cluster_jobflowinstancesconfig.go +++ b/cloudformation/emr/aws-emr-cluster_jobflowinstancesconfig.go @@ -91,6 +91,9 @@ type Cluster_JobFlowInstancesConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/emr/aws-emr-cluster_kerberosattributes.go b/cloudformation/emr/aws-emr-cluster_kerberosattributes.go index 8721e48e43..219caa9673 100644 --- a/cloudformation/emr/aws-emr-cluster_kerberosattributes.go +++ b/cloudformation/emr/aws-emr-cluster_kerberosattributes.go @@ -36,6 +36,9 @@ type Cluster_KerberosAttributes struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/emr/aws-emr-cluster_keyvalue.go b/cloudformation/emr/aws-emr-cluster_keyvalue.go index 33400ab93c..1a077cc5fb 100644 --- a/cloudformation/emr/aws-emr-cluster_keyvalue.go +++ b/cloudformation/emr/aws-emr-cluster_keyvalue.go @@ -21,6 +21,9 @@ type Cluster_KeyValue struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/emr/aws-emr-cluster_metricdimension.go b/cloudformation/emr/aws-emr-cluster_metricdimension.go index 7ca88b9229..1b7cfed3f5 100644 --- a/cloudformation/emr/aws-emr-cluster_metricdimension.go +++ b/cloudformation/emr/aws-emr-cluster_metricdimension.go @@ -21,6 +21,9 @@ type Cluster_MetricDimension struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/emr/aws-emr-cluster_placementtype.go b/cloudformation/emr/aws-emr-cluster_placementtype.go index 2fdf7774ca..f9b00720fa 100644 --- a/cloudformation/emr/aws-emr-cluster_placementtype.go +++ b/cloudformation/emr/aws-emr-cluster_placementtype.go @@ -16,6 +16,9 @@ type Cluster_PlacementType struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/emr/aws-emr-cluster_scalingaction.go b/cloudformation/emr/aws-emr-cluster_scalingaction.go index 4c2e807a90..6a3eb408be 100644 --- a/cloudformation/emr/aws-emr-cluster_scalingaction.go +++ b/cloudformation/emr/aws-emr-cluster_scalingaction.go @@ -21,6 +21,9 @@ type Cluster_ScalingAction struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/emr/aws-emr-cluster_scalingconstraints.go b/cloudformation/emr/aws-emr-cluster_scalingconstraints.go index ab0334da8b..307d2bf82b 100644 --- a/cloudformation/emr/aws-emr-cluster_scalingconstraints.go +++ b/cloudformation/emr/aws-emr-cluster_scalingconstraints.go @@ -21,6 +21,9 @@ type Cluster_ScalingConstraints struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/emr/aws-emr-cluster_scalingrule.go b/cloudformation/emr/aws-emr-cluster_scalingrule.go index 6274385611..934d8744bc 100644 --- a/cloudformation/emr/aws-emr-cluster_scalingrule.go +++ b/cloudformation/emr/aws-emr-cluster_scalingrule.go @@ -31,6 +31,9 @@ type Cluster_ScalingRule struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/emr/aws-emr-cluster_scalingtrigger.go b/cloudformation/emr/aws-emr-cluster_scalingtrigger.go index 3ffea93042..3bc9f116aa 100644 --- a/cloudformation/emr/aws-emr-cluster_scalingtrigger.go +++ b/cloudformation/emr/aws-emr-cluster_scalingtrigger.go @@ -16,6 +16,9 @@ type Cluster_ScalingTrigger struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/emr/aws-emr-cluster_scriptbootstrapactionconfig.go b/cloudformation/emr/aws-emr-cluster_scriptbootstrapactionconfig.go index c5f2acff03..216bfacd08 100644 --- a/cloudformation/emr/aws-emr-cluster_scriptbootstrapactionconfig.go +++ b/cloudformation/emr/aws-emr-cluster_scriptbootstrapactionconfig.go @@ -21,6 +21,9 @@ type Cluster_ScriptBootstrapActionConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/emr/aws-emr-cluster_simplescalingpolicyconfiguration.go b/cloudformation/emr/aws-emr-cluster_simplescalingpolicyconfiguration.go index f8e2a2d26a..431f322572 100644 --- a/cloudformation/emr/aws-emr-cluster_simplescalingpolicyconfiguration.go +++ b/cloudformation/emr/aws-emr-cluster_simplescalingpolicyconfiguration.go @@ -26,6 +26,9 @@ type Cluster_SimpleScalingPolicyConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/emr/aws-emr-cluster_spotprovisioningspecification.go b/cloudformation/emr/aws-emr-cluster_spotprovisioningspecification.go index 74438f7adf..ae4139a24f 100644 --- a/cloudformation/emr/aws-emr-cluster_spotprovisioningspecification.go +++ b/cloudformation/emr/aws-emr-cluster_spotprovisioningspecification.go @@ -26,6 +26,9 @@ type Cluster_SpotProvisioningSpecification struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/emr/aws-emr-cluster_stepconfig.go b/cloudformation/emr/aws-emr-cluster_stepconfig.go index 0d0dd14e75..53a5eb4696 100644 --- a/cloudformation/emr/aws-emr-cluster_stepconfig.go +++ b/cloudformation/emr/aws-emr-cluster_stepconfig.go @@ -26,6 +26,9 @@ type Cluster_StepConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/emr/aws-emr-cluster_volumespecification.go b/cloudformation/emr/aws-emr-cluster_volumespecification.go index 6d3a8720e8..265f21b59e 100644 --- a/cloudformation/emr/aws-emr-cluster_volumespecification.go +++ b/cloudformation/emr/aws-emr-cluster_volumespecification.go @@ -26,6 +26,9 @@ type Cluster_VolumeSpecification struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/emr/aws-emr-instancefleetconfig.go b/cloudformation/emr/aws-emr-instancefleetconfig.go index 5f3ea0cba5..c9f69ac937 100644 --- a/cloudformation/emr/aws-emr-instancefleetconfig.go +++ b/cloudformation/emr/aws-emr-instancefleetconfig.go @@ -50,6 +50,9 @@ type InstanceFleetConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -70,19 +73,21 @@ func (r *InstanceFleetConfig) AWSCloudFormationType() string { func (r InstanceFleetConfig) MarshalJSON() ([]byte, error) { type Properties InstanceFleetConfig return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -91,12 +96,13 @@ func (r InstanceFleetConfig) MarshalJSON() ([]byte, error) { func (r *InstanceFleetConfig) UnmarshalJSON(b []byte) error { type Properties InstanceFleetConfig res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -120,6 +126,9 @@ func (r *InstanceFleetConfig) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/emr/aws-emr-instancefleetconfig_configuration.go b/cloudformation/emr/aws-emr-instancefleetconfig_configuration.go index 1b24a67264..b99dcae163 100644 --- a/cloudformation/emr/aws-emr-instancefleetconfig_configuration.go +++ b/cloudformation/emr/aws-emr-instancefleetconfig_configuration.go @@ -26,6 +26,9 @@ type InstanceFleetConfig_Configuration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/emr/aws-emr-instancefleetconfig_ebsblockdeviceconfig.go b/cloudformation/emr/aws-emr-instancefleetconfig_ebsblockdeviceconfig.go index 37ab4c3164..e065844b8b 100644 --- a/cloudformation/emr/aws-emr-instancefleetconfig_ebsblockdeviceconfig.go +++ b/cloudformation/emr/aws-emr-instancefleetconfig_ebsblockdeviceconfig.go @@ -21,6 +21,9 @@ type InstanceFleetConfig_EbsBlockDeviceConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/emr/aws-emr-instancefleetconfig_ebsconfiguration.go b/cloudformation/emr/aws-emr-instancefleetconfig_ebsconfiguration.go index 61b555917b..14841a11d5 100644 --- a/cloudformation/emr/aws-emr-instancefleetconfig_ebsconfiguration.go +++ b/cloudformation/emr/aws-emr-instancefleetconfig_ebsconfiguration.go @@ -21,6 +21,9 @@ type InstanceFleetConfig_EbsConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/emr/aws-emr-instancefleetconfig_instancefleetprovisioningspecifications.go b/cloudformation/emr/aws-emr-instancefleetconfig_instancefleetprovisioningspecifications.go index 364f8c2851..4886bd2411 100644 --- a/cloudformation/emr/aws-emr-instancefleetconfig_instancefleetprovisioningspecifications.go +++ b/cloudformation/emr/aws-emr-instancefleetconfig_instancefleetprovisioningspecifications.go @@ -16,6 +16,9 @@ type InstanceFleetConfig_InstanceFleetProvisioningSpecifications struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/emr/aws-emr-instancefleetconfig_instancetypeconfig.go b/cloudformation/emr/aws-emr-instancefleetconfig_instancetypeconfig.go index fae2fb9d56..d5e1e4945b 100644 --- a/cloudformation/emr/aws-emr-instancefleetconfig_instancetypeconfig.go +++ b/cloudformation/emr/aws-emr-instancefleetconfig_instancetypeconfig.go @@ -41,6 +41,9 @@ type InstanceFleetConfig_InstanceTypeConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/emr/aws-emr-instancefleetconfig_spotprovisioningspecification.go b/cloudformation/emr/aws-emr-instancefleetconfig_spotprovisioningspecification.go index 72c6511ce6..faa41e4fc0 100644 --- a/cloudformation/emr/aws-emr-instancefleetconfig_spotprovisioningspecification.go +++ b/cloudformation/emr/aws-emr-instancefleetconfig_spotprovisioningspecification.go @@ -26,6 +26,9 @@ type InstanceFleetConfig_SpotProvisioningSpecification struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/emr/aws-emr-instancefleetconfig_volumespecification.go b/cloudformation/emr/aws-emr-instancefleetconfig_volumespecification.go index a663b37f86..4ffdd799bc 100644 --- a/cloudformation/emr/aws-emr-instancefleetconfig_volumespecification.go +++ b/cloudformation/emr/aws-emr-instancefleetconfig_volumespecification.go @@ -26,6 +26,9 @@ type InstanceFleetConfig_VolumeSpecification struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/emr/aws-emr-instancegroupconfig.go b/cloudformation/emr/aws-emr-instancegroupconfig.go index 8a1c54e408..b142558f43 100644 --- a/cloudformation/emr/aws-emr-instancegroupconfig.go +++ b/cloudformation/emr/aws-emr-instancegroupconfig.go @@ -65,6 +65,9 @@ type InstanceGroupConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -85,19 +88,21 @@ func (r *InstanceGroupConfig) AWSCloudFormationType() string { func (r InstanceGroupConfig) MarshalJSON() ([]byte, error) { type Properties InstanceGroupConfig return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -106,12 +111,13 @@ func (r InstanceGroupConfig) MarshalJSON() ([]byte, error) { func (r *InstanceGroupConfig) UnmarshalJSON(b []byte) error { type Properties InstanceGroupConfig res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -135,6 +141,9 @@ func (r *InstanceGroupConfig) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/emr/aws-emr-instancegroupconfig_autoscalingpolicy.go b/cloudformation/emr/aws-emr-instancegroupconfig_autoscalingpolicy.go index 5d652341e1..1f7dee2107 100644 --- a/cloudformation/emr/aws-emr-instancegroupconfig_autoscalingpolicy.go +++ b/cloudformation/emr/aws-emr-instancegroupconfig_autoscalingpolicy.go @@ -21,6 +21,9 @@ type InstanceGroupConfig_AutoScalingPolicy struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/emr/aws-emr-instancegroupconfig_cloudwatchalarmdefinition.go b/cloudformation/emr/aws-emr-instancegroupconfig_cloudwatchalarmdefinition.go index 3548d5c41b..e53c7f6fd3 100644 --- a/cloudformation/emr/aws-emr-instancegroupconfig_cloudwatchalarmdefinition.go +++ b/cloudformation/emr/aws-emr-instancegroupconfig_cloudwatchalarmdefinition.go @@ -56,6 +56,9 @@ type InstanceGroupConfig_CloudWatchAlarmDefinition struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/emr/aws-emr-instancegroupconfig_configuration.go b/cloudformation/emr/aws-emr-instancegroupconfig_configuration.go index 1791f36f1f..edfed20e42 100644 --- a/cloudformation/emr/aws-emr-instancegroupconfig_configuration.go +++ b/cloudformation/emr/aws-emr-instancegroupconfig_configuration.go @@ -26,6 +26,9 @@ type InstanceGroupConfig_Configuration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/emr/aws-emr-instancegroupconfig_ebsblockdeviceconfig.go b/cloudformation/emr/aws-emr-instancegroupconfig_ebsblockdeviceconfig.go index 904aba3563..c9b2953d0f 100644 --- a/cloudformation/emr/aws-emr-instancegroupconfig_ebsblockdeviceconfig.go +++ b/cloudformation/emr/aws-emr-instancegroupconfig_ebsblockdeviceconfig.go @@ -21,6 +21,9 @@ type InstanceGroupConfig_EbsBlockDeviceConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/emr/aws-emr-instancegroupconfig_ebsconfiguration.go b/cloudformation/emr/aws-emr-instancegroupconfig_ebsconfiguration.go index f297f8fc3d..95c5c1207f 100644 --- a/cloudformation/emr/aws-emr-instancegroupconfig_ebsconfiguration.go +++ b/cloudformation/emr/aws-emr-instancegroupconfig_ebsconfiguration.go @@ -21,6 +21,9 @@ type InstanceGroupConfig_EbsConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/emr/aws-emr-instancegroupconfig_metricdimension.go b/cloudformation/emr/aws-emr-instancegroupconfig_metricdimension.go index 11d6287cfa..31646ca0ac 100644 --- a/cloudformation/emr/aws-emr-instancegroupconfig_metricdimension.go +++ b/cloudformation/emr/aws-emr-instancegroupconfig_metricdimension.go @@ -21,6 +21,9 @@ type InstanceGroupConfig_MetricDimension struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/emr/aws-emr-instancegroupconfig_scalingaction.go b/cloudformation/emr/aws-emr-instancegroupconfig_scalingaction.go index 8dae0bfed8..2cbc6a79b5 100644 --- a/cloudformation/emr/aws-emr-instancegroupconfig_scalingaction.go +++ b/cloudformation/emr/aws-emr-instancegroupconfig_scalingaction.go @@ -21,6 +21,9 @@ type InstanceGroupConfig_ScalingAction struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/emr/aws-emr-instancegroupconfig_scalingconstraints.go b/cloudformation/emr/aws-emr-instancegroupconfig_scalingconstraints.go index 0d0130c94e..10eb5ae2b3 100644 --- a/cloudformation/emr/aws-emr-instancegroupconfig_scalingconstraints.go +++ b/cloudformation/emr/aws-emr-instancegroupconfig_scalingconstraints.go @@ -21,6 +21,9 @@ type InstanceGroupConfig_ScalingConstraints struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/emr/aws-emr-instancegroupconfig_scalingrule.go b/cloudformation/emr/aws-emr-instancegroupconfig_scalingrule.go index 80ca74eeee..3e581ad3d4 100644 --- a/cloudformation/emr/aws-emr-instancegroupconfig_scalingrule.go +++ b/cloudformation/emr/aws-emr-instancegroupconfig_scalingrule.go @@ -31,6 +31,9 @@ type InstanceGroupConfig_ScalingRule struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/emr/aws-emr-instancegroupconfig_scalingtrigger.go b/cloudformation/emr/aws-emr-instancegroupconfig_scalingtrigger.go index b04fb8b41a..55c4065c6a 100644 --- a/cloudformation/emr/aws-emr-instancegroupconfig_scalingtrigger.go +++ b/cloudformation/emr/aws-emr-instancegroupconfig_scalingtrigger.go @@ -16,6 +16,9 @@ type InstanceGroupConfig_ScalingTrigger struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/emr/aws-emr-instancegroupconfig_simplescalingpolicyconfiguration.go b/cloudformation/emr/aws-emr-instancegroupconfig_simplescalingpolicyconfiguration.go index 9d6fa2479c..8ebffd4062 100644 --- a/cloudformation/emr/aws-emr-instancegroupconfig_simplescalingpolicyconfiguration.go +++ b/cloudformation/emr/aws-emr-instancegroupconfig_simplescalingpolicyconfiguration.go @@ -26,6 +26,9 @@ type InstanceGroupConfig_SimpleScalingPolicyConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/emr/aws-emr-instancegroupconfig_volumespecification.go b/cloudformation/emr/aws-emr-instancegroupconfig_volumespecification.go index 2444a5a449..b0b7d1f08f 100644 --- a/cloudformation/emr/aws-emr-instancegroupconfig_volumespecification.go +++ b/cloudformation/emr/aws-emr-instancegroupconfig_volumespecification.go @@ -26,6 +26,9 @@ type InstanceGroupConfig_VolumeSpecification struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/emr/aws-emr-securityconfiguration.go b/cloudformation/emr/aws-emr-securityconfiguration.go index 95ac18af00..c4ba3739f9 100644 --- a/cloudformation/emr/aws-emr-securityconfiguration.go +++ b/cloudformation/emr/aws-emr-securityconfiguration.go @@ -25,6 +25,9 @@ type SecurityConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *SecurityConfiguration) AWSCloudFormationType() string { func (r SecurityConfiguration) MarshalJSON() ([]byte, error) { type Properties SecurityConfiguration return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r SecurityConfiguration) MarshalJSON() ([]byte, error) { func (r *SecurityConfiguration) UnmarshalJSON(b []byte) error { type Properties SecurityConfiguration res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *SecurityConfiguration) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/emr/aws-emr-step.go b/cloudformation/emr/aws-emr-step.go index ddc93a2685..2eec5c8014 100644 --- a/cloudformation/emr/aws-emr-step.go +++ b/cloudformation/emr/aws-emr-step.go @@ -35,6 +35,9 @@ type Step struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -55,19 +58,21 @@ func (r *Step) AWSCloudFormationType() string { func (r Step) MarshalJSON() ([]byte, error) { type Properties Step return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -76,12 +81,13 @@ func (r Step) MarshalJSON() ([]byte, error) { func (r *Step) UnmarshalJSON(b []byte) error { type Properties Step res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -105,6 +111,9 @@ func (r *Step) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/emr/aws-emr-step_hadoopjarstepconfig.go b/cloudformation/emr/aws-emr-step_hadoopjarstepconfig.go index f404867b94..96803b5a74 100644 --- a/cloudformation/emr/aws-emr-step_hadoopjarstepconfig.go +++ b/cloudformation/emr/aws-emr-step_hadoopjarstepconfig.go @@ -31,6 +31,9 @@ type Step_HadoopJarStepConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/emr/aws-emr-step_keyvalue.go b/cloudformation/emr/aws-emr-step_keyvalue.go index 7372da53aa..7e6bab2dc3 100644 --- a/cloudformation/emr/aws-emr-step_keyvalue.go +++ b/cloudformation/emr/aws-emr-step_keyvalue.go @@ -21,6 +21,9 @@ type Step_KeyValue struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/events/aws-events-eventbus.go b/cloudformation/events/aws-events-eventbus.go index ee67a41a05..d8f426f649 100644 --- a/cloudformation/events/aws-events-eventbus.go +++ b/cloudformation/events/aws-events-eventbus.go @@ -25,6 +25,9 @@ type EventBus struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *EventBus) AWSCloudFormationType() string { func (r EventBus) MarshalJSON() ([]byte, error) { type Properties EventBus return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r EventBus) MarshalJSON() ([]byte, error) { func (r *EventBus) UnmarshalJSON(b []byte) error { type Properties EventBus res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *EventBus) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/events/aws-events-eventbuspolicy.go b/cloudformation/events/aws-events-eventbuspolicy.go index fd3758a9dc..4e3d544ac9 100644 --- a/cloudformation/events/aws-events-eventbuspolicy.go +++ b/cloudformation/events/aws-events-eventbuspolicy.go @@ -40,6 +40,9 @@ type EventBusPolicy struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -60,19 +63,21 @@ func (r *EventBusPolicy) AWSCloudFormationType() string { func (r EventBusPolicy) MarshalJSON() ([]byte, error) { type Properties EventBusPolicy return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -81,12 +86,13 @@ func (r EventBusPolicy) MarshalJSON() ([]byte, error) { func (r *EventBusPolicy) UnmarshalJSON(b []byte) error { type Properties EventBusPolicy res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -110,6 +116,9 @@ func (r *EventBusPolicy) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/events/aws-events-eventbuspolicy_condition.go b/cloudformation/events/aws-events-eventbuspolicy_condition.go index b165cb7b00..fef153d86c 100644 --- a/cloudformation/events/aws-events-eventbuspolicy_condition.go +++ b/cloudformation/events/aws-events-eventbuspolicy_condition.go @@ -26,6 +26,9 @@ type EventBusPolicy_Condition struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/events/aws-events-rule.go b/cloudformation/events/aws-events-rule.go index e6fdcc6407..6120c67263 100644 --- a/cloudformation/events/aws-events-rule.go +++ b/cloudformation/events/aws-events-rule.go @@ -55,6 +55,9 @@ type Rule struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -75,19 +78,21 @@ func (r *Rule) AWSCloudFormationType() string { func (r Rule) MarshalJSON() ([]byte, error) { type Properties Rule return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -96,12 +101,13 @@ func (r Rule) MarshalJSON() ([]byte, error) { func (r *Rule) UnmarshalJSON(b []byte) error { type Properties Rule res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -125,6 +131,9 @@ func (r *Rule) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/events/aws-events-rule_awsvpcconfiguration.go b/cloudformation/events/aws-events-rule_awsvpcconfiguration.go index 374a77dc96..bbecdea2e5 100644 --- a/cloudformation/events/aws-events-rule_awsvpcconfiguration.go +++ b/cloudformation/events/aws-events-rule_awsvpcconfiguration.go @@ -26,6 +26,9 @@ type Rule_AwsVpcConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/events/aws-events-rule_batcharrayproperties.go b/cloudformation/events/aws-events-rule_batcharrayproperties.go index 636a6a1a5d..c8dd0da996 100644 --- a/cloudformation/events/aws-events-rule_batcharrayproperties.go +++ b/cloudformation/events/aws-events-rule_batcharrayproperties.go @@ -16,6 +16,9 @@ type Rule_BatchArrayProperties struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/events/aws-events-rule_batchparameters.go b/cloudformation/events/aws-events-rule_batchparameters.go index 885ea8f10d..fdd76c4b29 100644 --- a/cloudformation/events/aws-events-rule_batchparameters.go +++ b/cloudformation/events/aws-events-rule_batchparameters.go @@ -31,6 +31,9 @@ type Rule_BatchParameters struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/events/aws-events-rule_batchretrystrategy.go b/cloudformation/events/aws-events-rule_batchretrystrategy.go index 6fb1adb9c0..75d71873b9 100644 --- a/cloudformation/events/aws-events-rule_batchretrystrategy.go +++ b/cloudformation/events/aws-events-rule_batchretrystrategy.go @@ -16,6 +16,9 @@ type Rule_BatchRetryStrategy struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/events/aws-events-rule_ecsparameters.go b/cloudformation/events/aws-events-rule_ecsparameters.go index de12260244..01500cedd0 100644 --- a/cloudformation/events/aws-events-rule_ecsparameters.go +++ b/cloudformation/events/aws-events-rule_ecsparameters.go @@ -41,6 +41,9 @@ type Rule_EcsParameters struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/events/aws-events-rule_httpparameters.go b/cloudformation/events/aws-events-rule_httpparameters.go new file mode 100644 index 0000000000..ee83c1636d --- /dev/null +++ b/cloudformation/events/aws-events-rule_httpparameters.go @@ -0,0 +1,45 @@ +package events + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Rule_HttpParameters AWS CloudFormation Resource (AWS::Events::Rule.HttpParameters) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-httpparameters.html +type Rule_HttpParameters struct { + + // HeaderParameters AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-httpparameters.html#cfn-events-rule-httpparameters-headerparameters + HeaderParameters map[string]string `json:"HeaderParameters,omitempty"` + + // PathParameterValues AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-httpparameters.html#cfn-events-rule-httpparameters-pathparametervalues + PathParameterValues []string `json:"PathParameterValues,omitempty"` + + // QueryStringParameters AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-httpparameters.html#cfn-events-rule-httpparameters-querystringparameters + QueryStringParameters map[string]string `json:"QueryStringParameters,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Rule_HttpParameters) AWSCloudFormationType() string { + return "AWS::Events::Rule.HttpParameters" +} diff --git a/cloudformation/events/aws-events-rule_inputtransformer.go b/cloudformation/events/aws-events-rule_inputtransformer.go index 752d8bfa38..724b80e7a5 100644 --- a/cloudformation/events/aws-events-rule_inputtransformer.go +++ b/cloudformation/events/aws-events-rule_inputtransformer.go @@ -21,6 +21,9 @@ type Rule_InputTransformer struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/events/aws-events-rule_kinesisparameters.go b/cloudformation/events/aws-events-rule_kinesisparameters.go index d04a2b49c7..677b6acecd 100644 --- a/cloudformation/events/aws-events-rule_kinesisparameters.go +++ b/cloudformation/events/aws-events-rule_kinesisparameters.go @@ -16,6 +16,9 @@ type Rule_KinesisParameters struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/events/aws-events-rule_networkconfiguration.go b/cloudformation/events/aws-events-rule_networkconfiguration.go index 31a123cc22..201d124a42 100644 --- a/cloudformation/events/aws-events-rule_networkconfiguration.go +++ b/cloudformation/events/aws-events-rule_networkconfiguration.go @@ -16,6 +16,9 @@ type Rule_NetworkConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/events/aws-events-rule_runcommandparameters.go b/cloudformation/events/aws-events-rule_runcommandparameters.go index 01625ab8bd..ff3c6f8b8b 100644 --- a/cloudformation/events/aws-events-rule_runcommandparameters.go +++ b/cloudformation/events/aws-events-rule_runcommandparameters.go @@ -16,6 +16,9 @@ type Rule_RunCommandParameters struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/events/aws-events-rule_runcommandtarget.go b/cloudformation/events/aws-events-rule_runcommandtarget.go index 02652525d2..81c7a58e45 100644 --- a/cloudformation/events/aws-events-rule_runcommandtarget.go +++ b/cloudformation/events/aws-events-rule_runcommandtarget.go @@ -21,6 +21,9 @@ type Rule_RunCommandTarget struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/events/aws-events-rule_sqsparameters.go b/cloudformation/events/aws-events-rule_sqsparameters.go index b21cac0c04..86274ad96d 100644 --- a/cloudformation/events/aws-events-rule_sqsparameters.go +++ b/cloudformation/events/aws-events-rule_sqsparameters.go @@ -16,6 +16,9 @@ type Rule_SqsParameters struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/events/aws-events-rule_target.go b/cloudformation/events/aws-events-rule_target.go index b1cff32e0c..9bf42ff368 100644 --- a/cloudformation/events/aws-events-rule_target.go +++ b/cloudformation/events/aws-events-rule_target.go @@ -23,6 +23,11 @@ type Rule_Target struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-ecsparameters EcsParameters *Rule_EcsParameters `json:"EcsParameters,omitempty"` + // HttpParameters AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-httpparameters + HttpParameters *Rule_HttpParameters `json:"HttpParameters,omitempty"` + // Id AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-id @@ -66,6 +71,9 @@ type Rule_Target struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/eventschemas/aws-eventschemas-discoverer.go b/cloudformation/eventschemas/aws-eventschemas-discoverer.go index b0b3cd4406..be8e27634f 100644 --- a/cloudformation/eventschemas/aws-eventschemas-discoverer.go +++ b/cloudformation/eventschemas/aws-eventschemas-discoverer.go @@ -30,6 +30,9 @@ type Discoverer struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *Discoverer) AWSCloudFormationType() string { func (r Discoverer) MarshalJSON() ([]byte, error) { type Properties Discoverer return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r Discoverer) MarshalJSON() ([]byte, error) { func (r *Discoverer) UnmarshalJSON(b []byte) error { type Properties Discoverer res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *Discoverer) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/eventschemas/aws-eventschemas-discoverer_tagsentry.go b/cloudformation/eventschemas/aws-eventschemas-discoverer_tagsentry.go index ad7546056c..9fd701ba60 100644 --- a/cloudformation/eventschemas/aws-eventschemas-discoverer_tagsentry.go +++ b/cloudformation/eventschemas/aws-eventschemas-discoverer_tagsentry.go @@ -21,6 +21,9 @@ type Discoverer_TagsEntry struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/eventschemas/aws-eventschemas-registry.go b/cloudformation/eventschemas/aws-eventschemas-registry.go index 89f41ac5cc..bec0f44b92 100644 --- a/cloudformation/eventschemas/aws-eventschemas-registry.go +++ b/cloudformation/eventschemas/aws-eventschemas-registry.go @@ -30,6 +30,9 @@ type Registry struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *Registry) AWSCloudFormationType() string { func (r Registry) MarshalJSON() ([]byte, error) { type Properties Registry return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r Registry) MarshalJSON() ([]byte, error) { func (r *Registry) UnmarshalJSON(b []byte) error { type Properties Registry res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *Registry) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/eventschemas/aws-eventschemas-registry_tagsentry.go b/cloudformation/eventschemas/aws-eventschemas-registry_tagsentry.go index c27f54cb96..e28bb9e296 100644 --- a/cloudformation/eventschemas/aws-eventschemas-registry_tagsentry.go +++ b/cloudformation/eventschemas/aws-eventschemas-registry_tagsentry.go @@ -21,6 +21,9 @@ type Registry_TagsEntry struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/eventschemas/aws-eventschemas-registrypolicy.go b/cloudformation/eventschemas/aws-eventschemas-registrypolicy.go new file mode 100644 index 0000000000..4ae4792b95 --- /dev/null +++ b/cloudformation/eventschemas/aws-eventschemas-registrypolicy.go @@ -0,0 +1,116 @@ +package eventschemas + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// RegistryPolicy AWS CloudFormation Resource (AWS::EventSchemas::RegistryPolicy) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registrypolicy.html +type RegistryPolicy struct { + + // Policy AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registrypolicy.html#cfn-eventschemas-registrypolicy-policy + Policy interface{} `json:"Policy,omitempty"` + + // RegistryName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registrypolicy.html#cfn-eventschemas-registrypolicy-registryname + RegistryName string `json:"RegistryName,omitempty"` + + // RevisionId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registrypolicy.html#cfn-eventschemas-registrypolicy-revisionid + RevisionId string `json:"RevisionId,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *RegistryPolicy) AWSCloudFormationType() string { + return "AWS::EventSchemas::RegistryPolicy" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r RegistryPolicy) MarshalJSON() ([]byte, error) { + type Properties RegistryPolicy + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *RegistryPolicy) UnmarshalJSON(b []byte) error { + type Properties RegistryPolicy + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = RegistryPolicy(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/eventschemas/aws-eventschemas-schema.go b/cloudformation/eventschemas/aws-eventschemas-schema.go index d4dca34df6..fd427b5736 100644 --- a/cloudformation/eventschemas/aws-eventschemas-schema.go +++ b/cloudformation/eventschemas/aws-eventschemas-schema.go @@ -45,6 +45,9 @@ type Schema struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -65,19 +68,21 @@ func (r *Schema) AWSCloudFormationType() string { func (r Schema) MarshalJSON() ([]byte, error) { type Properties Schema return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -86,12 +91,13 @@ func (r Schema) MarshalJSON() ([]byte, error) { func (r *Schema) UnmarshalJSON(b []byte) error { type Properties Schema res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -115,6 +121,9 @@ func (r *Schema) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/eventschemas/aws-eventschemas-schema_tagsentry.go b/cloudformation/eventschemas/aws-eventschemas-schema_tagsentry.go index 005948ad9d..c46864c1e9 100644 --- a/cloudformation/eventschemas/aws-eventschemas-schema_tagsentry.go +++ b/cloudformation/eventschemas/aws-eventschemas-schema_tagsentry.go @@ -21,6 +21,9 @@ type Schema_TagsEntry struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/fms/aws-fms-notificationchannel.go b/cloudformation/fms/aws-fms-notificationchannel.go index 26cd78cb97..7f8e7852da 100644 --- a/cloudformation/fms/aws-fms-notificationchannel.go +++ b/cloudformation/fms/aws-fms-notificationchannel.go @@ -25,6 +25,9 @@ type NotificationChannel struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *NotificationChannel) AWSCloudFormationType() string { func (r NotificationChannel) MarshalJSON() ([]byte, error) { type Properties NotificationChannel return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r NotificationChannel) MarshalJSON() ([]byte, error) { func (r *NotificationChannel) UnmarshalJSON(b []byte) error { type Properties NotificationChannel res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *NotificationChannel) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/fms/aws-fms-policy.go b/cloudformation/fms/aws-fms-policy.go index 0c6ac54c4c..30fc0d6af1 100644 --- a/cloudformation/fms/aws-fms-policy.go +++ b/cloudformation/fms/aws-fms-policy.go @@ -70,6 +70,9 @@ type Policy struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -90,19 +93,21 @@ func (r *Policy) AWSCloudFormationType() string { func (r Policy) MarshalJSON() ([]byte, error) { type Properties Policy return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -111,12 +116,13 @@ func (r Policy) MarshalJSON() ([]byte, error) { func (r *Policy) UnmarshalJSON(b []byte) error { type Properties Policy res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -140,6 +146,9 @@ func (r *Policy) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/fms/aws-fms-policy_iemap.go b/cloudformation/fms/aws-fms-policy_iemap.go index 7408774620..f96e43caa6 100644 --- a/cloudformation/fms/aws-fms-policy_iemap.go +++ b/cloudformation/fms/aws-fms-policy_iemap.go @@ -13,9 +13,17 @@ type Policy_IEMap struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fms-policy-iemap.html#cfn-fms-policy-iemap-account ACCOUNT []string `json:"ACCOUNT,omitempty"` + // ORGUNIT AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fms-policy-iemap.html#cfn-fms-policy-iemap-orgunit + ORGUNIT []string `json:"ORGUNIT,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/fms/aws-fms-policy_policytag.go b/cloudformation/fms/aws-fms-policy_policytag.go index 1cf48be879..45590135a3 100644 --- a/cloudformation/fms/aws-fms-policy_policytag.go +++ b/cloudformation/fms/aws-fms-policy_policytag.go @@ -21,6 +21,9 @@ type Policy_PolicyTag struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/fms/aws-fms-policy_resourcetag.go b/cloudformation/fms/aws-fms-policy_resourcetag.go index 4cee823648..855bb4fec6 100644 --- a/cloudformation/fms/aws-fms-policy_resourcetag.go +++ b/cloudformation/fms/aws-fms-policy_resourcetag.go @@ -21,6 +21,9 @@ type Policy_ResourceTag struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/fsx/aws-fsx-filesystem.go b/cloudformation/fsx/aws-fsx-filesystem.go index 4bd0290640..2dac21f89c 100644 --- a/cloudformation/fsx/aws-fsx-filesystem.go +++ b/cloudformation/fsx/aws-fsx-filesystem.go @@ -43,6 +43,11 @@ type FileSystem struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-filesystem.html#cfn-fsx-filesystem-storagecapacity StorageCapacity int `json:"StorageCapacity,omitempty"` + // StorageType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-filesystem.html#cfn-fsx-filesystem-storagetype + StorageType string `json:"StorageType,omitempty"` + // SubnetIds AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-filesystem.html#cfn-fsx-filesystem-subnetids @@ -61,6 +66,9 @@ type FileSystem struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -81,19 +89,21 @@ func (r *FileSystem) AWSCloudFormationType() string { func (r FileSystem) MarshalJSON() ([]byte, error) { type Properties FileSystem return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -102,12 +112,13 @@ func (r FileSystem) MarshalJSON() ([]byte, error) { func (r *FileSystem) UnmarshalJSON(b []byte) error { type Properties FileSystem res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -131,6 +142,9 @@ func (r *FileSystem) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/fsx/aws-fsx-filesystem_lustreconfiguration.go b/cloudformation/fsx/aws-fsx-filesystem_lustreconfiguration.go index 26fa766a67..f9744bc7e6 100644 --- a/cloudformation/fsx/aws-fsx-filesystem_lustreconfiguration.go +++ b/cloudformation/fsx/aws-fsx-filesystem_lustreconfiguration.go @@ -41,6 +41,9 @@ type FileSystem_LustreConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/fsx/aws-fsx-filesystem_selfmanagedactivedirectoryconfiguration.go b/cloudformation/fsx/aws-fsx-filesystem_selfmanagedactivedirectoryconfiguration.go index 66d25a5328..e66fd6414a 100644 --- a/cloudformation/fsx/aws-fsx-filesystem_selfmanagedactivedirectoryconfiguration.go +++ b/cloudformation/fsx/aws-fsx-filesystem_selfmanagedactivedirectoryconfiguration.go @@ -41,6 +41,9 @@ type FileSystem_SelfManagedActiveDirectoryConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/fsx/aws-fsx-filesystem_windowsconfiguration.go b/cloudformation/fsx/aws-fsx-filesystem_windowsconfiguration.go index c7d2321af8..00632e1cfd 100644 --- a/cloudformation/fsx/aws-fsx-filesystem_windowsconfiguration.go +++ b/cloudformation/fsx/aws-fsx-filesystem_windowsconfiguration.go @@ -56,6 +56,9 @@ type FileSystem_WindowsConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/gamelift/aws-gamelift-alias.go b/cloudformation/gamelift/aws-gamelift-alias.go index 23a6550729..751e535f34 100644 --- a/cloudformation/gamelift/aws-gamelift-alias.go +++ b/cloudformation/gamelift/aws-gamelift-alias.go @@ -30,6 +30,9 @@ type Alias struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *Alias) AWSCloudFormationType() string { func (r Alias) MarshalJSON() ([]byte, error) { type Properties Alias return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r Alias) MarshalJSON() ([]byte, error) { func (r *Alias) UnmarshalJSON(b []byte) error { type Properties Alias res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *Alias) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/gamelift/aws-gamelift-alias_routingstrategy.go b/cloudformation/gamelift/aws-gamelift-alias_routingstrategy.go index dda41f178b..416ea3256e 100644 --- a/cloudformation/gamelift/aws-gamelift-alias_routingstrategy.go +++ b/cloudformation/gamelift/aws-gamelift-alias_routingstrategy.go @@ -26,6 +26,9 @@ type Alias_RoutingStrategy struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/gamelift/aws-gamelift-build.go b/cloudformation/gamelift/aws-gamelift-build.go index 6bf4c32d2e..758943b96a 100644 --- a/cloudformation/gamelift/aws-gamelift-build.go +++ b/cloudformation/gamelift/aws-gamelift-build.go @@ -35,6 +35,9 @@ type Build struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -55,19 +58,21 @@ func (r *Build) AWSCloudFormationType() string { func (r Build) MarshalJSON() ([]byte, error) { type Properties Build return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -76,12 +81,13 @@ func (r Build) MarshalJSON() ([]byte, error) { func (r *Build) UnmarshalJSON(b []byte) error { type Properties Build res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -105,6 +111,9 @@ func (r *Build) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/gamelift/aws-gamelift-build_s3location.go b/cloudformation/gamelift/aws-gamelift-build_s3location.go index 74f7d43441..01254bf4f2 100644 --- a/cloudformation/gamelift/aws-gamelift-build_s3location.go +++ b/cloudformation/gamelift/aws-gamelift-build_s3location.go @@ -31,6 +31,9 @@ type Build_S3Location struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/gamelift/aws-gamelift-fleet.go b/cloudformation/gamelift/aws-gamelift-fleet.go index c708719d9f..cf46095ca1 100644 --- a/cloudformation/gamelift/aws-gamelift-fleet.go +++ b/cloudformation/gamelift/aws-gamelift-fleet.go @@ -120,6 +120,9 @@ type Fleet struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -140,19 +143,21 @@ func (r *Fleet) AWSCloudFormationType() string { func (r Fleet) MarshalJSON() ([]byte, error) { type Properties Fleet return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -161,12 +166,13 @@ func (r Fleet) MarshalJSON() ([]byte, error) { func (r *Fleet) UnmarshalJSON(b []byte) error { type Properties Fleet res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -190,6 +196,9 @@ func (r *Fleet) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/gamelift/aws-gamelift-fleet_certificateconfiguration.go b/cloudformation/gamelift/aws-gamelift-fleet_certificateconfiguration.go index efb1b8cf66..bc247795b2 100644 --- a/cloudformation/gamelift/aws-gamelift-fleet_certificateconfiguration.go +++ b/cloudformation/gamelift/aws-gamelift-fleet_certificateconfiguration.go @@ -16,6 +16,9 @@ type Fleet_CertificateConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/gamelift/aws-gamelift-fleet_ippermission.go b/cloudformation/gamelift/aws-gamelift-fleet_ippermission.go index e0443295fe..7650d969ee 100644 --- a/cloudformation/gamelift/aws-gamelift-fleet_ippermission.go +++ b/cloudformation/gamelift/aws-gamelift-fleet_ippermission.go @@ -31,6 +31,9 @@ type Fleet_IpPermission struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/gamelift/aws-gamelift-fleet_resourcecreationlimitpolicy.go b/cloudformation/gamelift/aws-gamelift-fleet_resourcecreationlimitpolicy.go index 6350affacc..010d3bb124 100644 --- a/cloudformation/gamelift/aws-gamelift-fleet_resourcecreationlimitpolicy.go +++ b/cloudformation/gamelift/aws-gamelift-fleet_resourcecreationlimitpolicy.go @@ -21,6 +21,9 @@ type Fleet_ResourceCreationLimitPolicy struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/gamelift/aws-gamelift-fleet_runtimeconfiguration.go b/cloudformation/gamelift/aws-gamelift-fleet_runtimeconfiguration.go index 6acc4b597d..97b499d125 100644 --- a/cloudformation/gamelift/aws-gamelift-fleet_runtimeconfiguration.go +++ b/cloudformation/gamelift/aws-gamelift-fleet_runtimeconfiguration.go @@ -26,6 +26,9 @@ type Fleet_RuntimeConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/gamelift/aws-gamelift-fleet_serverprocess.go b/cloudformation/gamelift/aws-gamelift-fleet_serverprocess.go index af561b54e9..60ed8cbf65 100644 --- a/cloudformation/gamelift/aws-gamelift-fleet_serverprocess.go +++ b/cloudformation/gamelift/aws-gamelift-fleet_serverprocess.go @@ -26,6 +26,9 @@ type Fleet_ServerProcess struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/gamelift/aws-gamelift-gamesessionqueue.go b/cloudformation/gamelift/aws-gamelift-gamesessionqueue.go index 4144ecf3a1..178172cd84 100644 --- a/cloudformation/gamelift/aws-gamelift-gamesessionqueue.go +++ b/cloudformation/gamelift/aws-gamelift-gamesessionqueue.go @@ -35,6 +35,9 @@ type GameSessionQueue struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -55,19 +58,21 @@ func (r *GameSessionQueue) AWSCloudFormationType() string { func (r GameSessionQueue) MarshalJSON() ([]byte, error) { type Properties GameSessionQueue return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -76,12 +81,13 @@ func (r GameSessionQueue) MarshalJSON() ([]byte, error) { func (r *GameSessionQueue) UnmarshalJSON(b []byte) error { type Properties GameSessionQueue res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -105,6 +111,9 @@ func (r *GameSessionQueue) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/gamelift/aws-gamelift-gamesessionqueue_destination.go b/cloudformation/gamelift/aws-gamelift-gamesessionqueue_destination.go index 533794b227..8357f4e58a 100644 --- a/cloudformation/gamelift/aws-gamelift-gamesessionqueue_destination.go +++ b/cloudformation/gamelift/aws-gamelift-gamesessionqueue_destination.go @@ -16,6 +16,9 @@ type GameSessionQueue_Destination struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/gamelift/aws-gamelift-gamesessionqueue_playerlatencypolicy.go b/cloudformation/gamelift/aws-gamelift-gamesessionqueue_playerlatencypolicy.go index 1d324a5af3..fd2ae49597 100644 --- a/cloudformation/gamelift/aws-gamelift-gamesessionqueue_playerlatencypolicy.go +++ b/cloudformation/gamelift/aws-gamelift-gamesessionqueue_playerlatencypolicy.go @@ -21,6 +21,9 @@ type GameSessionQueue_PlayerLatencyPolicy struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/gamelift/aws-gamelift-matchmakingconfiguration.go b/cloudformation/gamelift/aws-gamelift-matchmakingconfiguration.go index 0730796594..4327aefe7e 100644 --- a/cloudformation/gamelift/aws-gamelift-matchmakingconfiguration.go +++ b/cloudformation/gamelift/aws-gamelift-matchmakingconfiguration.go @@ -80,6 +80,9 @@ type MatchmakingConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -100,19 +103,21 @@ func (r *MatchmakingConfiguration) AWSCloudFormationType() string { func (r MatchmakingConfiguration) MarshalJSON() ([]byte, error) { type Properties MatchmakingConfiguration return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -121,12 +126,13 @@ func (r MatchmakingConfiguration) MarshalJSON() ([]byte, error) { func (r *MatchmakingConfiguration) UnmarshalJSON(b []byte) error { type Properties MatchmakingConfiguration res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -150,6 +156,9 @@ func (r *MatchmakingConfiguration) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/gamelift/aws-gamelift-matchmakingconfiguration_gameproperty.go b/cloudformation/gamelift/aws-gamelift-matchmakingconfiguration_gameproperty.go index 4dadaf7dd6..5847ceec5f 100644 --- a/cloudformation/gamelift/aws-gamelift-matchmakingconfiguration_gameproperty.go +++ b/cloudformation/gamelift/aws-gamelift-matchmakingconfiguration_gameproperty.go @@ -21,6 +21,9 @@ type MatchmakingConfiguration_GameProperty struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/gamelift/aws-gamelift-matchmakingruleset.go b/cloudformation/gamelift/aws-gamelift-matchmakingruleset.go index 4732cc8def..d8b76d5663 100644 --- a/cloudformation/gamelift/aws-gamelift-matchmakingruleset.go +++ b/cloudformation/gamelift/aws-gamelift-matchmakingruleset.go @@ -25,6 +25,9 @@ type MatchmakingRuleSet struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *MatchmakingRuleSet) AWSCloudFormationType() string { func (r MatchmakingRuleSet) MarshalJSON() ([]byte, error) { type Properties MatchmakingRuleSet return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r MatchmakingRuleSet) MarshalJSON() ([]byte, error) { func (r *MatchmakingRuleSet) UnmarshalJSON(b []byte) error { type Properties MatchmakingRuleSet res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *MatchmakingRuleSet) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/gamelift/aws-gamelift-script.go b/cloudformation/gamelift/aws-gamelift-script.go index 8268a85d0d..b3857779af 100644 --- a/cloudformation/gamelift/aws-gamelift-script.go +++ b/cloudformation/gamelift/aws-gamelift-script.go @@ -30,6 +30,9 @@ type Script struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *Script) AWSCloudFormationType() string { func (r Script) MarshalJSON() ([]byte, error) { type Properties Script return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r Script) MarshalJSON() ([]byte, error) { func (r *Script) UnmarshalJSON(b []byte) error { type Properties Script res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *Script) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/gamelift/aws-gamelift-script_s3location.go b/cloudformation/gamelift/aws-gamelift-script_s3location.go index f933f92ec1..dce89df816 100644 --- a/cloudformation/gamelift/aws-gamelift-script_s3location.go +++ b/cloudformation/gamelift/aws-gamelift-script_s3location.go @@ -31,6 +31,9 @@ type Script_S3Location struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/globalaccelerator/aws-globalaccelerator-accelerator.go b/cloudformation/globalaccelerator/aws-globalaccelerator-accelerator.go new file mode 100644 index 0000000000..ce39dc7e33 --- /dev/null +++ b/cloudformation/globalaccelerator/aws-globalaccelerator-accelerator.go @@ -0,0 +1,127 @@ +package globalaccelerator + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// Accelerator AWS CloudFormation Resource (AWS::GlobalAccelerator::Accelerator) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-accelerator.html +type Accelerator struct { + + // Enabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-accelerator.html#cfn-globalaccelerator-accelerator-enabled + Enabled bool `json:"Enabled,omitempty"` + + // IpAddressType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-accelerator.html#cfn-globalaccelerator-accelerator-ipaddresstype + IpAddressType string `json:"IpAddressType,omitempty"` + + // IpAddresses AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-accelerator.html#cfn-globalaccelerator-accelerator-ipaddresses + IpAddresses []string `json:"IpAddresses,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-accelerator.html#cfn-globalaccelerator-accelerator-name + Name string `json:"Name,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-accelerator.html#cfn-globalaccelerator-accelerator-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Accelerator) AWSCloudFormationType() string { + return "AWS::GlobalAccelerator::Accelerator" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r Accelerator) MarshalJSON() ([]byte, error) { + type Properties Accelerator + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *Accelerator) UnmarshalJSON(b []byte) error { + type Properties Accelerator + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = Accelerator(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/globalaccelerator/aws-globalaccelerator-endpointgroup.go b/cloudformation/globalaccelerator/aws-globalaccelerator-endpointgroup.go new file mode 100644 index 0000000000..f50d6f6406 --- /dev/null +++ b/cloudformation/globalaccelerator/aws-globalaccelerator-endpointgroup.go @@ -0,0 +1,146 @@ +package globalaccelerator + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// EndpointGroup AWS CloudFormation Resource (AWS::GlobalAccelerator::EndpointGroup) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html +type EndpointGroup struct { + + // EndpointConfigurations AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html#cfn-globalaccelerator-endpointgroup-endpointconfigurations + EndpointConfigurations []EndpointGroup_EndpointConfiguration `json:"EndpointConfigurations,omitempty"` + + // EndpointGroupRegion AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html#cfn-globalaccelerator-endpointgroup-endpointgroupregion + EndpointGroupRegion string `json:"EndpointGroupRegion,omitempty"` + + // HealthCheckIntervalSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html#cfn-globalaccelerator-endpointgroup-healthcheckintervalseconds + HealthCheckIntervalSeconds int `json:"HealthCheckIntervalSeconds,omitempty"` + + // HealthCheckPath AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html#cfn-globalaccelerator-endpointgroup-healthcheckpath + HealthCheckPath string `json:"HealthCheckPath,omitempty"` + + // HealthCheckPort AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html#cfn-globalaccelerator-endpointgroup-healthcheckport + HealthCheckPort int `json:"HealthCheckPort,omitempty"` + + // HealthCheckProtocol AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html#cfn-globalaccelerator-endpointgroup-healthcheckprotocol + HealthCheckProtocol string `json:"HealthCheckProtocol,omitempty"` + + // ListenerArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html#cfn-globalaccelerator-endpointgroup-listenerarn + ListenerArn string `json:"ListenerArn,omitempty"` + + // ThresholdCount AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html#cfn-globalaccelerator-endpointgroup-thresholdcount + ThresholdCount int `json:"ThresholdCount,omitempty"` + + // TrafficDialPercentage AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html#cfn-globalaccelerator-endpointgroup-trafficdialpercentage + TrafficDialPercentage float64 `json:"TrafficDialPercentage,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *EndpointGroup) AWSCloudFormationType() string { + return "AWS::GlobalAccelerator::EndpointGroup" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r EndpointGroup) MarshalJSON() ([]byte, error) { + type Properties EndpointGroup + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *EndpointGroup) UnmarshalJSON(b []byte) error { + type Properties EndpointGroup + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = EndpointGroup(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/globalaccelerator/aws-globalaccelerator-endpointgroup_endpointconfiguration.go b/cloudformation/globalaccelerator/aws-globalaccelerator-endpointgroup_endpointconfiguration.go new file mode 100644 index 0000000000..9e9ecb6d9e --- /dev/null +++ b/cloudformation/globalaccelerator/aws-globalaccelerator-endpointgroup_endpointconfiguration.go @@ -0,0 +1,45 @@ +package globalaccelerator + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// EndpointGroup_EndpointConfiguration AWS CloudFormation Resource (AWS::GlobalAccelerator::EndpointGroup.EndpointConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-globalaccelerator-endpointgroup-endpointconfiguration.html +type EndpointGroup_EndpointConfiguration struct { + + // ClientIPPreservationEnabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-globalaccelerator-endpointgroup-endpointconfiguration.html#cfn-globalaccelerator-endpointgroup-endpointconfiguration-clientippreservationenabled + ClientIPPreservationEnabled bool `json:"ClientIPPreservationEnabled,omitempty"` + + // EndpointId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-globalaccelerator-endpointgroup-endpointconfiguration.html#cfn-globalaccelerator-endpointgroup-endpointconfiguration-endpointid + EndpointId string `json:"EndpointId,omitempty"` + + // Weight AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-globalaccelerator-endpointgroup-endpointconfiguration.html#cfn-globalaccelerator-endpointgroup-endpointconfiguration-weight + Weight int `json:"Weight,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *EndpointGroup_EndpointConfiguration) AWSCloudFormationType() string { + return "AWS::GlobalAccelerator::EndpointGroup.EndpointConfiguration" +} diff --git a/cloudformation/globalaccelerator/aws-globalaccelerator-listener.go b/cloudformation/globalaccelerator/aws-globalaccelerator-listener.go new file mode 100644 index 0000000000..a0c5a6ce72 --- /dev/null +++ b/cloudformation/globalaccelerator/aws-globalaccelerator-listener.go @@ -0,0 +1,121 @@ +package globalaccelerator + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Listener AWS CloudFormation Resource (AWS::GlobalAccelerator::Listener) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-listener.html +type Listener struct { + + // AcceleratorArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-listener.html#cfn-globalaccelerator-listener-acceleratorarn + AcceleratorArn string `json:"AcceleratorArn,omitempty"` + + // ClientAffinity AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-listener.html#cfn-globalaccelerator-listener-clientaffinity + ClientAffinity string `json:"ClientAffinity,omitempty"` + + // PortRanges AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-listener.html#cfn-globalaccelerator-listener-portranges + PortRanges []Listener_PortRange `json:"PortRanges,omitempty"` + + // Protocol AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-listener.html#cfn-globalaccelerator-listener-protocol + Protocol string `json:"Protocol,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Listener) AWSCloudFormationType() string { + return "AWS::GlobalAccelerator::Listener" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r Listener) MarshalJSON() ([]byte, error) { + type Properties Listener + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *Listener) UnmarshalJSON(b []byte) error { + type Properties Listener + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = Listener(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/globalaccelerator/aws-globalaccelerator-listener_portrange.go b/cloudformation/globalaccelerator/aws-globalaccelerator-listener_portrange.go new file mode 100644 index 0000000000..647588dbb0 --- /dev/null +++ b/cloudformation/globalaccelerator/aws-globalaccelerator-listener_portrange.go @@ -0,0 +1,40 @@ +package globalaccelerator + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Listener_PortRange AWS CloudFormation Resource (AWS::GlobalAccelerator::Listener.PortRange) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-globalaccelerator-listener-portrange.html +type Listener_PortRange struct { + + // FromPort AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-globalaccelerator-listener-portrange.html#cfn-globalaccelerator-listener-portrange-fromport + FromPort int `json:"FromPort"` + + // ToPort AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-globalaccelerator-listener-portrange.html#cfn-globalaccelerator-listener-portrange-toport + ToPort int `json:"ToPort"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Listener_PortRange) AWSCloudFormationType() string { + return "AWS::GlobalAccelerator::Listener.PortRange" +} diff --git a/cloudformation/glue/aws-glue-classifier.go b/cloudformation/glue/aws-glue-classifier.go index c3cb35ce31..2f61a80082 100644 --- a/cloudformation/glue/aws-glue-classifier.go +++ b/cloudformation/glue/aws-glue-classifier.go @@ -35,6 +35,9 @@ type Classifier struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -55,19 +58,21 @@ func (r *Classifier) AWSCloudFormationType() string { func (r Classifier) MarshalJSON() ([]byte, error) { type Properties Classifier return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -76,12 +81,13 @@ func (r Classifier) MarshalJSON() ([]byte, error) { func (r *Classifier) UnmarshalJSON(b []byte) error { type Properties Classifier res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -105,6 +111,9 @@ func (r *Classifier) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/glue/aws-glue-classifier_csvclassifier.go b/cloudformation/glue/aws-glue-classifier_csvclassifier.go index e9890717ef..f0bf1e27b1 100644 --- a/cloudformation/glue/aws-glue-classifier_csvclassifier.go +++ b/cloudformation/glue/aws-glue-classifier_csvclassifier.go @@ -46,6 +46,9 @@ type Classifier_CsvClassifier struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/glue/aws-glue-classifier_grokclassifier.go b/cloudformation/glue/aws-glue-classifier_grokclassifier.go index 016729dd29..a1e1240bc3 100644 --- a/cloudformation/glue/aws-glue-classifier_grokclassifier.go +++ b/cloudformation/glue/aws-glue-classifier_grokclassifier.go @@ -31,6 +31,9 @@ type Classifier_GrokClassifier struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/glue/aws-glue-classifier_jsonclassifier.go b/cloudformation/glue/aws-glue-classifier_jsonclassifier.go index 9800f831df..2407b9fa46 100644 --- a/cloudformation/glue/aws-glue-classifier_jsonclassifier.go +++ b/cloudformation/glue/aws-glue-classifier_jsonclassifier.go @@ -21,6 +21,9 @@ type Classifier_JsonClassifier struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/glue/aws-glue-classifier_xmlclassifier.go b/cloudformation/glue/aws-glue-classifier_xmlclassifier.go index 338febd89f..4481b03c02 100644 --- a/cloudformation/glue/aws-glue-classifier_xmlclassifier.go +++ b/cloudformation/glue/aws-glue-classifier_xmlclassifier.go @@ -26,6 +26,9 @@ type Classifier_XMLClassifier struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/glue/aws-glue-connection.go b/cloudformation/glue/aws-glue-connection.go index 8693ff6aa8..5b2cbe3d9b 100644 --- a/cloudformation/glue/aws-glue-connection.go +++ b/cloudformation/glue/aws-glue-connection.go @@ -25,6 +25,9 @@ type Connection struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *Connection) AWSCloudFormationType() string { func (r Connection) MarshalJSON() ([]byte, error) { type Properties Connection return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r Connection) MarshalJSON() ([]byte, error) { func (r *Connection) UnmarshalJSON(b []byte) error { type Properties Connection res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *Connection) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/glue/aws-glue-connection_connectioninput.go b/cloudformation/glue/aws-glue-connection_connectioninput.go index 7bec57a673..d4fef87358 100644 --- a/cloudformation/glue/aws-glue-connection_connectioninput.go +++ b/cloudformation/glue/aws-glue-connection_connectioninput.go @@ -41,6 +41,9 @@ type Connection_ConnectionInput struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/glue/aws-glue-connection_physicalconnectionrequirements.go b/cloudformation/glue/aws-glue-connection_physicalconnectionrequirements.go index 309b772ad4..916f514bcb 100644 --- a/cloudformation/glue/aws-glue-connection_physicalconnectionrequirements.go +++ b/cloudformation/glue/aws-glue-connection_physicalconnectionrequirements.go @@ -26,6 +26,9 @@ type Connection_PhysicalConnectionRequirements struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/glue/aws-glue-crawler.go b/cloudformation/glue/aws-glue-crawler.go index d74679ed76..a1e4e829c6 100644 --- a/cloudformation/glue/aws-glue-crawler.go +++ b/cloudformation/glue/aws-glue-crawler.go @@ -75,6 +75,9 @@ type Crawler struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -95,19 +98,21 @@ func (r *Crawler) AWSCloudFormationType() string { func (r Crawler) MarshalJSON() ([]byte, error) { type Properties Crawler return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -116,12 +121,13 @@ func (r Crawler) MarshalJSON() ([]byte, error) { func (r *Crawler) UnmarshalJSON(b []byte) error { type Properties Crawler res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -145,6 +151,9 @@ func (r *Crawler) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/glue/aws-glue-crawler_catalogtarget.go b/cloudformation/glue/aws-glue-crawler_catalogtarget.go index 68d0071256..847270c006 100644 --- a/cloudformation/glue/aws-glue-crawler_catalogtarget.go +++ b/cloudformation/glue/aws-glue-crawler_catalogtarget.go @@ -21,6 +21,9 @@ type Crawler_CatalogTarget struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/glue/aws-glue-crawler_dynamodbtarget.go b/cloudformation/glue/aws-glue-crawler_dynamodbtarget.go index 316af05171..b6d770c2cc 100644 --- a/cloudformation/glue/aws-glue-crawler_dynamodbtarget.go +++ b/cloudformation/glue/aws-glue-crawler_dynamodbtarget.go @@ -16,6 +16,9 @@ type Crawler_DynamoDBTarget struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/glue/aws-glue-crawler_jdbctarget.go b/cloudformation/glue/aws-glue-crawler_jdbctarget.go index b7c4015a22..2de091e9b2 100644 --- a/cloudformation/glue/aws-glue-crawler_jdbctarget.go +++ b/cloudformation/glue/aws-glue-crawler_jdbctarget.go @@ -26,6 +26,9 @@ type Crawler_JdbcTarget struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/glue/aws-glue-crawler_s3target.go b/cloudformation/glue/aws-glue-crawler_s3target.go index ea731b6ba9..f355114bbe 100644 --- a/cloudformation/glue/aws-glue-crawler_s3target.go +++ b/cloudformation/glue/aws-glue-crawler_s3target.go @@ -21,6 +21,9 @@ type Crawler_S3Target struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/glue/aws-glue-crawler_schedule.go b/cloudformation/glue/aws-glue-crawler_schedule.go index 36440664b3..9e786c0da3 100644 --- a/cloudformation/glue/aws-glue-crawler_schedule.go +++ b/cloudformation/glue/aws-glue-crawler_schedule.go @@ -16,6 +16,9 @@ type Crawler_Schedule struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/glue/aws-glue-crawler_schemachangepolicy.go b/cloudformation/glue/aws-glue-crawler_schemachangepolicy.go index 21c5ef99f9..e34a6460ab 100644 --- a/cloudformation/glue/aws-glue-crawler_schemachangepolicy.go +++ b/cloudformation/glue/aws-glue-crawler_schemachangepolicy.go @@ -21,6 +21,9 @@ type Crawler_SchemaChangePolicy struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/glue/aws-glue-crawler_targets.go b/cloudformation/glue/aws-glue-crawler_targets.go index 7349d57c97..667f896b57 100644 --- a/cloudformation/glue/aws-glue-crawler_targets.go +++ b/cloudformation/glue/aws-glue-crawler_targets.go @@ -31,6 +31,9 @@ type Crawler_Targets struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/glue/aws-glue-database.go b/cloudformation/glue/aws-glue-database.go index 31ca1c9f75..0200183be4 100644 --- a/cloudformation/glue/aws-glue-database.go +++ b/cloudformation/glue/aws-glue-database.go @@ -25,6 +25,9 @@ type Database struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *Database) AWSCloudFormationType() string { func (r Database) MarshalJSON() ([]byte, error) { type Properties Database return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r Database) MarshalJSON() ([]byte, error) { func (r *Database) UnmarshalJSON(b []byte) error { type Properties Database res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *Database) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/glue/aws-glue-database_databaseinput.go b/cloudformation/glue/aws-glue-database_databaseinput.go index fcfce50226..3065b2bdb0 100644 --- a/cloudformation/glue/aws-glue-database_databaseinput.go +++ b/cloudformation/glue/aws-glue-database_databaseinput.go @@ -31,6 +31,9 @@ type Database_DatabaseInput struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/glue/aws-glue-datacatalogencryptionsettings.go b/cloudformation/glue/aws-glue-datacatalogencryptionsettings.go index 9639128e3d..a841dcb02a 100644 --- a/cloudformation/glue/aws-glue-datacatalogencryptionsettings.go +++ b/cloudformation/glue/aws-glue-datacatalogencryptionsettings.go @@ -25,6 +25,9 @@ type DataCatalogEncryptionSettings struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *DataCatalogEncryptionSettings) AWSCloudFormationType() string { func (r DataCatalogEncryptionSettings) MarshalJSON() ([]byte, error) { type Properties DataCatalogEncryptionSettings return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r DataCatalogEncryptionSettings) MarshalJSON() ([]byte, error) { func (r *DataCatalogEncryptionSettings) UnmarshalJSON(b []byte) error { type Properties DataCatalogEncryptionSettings res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *DataCatalogEncryptionSettings) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/glue/aws-glue-datacatalogencryptionsettings_connectionpasswordencryption.go b/cloudformation/glue/aws-glue-datacatalogencryptionsettings_connectionpasswordencryption.go index e84a6c0035..48b51c2a22 100644 --- a/cloudformation/glue/aws-glue-datacatalogencryptionsettings_connectionpasswordencryption.go +++ b/cloudformation/glue/aws-glue-datacatalogencryptionsettings_connectionpasswordencryption.go @@ -21,6 +21,9 @@ type DataCatalogEncryptionSettings_ConnectionPasswordEncryption struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/glue/aws-glue-datacatalogencryptionsettings_datacatalogencryptionsettings.go b/cloudformation/glue/aws-glue-datacatalogencryptionsettings_datacatalogencryptionsettings.go index 7b04b2c397..2621eebcff 100644 --- a/cloudformation/glue/aws-glue-datacatalogencryptionsettings_datacatalogencryptionsettings.go +++ b/cloudformation/glue/aws-glue-datacatalogencryptionsettings_datacatalogencryptionsettings.go @@ -21,6 +21,9 @@ type DataCatalogEncryptionSettings_DataCatalogEncryptionSettings struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/glue/aws-glue-datacatalogencryptionsettings_encryptionatrest.go b/cloudformation/glue/aws-glue-datacatalogencryptionsettings_encryptionatrest.go index a553b9f67a..9d98dbf374 100644 --- a/cloudformation/glue/aws-glue-datacatalogencryptionsettings_encryptionatrest.go +++ b/cloudformation/glue/aws-glue-datacatalogencryptionsettings_encryptionatrest.go @@ -21,6 +21,9 @@ type DataCatalogEncryptionSettings_EncryptionAtRest struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/glue/aws-glue-devendpoint.go b/cloudformation/glue/aws-glue-devendpoint.go index a712904af5..df29eb9168 100644 --- a/cloudformation/glue/aws-glue-devendpoint.go +++ b/cloudformation/glue/aws-glue-devendpoint.go @@ -52,6 +52,11 @@ type DevEndpoint struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-publickey PublicKey string `json:"PublicKey,omitempty"` + // PublicKeys AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-publickeys + PublicKeys []string `json:"PublicKeys,omitempty"` + // RoleArn AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-rolearn @@ -85,6 +90,9 @@ type DevEndpoint struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -105,19 +113,21 @@ func (r *DevEndpoint) AWSCloudFormationType() string { func (r DevEndpoint) MarshalJSON() ([]byte, error) { type Properties DevEndpoint return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -126,12 +136,13 @@ func (r DevEndpoint) MarshalJSON() ([]byte, error) { func (r *DevEndpoint) UnmarshalJSON(b []byte) error { type Properties DevEndpoint res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -155,6 +166,9 @@ func (r *DevEndpoint) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/glue/aws-glue-job.go b/cloudformation/glue/aws-glue-job.go index ca0b842241..6087ba1b53 100644 --- a/cloudformation/glue/aws-glue-job.go +++ b/cloudformation/glue/aws-glue-job.go @@ -105,6 +105,9 @@ type Job struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -125,19 +128,21 @@ func (r *Job) AWSCloudFormationType() string { func (r Job) MarshalJSON() ([]byte, error) { type Properties Job return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -146,12 +151,13 @@ func (r Job) MarshalJSON() ([]byte, error) { func (r *Job) UnmarshalJSON(b []byte) error { type Properties Job res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -175,6 +181,9 @@ func (r *Job) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/glue/aws-glue-job_connectionslist.go b/cloudformation/glue/aws-glue-job_connectionslist.go index 8390784c32..63b843ddcf 100644 --- a/cloudformation/glue/aws-glue-job_connectionslist.go +++ b/cloudformation/glue/aws-glue-job_connectionslist.go @@ -16,6 +16,9 @@ type Job_ConnectionsList struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/glue/aws-glue-job_executionproperty.go b/cloudformation/glue/aws-glue-job_executionproperty.go index ff08c9b857..d7b3b28fd0 100644 --- a/cloudformation/glue/aws-glue-job_executionproperty.go +++ b/cloudformation/glue/aws-glue-job_executionproperty.go @@ -16,6 +16,9 @@ type Job_ExecutionProperty struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/glue/aws-glue-job_jobcommand.go b/cloudformation/glue/aws-glue-job_jobcommand.go index 23447353dc..9b5a406755 100644 --- a/cloudformation/glue/aws-glue-job_jobcommand.go +++ b/cloudformation/glue/aws-glue-job_jobcommand.go @@ -26,6 +26,9 @@ type Job_JobCommand struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/glue/aws-glue-job_notificationproperty.go b/cloudformation/glue/aws-glue-job_notificationproperty.go index 564e2ff545..267d1282ab 100644 --- a/cloudformation/glue/aws-glue-job_notificationproperty.go +++ b/cloudformation/glue/aws-glue-job_notificationproperty.go @@ -16,6 +16,9 @@ type Job_NotificationProperty struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/glue/aws-glue-mltransform.go b/cloudformation/glue/aws-glue-mltransform.go index 13a774d80b..451ef84d0f 100644 --- a/cloudformation/glue/aws-glue-mltransform.go +++ b/cloudformation/glue/aws-glue-mltransform.go @@ -52,6 +52,11 @@ type MLTransform struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-role Role string `json:"Role,omitempty"` + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-tags + Tags interface{} `json:"Tags,omitempty"` + // Timeout AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-timeout @@ -70,6 +75,9 @@ type MLTransform struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -90,19 +98,21 @@ func (r *MLTransform) AWSCloudFormationType() string { func (r MLTransform) MarshalJSON() ([]byte, error) { type Properties MLTransform return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -111,12 +121,13 @@ func (r MLTransform) MarshalJSON() ([]byte, error) { func (r *MLTransform) UnmarshalJSON(b []byte) error { type Properties MLTransform res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -140,6 +151,9 @@ func (r *MLTransform) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/glue/aws-glue-mltransform_findmatchesparameters.go b/cloudformation/glue/aws-glue-mltransform_findmatchesparameters.go index 7b9ede2a21..402d6a9388 100644 --- a/cloudformation/glue/aws-glue-mltransform_findmatchesparameters.go +++ b/cloudformation/glue/aws-glue-mltransform_findmatchesparameters.go @@ -31,6 +31,9 @@ type MLTransform_FindMatchesParameters struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/glue/aws-glue-mltransform_gluetables.go b/cloudformation/glue/aws-glue-mltransform_gluetables.go index a6124b6001..be2c001a4a 100644 --- a/cloudformation/glue/aws-glue-mltransform_gluetables.go +++ b/cloudformation/glue/aws-glue-mltransform_gluetables.go @@ -31,6 +31,9 @@ type MLTransform_GlueTables struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/glue/aws-glue-mltransform_inputrecordtables.go b/cloudformation/glue/aws-glue-mltransform_inputrecordtables.go index bfcdcbb2a0..ea9475e937 100644 --- a/cloudformation/glue/aws-glue-mltransform_inputrecordtables.go +++ b/cloudformation/glue/aws-glue-mltransform_inputrecordtables.go @@ -16,6 +16,9 @@ type MLTransform_InputRecordTables struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/glue/aws-glue-mltransform_transformparameters.go b/cloudformation/glue/aws-glue-mltransform_transformparameters.go index fa340c7523..881b63ac55 100644 --- a/cloudformation/glue/aws-glue-mltransform_transformparameters.go +++ b/cloudformation/glue/aws-glue-mltransform_transformparameters.go @@ -21,6 +21,9 @@ type MLTransform_TransformParameters struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/glue/aws-glue-partition.go b/cloudformation/glue/aws-glue-partition.go index c024a4e5ab..7a483b1295 100644 --- a/cloudformation/glue/aws-glue-partition.go +++ b/cloudformation/glue/aws-glue-partition.go @@ -35,6 +35,9 @@ type Partition struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -55,19 +58,21 @@ func (r *Partition) AWSCloudFormationType() string { func (r Partition) MarshalJSON() ([]byte, error) { type Properties Partition return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -76,12 +81,13 @@ func (r Partition) MarshalJSON() ([]byte, error) { func (r *Partition) UnmarshalJSON(b []byte) error { type Properties Partition res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -105,6 +111,9 @@ func (r *Partition) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/glue/aws-glue-partition_column.go b/cloudformation/glue/aws-glue-partition_column.go index 2c71e0cb16..f2409b5224 100644 --- a/cloudformation/glue/aws-glue-partition_column.go +++ b/cloudformation/glue/aws-glue-partition_column.go @@ -26,6 +26,9 @@ type Partition_Column struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/glue/aws-glue-partition_order.go b/cloudformation/glue/aws-glue-partition_order.go index 9de0f177c3..5b60984b54 100644 --- a/cloudformation/glue/aws-glue-partition_order.go +++ b/cloudformation/glue/aws-glue-partition_order.go @@ -21,6 +21,9 @@ type Partition_Order struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/glue/aws-glue-partition_partitioninput.go b/cloudformation/glue/aws-glue-partition_partitioninput.go index 79323e8feb..9452a77dc2 100644 --- a/cloudformation/glue/aws-glue-partition_partitioninput.go +++ b/cloudformation/glue/aws-glue-partition_partitioninput.go @@ -26,6 +26,9 @@ type Partition_PartitionInput struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/glue/aws-glue-partition_serdeinfo.go b/cloudformation/glue/aws-glue-partition_serdeinfo.go index 6cc3ac8fb5..d82842fbff 100644 --- a/cloudformation/glue/aws-glue-partition_serdeinfo.go +++ b/cloudformation/glue/aws-glue-partition_serdeinfo.go @@ -26,6 +26,9 @@ type Partition_SerdeInfo struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/glue/aws-glue-partition_skewedinfo.go b/cloudformation/glue/aws-glue-partition_skewedinfo.go index 6175db035f..24099f730b 100644 --- a/cloudformation/glue/aws-glue-partition_skewedinfo.go +++ b/cloudformation/glue/aws-glue-partition_skewedinfo.go @@ -26,6 +26,9 @@ type Partition_SkewedInfo struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/glue/aws-glue-partition_storagedescriptor.go b/cloudformation/glue/aws-glue-partition_storagedescriptor.go index 24d7440ac5..3bd7b111dd 100644 --- a/cloudformation/glue/aws-glue-partition_storagedescriptor.go +++ b/cloudformation/glue/aws-glue-partition_storagedescriptor.go @@ -71,6 +71,9 @@ type Partition_StorageDescriptor struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/glue/aws-glue-securityconfiguration.go b/cloudformation/glue/aws-glue-securityconfiguration.go index f362a007a2..b0dd70b3a5 100644 --- a/cloudformation/glue/aws-glue-securityconfiguration.go +++ b/cloudformation/glue/aws-glue-securityconfiguration.go @@ -25,6 +25,9 @@ type SecurityConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *SecurityConfiguration) AWSCloudFormationType() string { func (r SecurityConfiguration) MarshalJSON() ([]byte, error) { type Properties SecurityConfiguration return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r SecurityConfiguration) MarshalJSON() ([]byte, error) { func (r *SecurityConfiguration) UnmarshalJSON(b []byte) error { type Properties SecurityConfiguration res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *SecurityConfiguration) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/glue/aws-glue-securityconfiguration_cloudwatchencryption.go b/cloudformation/glue/aws-glue-securityconfiguration_cloudwatchencryption.go index 3dbd198ba8..619d6188e1 100644 --- a/cloudformation/glue/aws-glue-securityconfiguration_cloudwatchencryption.go +++ b/cloudformation/glue/aws-glue-securityconfiguration_cloudwatchencryption.go @@ -21,6 +21,9 @@ type SecurityConfiguration_CloudWatchEncryption struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/glue/aws-glue-securityconfiguration_encryptionconfiguration.go b/cloudformation/glue/aws-glue-securityconfiguration_encryptionconfiguration.go index 8d690cfe9a..b336e3e405 100644 --- a/cloudformation/glue/aws-glue-securityconfiguration_encryptionconfiguration.go +++ b/cloudformation/glue/aws-glue-securityconfiguration_encryptionconfiguration.go @@ -26,6 +26,9 @@ type SecurityConfiguration_EncryptionConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/glue/aws-glue-securityconfiguration_jobbookmarksencryption.go b/cloudformation/glue/aws-glue-securityconfiguration_jobbookmarksencryption.go index 5831143940..899de0ecab 100644 --- a/cloudformation/glue/aws-glue-securityconfiguration_jobbookmarksencryption.go +++ b/cloudformation/glue/aws-glue-securityconfiguration_jobbookmarksencryption.go @@ -21,6 +21,9 @@ type SecurityConfiguration_JobBookmarksEncryption struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/glue/aws-glue-securityconfiguration_s3encryption.go b/cloudformation/glue/aws-glue-securityconfiguration_s3encryption.go index 1225b7c7d8..7e7d53e9c7 100644 --- a/cloudformation/glue/aws-glue-securityconfiguration_s3encryption.go +++ b/cloudformation/glue/aws-glue-securityconfiguration_s3encryption.go @@ -21,6 +21,9 @@ type SecurityConfiguration_S3Encryption struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/glue/aws-glue-securityconfiguration_s3encryptions.go b/cloudformation/glue/aws-glue-securityconfiguration_s3encryptions.go index 3113c64af5..0b8bea3b1b 100644 --- a/cloudformation/glue/aws-glue-securityconfiguration_s3encryptions.go +++ b/cloudformation/glue/aws-glue-securityconfiguration_s3encryptions.go @@ -11,6 +11,9 @@ type SecurityConfiguration_S3Encryptions struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/glue/aws-glue-table.go b/cloudformation/glue/aws-glue-table.go index 6ef4985b53..109bb347b3 100644 --- a/cloudformation/glue/aws-glue-table.go +++ b/cloudformation/glue/aws-glue-table.go @@ -30,6 +30,9 @@ type Table struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *Table) AWSCloudFormationType() string { func (r Table) MarshalJSON() ([]byte, error) { type Properties Table return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r Table) MarshalJSON() ([]byte, error) { func (r *Table) UnmarshalJSON(b []byte) error { type Properties Table res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *Table) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/glue/aws-glue-table_column.go b/cloudformation/glue/aws-glue-table_column.go index ae780a7ba0..d1bb4d7b4c 100644 --- a/cloudformation/glue/aws-glue-table_column.go +++ b/cloudformation/glue/aws-glue-table_column.go @@ -26,6 +26,9 @@ type Table_Column struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/glue/aws-glue-table_order.go b/cloudformation/glue/aws-glue-table_order.go index a80dc95c13..0b2618f4d7 100644 --- a/cloudformation/glue/aws-glue-table_order.go +++ b/cloudformation/glue/aws-glue-table_order.go @@ -21,6 +21,9 @@ type Table_Order struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/glue/aws-glue-table_serdeinfo.go b/cloudformation/glue/aws-glue-table_serdeinfo.go index 180f483e05..90784ce2f9 100644 --- a/cloudformation/glue/aws-glue-table_serdeinfo.go +++ b/cloudformation/glue/aws-glue-table_serdeinfo.go @@ -26,6 +26,9 @@ type Table_SerdeInfo struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/glue/aws-glue-table_skewedinfo.go b/cloudformation/glue/aws-glue-table_skewedinfo.go index ffe603d574..112df9ec73 100644 --- a/cloudformation/glue/aws-glue-table_skewedinfo.go +++ b/cloudformation/glue/aws-glue-table_skewedinfo.go @@ -26,6 +26,9 @@ type Table_SkewedInfo struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/glue/aws-glue-table_storagedescriptor.go b/cloudformation/glue/aws-glue-table_storagedescriptor.go index 0e8c5cb786..cdb25520f3 100644 --- a/cloudformation/glue/aws-glue-table_storagedescriptor.go +++ b/cloudformation/glue/aws-glue-table_storagedescriptor.go @@ -71,6 +71,9 @@ type Table_StorageDescriptor struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/glue/aws-glue-table_tableinput.go b/cloudformation/glue/aws-glue-table_tableinput.go index 9b45d75c04..4c05309df1 100644 --- a/cloudformation/glue/aws-glue-table_tableinput.go +++ b/cloudformation/glue/aws-glue-table_tableinput.go @@ -61,6 +61,9 @@ type Table_TableInput struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/glue/aws-glue-trigger.go b/cloudformation/glue/aws-glue-trigger.go index 942ab16045..41ceb8f3d8 100644 --- a/cloudformation/glue/aws-glue-trigger.go +++ b/cloudformation/glue/aws-glue-trigger.go @@ -60,6 +60,9 @@ type Trigger struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -80,19 +83,21 @@ func (r *Trigger) AWSCloudFormationType() string { func (r Trigger) MarshalJSON() ([]byte, error) { type Properties Trigger return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -101,12 +106,13 @@ func (r Trigger) MarshalJSON() ([]byte, error) { func (r *Trigger) UnmarshalJSON(b []byte) error { type Properties Trigger res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -130,6 +136,9 @@ func (r *Trigger) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/glue/aws-glue-trigger_action.go b/cloudformation/glue/aws-glue-trigger_action.go index 8099a512c8..2fd8dd19e2 100644 --- a/cloudformation/glue/aws-glue-trigger_action.go +++ b/cloudformation/glue/aws-glue-trigger_action.go @@ -41,6 +41,9 @@ type Trigger_Action struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/glue/aws-glue-trigger_condition.go b/cloudformation/glue/aws-glue-trigger_condition.go index 2b71d1d200..931c331a8b 100644 --- a/cloudformation/glue/aws-glue-trigger_condition.go +++ b/cloudformation/glue/aws-glue-trigger_condition.go @@ -36,6 +36,9 @@ type Trigger_Condition struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/glue/aws-glue-trigger_notificationproperty.go b/cloudformation/glue/aws-glue-trigger_notificationproperty.go index 00462b88c0..3fb705783f 100644 --- a/cloudformation/glue/aws-glue-trigger_notificationproperty.go +++ b/cloudformation/glue/aws-glue-trigger_notificationproperty.go @@ -16,6 +16,9 @@ type Trigger_NotificationProperty struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/glue/aws-glue-trigger_predicate.go b/cloudformation/glue/aws-glue-trigger_predicate.go index ff3eaeb03f..d5f4e88473 100644 --- a/cloudformation/glue/aws-glue-trigger_predicate.go +++ b/cloudformation/glue/aws-glue-trigger_predicate.go @@ -21,6 +21,9 @@ type Trigger_Predicate struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/glue/aws-glue-workflow.go b/cloudformation/glue/aws-glue-workflow.go index a723e47c2f..bfaf09bb31 100644 --- a/cloudformation/glue/aws-glue-workflow.go +++ b/cloudformation/glue/aws-glue-workflow.go @@ -35,6 +35,9 @@ type Workflow struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -55,19 +58,21 @@ func (r *Workflow) AWSCloudFormationType() string { func (r Workflow) MarshalJSON() ([]byte, error) { type Properties Workflow return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -76,12 +81,13 @@ func (r Workflow) MarshalJSON() ([]byte, error) { func (r *Workflow) UnmarshalJSON(b []byte) error { type Properties Workflow res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -105,6 +111,9 @@ func (r *Workflow) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/greengrass/aws-greengrass-connectordefinition.go b/cloudformation/greengrass/aws-greengrass-connectordefinition.go index d76e2a0a21..bb26af3871 100644 --- a/cloudformation/greengrass/aws-greengrass-connectordefinition.go +++ b/cloudformation/greengrass/aws-greengrass-connectordefinition.go @@ -30,6 +30,9 @@ type ConnectorDefinition struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *ConnectorDefinition) AWSCloudFormationType() string { func (r ConnectorDefinition) MarshalJSON() ([]byte, error) { type Properties ConnectorDefinition return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r ConnectorDefinition) MarshalJSON() ([]byte, error) { func (r *ConnectorDefinition) UnmarshalJSON(b []byte) error { type Properties ConnectorDefinition res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *ConnectorDefinition) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/greengrass/aws-greengrass-connectordefinition_connector.go b/cloudformation/greengrass/aws-greengrass-connectordefinition_connector.go index 2561e3dad2..5c3ec1a099 100644 --- a/cloudformation/greengrass/aws-greengrass-connectordefinition_connector.go +++ b/cloudformation/greengrass/aws-greengrass-connectordefinition_connector.go @@ -26,6 +26,9 @@ type ConnectorDefinition_Connector struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/greengrass/aws-greengrass-connectordefinition_connectordefinitionversion.go b/cloudformation/greengrass/aws-greengrass-connectordefinition_connectordefinitionversion.go index 5a42fd0a29..0f2af4e029 100644 --- a/cloudformation/greengrass/aws-greengrass-connectordefinition_connectordefinitionversion.go +++ b/cloudformation/greengrass/aws-greengrass-connectordefinition_connectordefinitionversion.go @@ -16,6 +16,9 @@ type ConnectorDefinition_ConnectorDefinitionVersion struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/greengrass/aws-greengrass-connectordefinitionversion.go b/cloudformation/greengrass/aws-greengrass-connectordefinitionversion.go index 8b870f2fb8..5f0431fb36 100644 --- a/cloudformation/greengrass/aws-greengrass-connectordefinitionversion.go +++ b/cloudformation/greengrass/aws-greengrass-connectordefinitionversion.go @@ -25,6 +25,9 @@ type ConnectorDefinitionVersion struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *ConnectorDefinitionVersion) AWSCloudFormationType() string { func (r ConnectorDefinitionVersion) MarshalJSON() ([]byte, error) { type Properties ConnectorDefinitionVersion return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r ConnectorDefinitionVersion) MarshalJSON() ([]byte, error) { func (r *ConnectorDefinitionVersion) UnmarshalJSON(b []byte) error { type Properties ConnectorDefinitionVersion res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *ConnectorDefinitionVersion) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/greengrass/aws-greengrass-connectordefinitionversion_connector.go b/cloudformation/greengrass/aws-greengrass-connectordefinitionversion_connector.go index 18c01f26c2..a7800b2dd3 100644 --- a/cloudformation/greengrass/aws-greengrass-connectordefinitionversion_connector.go +++ b/cloudformation/greengrass/aws-greengrass-connectordefinitionversion_connector.go @@ -26,6 +26,9 @@ type ConnectorDefinitionVersion_Connector struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/greengrass/aws-greengrass-coredefinition.go b/cloudformation/greengrass/aws-greengrass-coredefinition.go index 357a71e92d..b6893fe9db 100644 --- a/cloudformation/greengrass/aws-greengrass-coredefinition.go +++ b/cloudformation/greengrass/aws-greengrass-coredefinition.go @@ -30,6 +30,9 @@ type CoreDefinition struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *CoreDefinition) AWSCloudFormationType() string { func (r CoreDefinition) MarshalJSON() ([]byte, error) { type Properties CoreDefinition return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r CoreDefinition) MarshalJSON() ([]byte, error) { func (r *CoreDefinition) UnmarshalJSON(b []byte) error { type Properties CoreDefinition res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *CoreDefinition) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/greengrass/aws-greengrass-coredefinition_core.go b/cloudformation/greengrass/aws-greengrass-coredefinition_core.go index bc34ee35d4..f671530802 100644 --- a/cloudformation/greengrass/aws-greengrass-coredefinition_core.go +++ b/cloudformation/greengrass/aws-greengrass-coredefinition_core.go @@ -31,6 +31,9 @@ type CoreDefinition_Core struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/greengrass/aws-greengrass-coredefinition_coredefinitionversion.go b/cloudformation/greengrass/aws-greengrass-coredefinition_coredefinitionversion.go index 4303e7c342..bf701e8439 100644 --- a/cloudformation/greengrass/aws-greengrass-coredefinition_coredefinitionversion.go +++ b/cloudformation/greengrass/aws-greengrass-coredefinition_coredefinitionversion.go @@ -16,6 +16,9 @@ type CoreDefinition_CoreDefinitionVersion struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/greengrass/aws-greengrass-coredefinitionversion.go b/cloudformation/greengrass/aws-greengrass-coredefinitionversion.go index 64b3d12d07..2ed66a6efc 100644 --- a/cloudformation/greengrass/aws-greengrass-coredefinitionversion.go +++ b/cloudformation/greengrass/aws-greengrass-coredefinitionversion.go @@ -25,6 +25,9 @@ type CoreDefinitionVersion struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *CoreDefinitionVersion) AWSCloudFormationType() string { func (r CoreDefinitionVersion) MarshalJSON() ([]byte, error) { type Properties CoreDefinitionVersion return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r CoreDefinitionVersion) MarshalJSON() ([]byte, error) { func (r *CoreDefinitionVersion) UnmarshalJSON(b []byte) error { type Properties CoreDefinitionVersion res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *CoreDefinitionVersion) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/greengrass/aws-greengrass-coredefinitionversion_core.go b/cloudformation/greengrass/aws-greengrass-coredefinitionversion_core.go index 393457f112..7049e51e40 100644 --- a/cloudformation/greengrass/aws-greengrass-coredefinitionversion_core.go +++ b/cloudformation/greengrass/aws-greengrass-coredefinitionversion_core.go @@ -31,6 +31,9 @@ type CoreDefinitionVersion_Core struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/greengrass/aws-greengrass-devicedefinition.go b/cloudformation/greengrass/aws-greengrass-devicedefinition.go index 7c1f045500..c24b49701d 100644 --- a/cloudformation/greengrass/aws-greengrass-devicedefinition.go +++ b/cloudformation/greengrass/aws-greengrass-devicedefinition.go @@ -30,6 +30,9 @@ type DeviceDefinition struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *DeviceDefinition) AWSCloudFormationType() string { func (r DeviceDefinition) MarshalJSON() ([]byte, error) { type Properties DeviceDefinition return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r DeviceDefinition) MarshalJSON() ([]byte, error) { func (r *DeviceDefinition) UnmarshalJSON(b []byte) error { type Properties DeviceDefinition res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *DeviceDefinition) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/greengrass/aws-greengrass-devicedefinition_device.go b/cloudformation/greengrass/aws-greengrass-devicedefinition_device.go index 11e9bd3056..e88019056c 100644 --- a/cloudformation/greengrass/aws-greengrass-devicedefinition_device.go +++ b/cloudformation/greengrass/aws-greengrass-devicedefinition_device.go @@ -31,6 +31,9 @@ type DeviceDefinition_Device struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/greengrass/aws-greengrass-devicedefinition_devicedefinitionversion.go b/cloudformation/greengrass/aws-greengrass-devicedefinition_devicedefinitionversion.go index 3f6519d117..da3ad517ff 100644 --- a/cloudformation/greengrass/aws-greengrass-devicedefinition_devicedefinitionversion.go +++ b/cloudformation/greengrass/aws-greengrass-devicedefinition_devicedefinitionversion.go @@ -16,6 +16,9 @@ type DeviceDefinition_DeviceDefinitionVersion struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/greengrass/aws-greengrass-devicedefinitionversion.go b/cloudformation/greengrass/aws-greengrass-devicedefinitionversion.go index 3e3328afc3..c67a285379 100644 --- a/cloudformation/greengrass/aws-greengrass-devicedefinitionversion.go +++ b/cloudformation/greengrass/aws-greengrass-devicedefinitionversion.go @@ -25,6 +25,9 @@ type DeviceDefinitionVersion struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *DeviceDefinitionVersion) AWSCloudFormationType() string { func (r DeviceDefinitionVersion) MarshalJSON() ([]byte, error) { type Properties DeviceDefinitionVersion return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r DeviceDefinitionVersion) MarshalJSON() ([]byte, error) { func (r *DeviceDefinitionVersion) UnmarshalJSON(b []byte) error { type Properties DeviceDefinitionVersion res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *DeviceDefinitionVersion) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/greengrass/aws-greengrass-devicedefinitionversion_device.go b/cloudformation/greengrass/aws-greengrass-devicedefinitionversion_device.go index 377596a957..e0a0df1b6d 100644 --- a/cloudformation/greengrass/aws-greengrass-devicedefinitionversion_device.go +++ b/cloudformation/greengrass/aws-greengrass-devicedefinitionversion_device.go @@ -31,6 +31,9 @@ type DeviceDefinitionVersion_Device struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/greengrass/aws-greengrass-functiondefinition.go b/cloudformation/greengrass/aws-greengrass-functiondefinition.go index 3919532e00..26151b2fd6 100644 --- a/cloudformation/greengrass/aws-greengrass-functiondefinition.go +++ b/cloudformation/greengrass/aws-greengrass-functiondefinition.go @@ -30,6 +30,9 @@ type FunctionDefinition struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *FunctionDefinition) AWSCloudFormationType() string { func (r FunctionDefinition) MarshalJSON() ([]byte, error) { type Properties FunctionDefinition return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r FunctionDefinition) MarshalJSON() ([]byte, error) { func (r *FunctionDefinition) UnmarshalJSON(b []byte) error { type Properties FunctionDefinition res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *FunctionDefinition) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/greengrass/aws-greengrass-functiondefinition_defaultconfig.go b/cloudformation/greengrass/aws-greengrass-functiondefinition_defaultconfig.go index 1a6dc708af..240370e969 100644 --- a/cloudformation/greengrass/aws-greengrass-functiondefinition_defaultconfig.go +++ b/cloudformation/greengrass/aws-greengrass-functiondefinition_defaultconfig.go @@ -16,6 +16,9 @@ type FunctionDefinition_DefaultConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/greengrass/aws-greengrass-functiondefinition_environment.go b/cloudformation/greengrass/aws-greengrass-functiondefinition_environment.go index 06432bc61f..fa4eff01ea 100644 --- a/cloudformation/greengrass/aws-greengrass-functiondefinition_environment.go +++ b/cloudformation/greengrass/aws-greengrass-functiondefinition_environment.go @@ -31,6 +31,9 @@ type FunctionDefinition_Environment struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/greengrass/aws-greengrass-functiondefinition_execution.go b/cloudformation/greengrass/aws-greengrass-functiondefinition_execution.go index 42fa36c8ee..f852d600fc 100644 --- a/cloudformation/greengrass/aws-greengrass-functiondefinition_execution.go +++ b/cloudformation/greengrass/aws-greengrass-functiondefinition_execution.go @@ -21,6 +21,9 @@ type FunctionDefinition_Execution struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/greengrass/aws-greengrass-functiondefinition_function.go b/cloudformation/greengrass/aws-greengrass-functiondefinition_function.go index ccd4e7c974..e508f5b0c4 100644 --- a/cloudformation/greengrass/aws-greengrass-functiondefinition_function.go +++ b/cloudformation/greengrass/aws-greengrass-functiondefinition_function.go @@ -26,6 +26,9 @@ type FunctionDefinition_Function struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/greengrass/aws-greengrass-functiondefinition_functionconfiguration.go b/cloudformation/greengrass/aws-greengrass-functiondefinition_functionconfiguration.go index 61815e9b09..bac0c6a0a3 100644 --- a/cloudformation/greengrass/aws-greengrass-functiondefinition_functionconfiguration.go +++ b/cloudformation/greengrass/aws-greengrass-functiondefinition_functionconfiguration.go @@ -46,6 +46,9 @@ type FunctionDefinition_FunctionConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/greengrass/aws-greengrass-functiondefinition_functiondefinitionversion.go b/cloudformation/greengrass/aws-greengrass-functiondefinition_functiondefinitionversion.go index 5eddb7f8b9..6d37d41059 100644 --- a/cloudformation/greengrass/aws-greengrass-functiondefinition_functiondefinitionversion.go +++ b/cloudformation/greengrass/aws-greengrass-functiondefinition_functiondefinitionversion.go @@ -21,6 +21,9 @@ type FunctionDefinition_FunctionDefinitionVersion struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/greengrass/aws-greengrass-functiondefinition_resourceaccesspolicy.go b/cloudformation/greengrass/aws-greengrass-functiondefinition_resourceaccesspolicy.go index f0741d33c7..0f277ba2ba 100644 --- a/cloudformation/greengrass/aws-greengrass-functiondefinition_resourceaccesspolicy.go +++ b/cloudformation/greengrass/aws-greengrass-functiondefinition_resourceaccesspolicy.go @@ -21,6 +21,9 @@ type FunctionDefinition_ResourceAccessPolicy struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/greengrass/aws-greengrass-functiondefinition_runas.go b/cloudformation/greengrass/aws-greengrass-functiondefinition_runas.go index 5313fe5c3e..8c6688be2e 100644 --- a/cloudformation/greengrass/aws-greengrass-functiondefinition_runas.go +++ b/cloudformation/greengrass/aws-greengrass-functiondefinition_runas.go @@ -21,6 +21,9 @@ type FunctionDefinition_RunAs struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/greengrass/aws-greengrass-functiondefinitionversion.go b/cloudformation/greengrass/aws-greengrass-functiondefinitionversion.go index c7dc95eb95..0af309f99c 100644 --- a/cloudformation/greengrass/aws-greengrass-functiondefinitionversion.go +++ b/cloudformation/greengrass/aws-greengrass-functiondefinitionversion.go @@ -30,6 +30,9 @@ type FunctionDefinitionVersion struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *FunctionDefinitionVersion) AWSCloudFormationType() string { func (r FunctionDefinitionVersion) MarshalJSON() ([]byte, error) { type Properties FunctionDefinitionVersion return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r FunctionDefinitionVersion) MarshalJSON() ([]byte, error) { func (r *FunctionDefinitionVersion) UnmarshalJSON(b []byte) error { type Properties FunctionDefinitionVersion res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *FunctionDefinitionVersion) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/greengrass/aws-greengrass-functiondefinitionversion_defaultconfig.go b/cloudformation/greengrass/aws-greengrass-functiondefinitionversion_defaultconfig.go index 9e71cebd54..e3e287099f 100644 --- a/cloudformation/greengrass/aws-greengrass-functiondefinitionversion_defaultconfig.go +++ b/cloudformation/greengrass/aws-greengrass-functiondefinitionversion_defaultconfig.go @@ -16,6 +16,9 @@ type FunctionDefinitionVersion_DefaultConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/greengrass/aws-greengrass-functiondefinitionversion_environment.go b/cloudformation/greengrass/aws-greengrass-functiondefinitionversion_environment.go index bdb972ab0c..c369f6ce64 100644 --- a/cloudformation/greengrass/aws-greengrass-functiondefinitionversion_environment.go +++ b/cloudformation/greengrass/aws-greengrass-functiondefinitionversion_environment.go @@ -31,6 +31,9 @@ type FunctionDefinitionVersion_Environment struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/greengrass/aws-greengrass-functiondefinitionversion_execution.go b/cloudformation/greengrass/aws-greengrass-functiondefinitionversion_execution.go index 6585e288fc..dfab818556 100644 --- a/cloudformation/greengrass/aws-greengrass-functiondefinitionversion_execution.go +++ b/cloudformation/greengrass/aws-greengrass-functiondefinitionversion_execution.go @@ -21,6 +21,9 @@ type FunctionDefinitionVersion_Execution struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/greengrass/aws-greengrass-functiondefinitionversion_function.go b/cloudformation/greengrass/aws-greengrass-functiondefinitionversion_function.go index cb0e35ae33..44323313f2 100644 --- a/cloudformation/greengrass/aws-greengrass-functiondefinitionversion_function.go +++ b/cloudformation/greengrass/aws-greengrass-functiondefinitionversion_function.go @@ -26,6 +26,9 @@ type FunctionDefinitionVersion_Function struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/greengrass/aws-greengrass-functiondefinitionversion_functionconfiguration.go b/cloudformation/greengrass/aws-greengrass-functiondefinitionversion_functionconfiguration.go index 766d9b1ab5..f6df1f77dd 100644 --- a/cloudformation/greengrass/aws-greengrass-functiondefinitionversion_functionconfiguration.go +++ b/cloudformation/greengrass/aws-greengrass-functiondefinitionversion_functionconfiguration.go @@ -46,6 +46,9 @@ type FunctionDefinitionVersion_FunctionConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/greengrass/aws-greengrass-functiondefinitionversion_resourceaccesspolicy.go b/cloudformation/greengrass/aws-greengrass-functiondefinitionversion_resourceaccesspolicy.go index 7c592ed42b..82e42bebd1 100644 --- a/cloudformation/greengrass/aws-greengrass-functiondefinitionversion_resourceaccesspolicy.go +++ b/cloudformation/greengrass/aws-greengrass-functiondefinitionversion_resourceaccesspolicy.go @@ -21,6 +21,9 @@ type FunctionDefinitionVersion_ResourceAccessPolicy struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/greengrass/aws-greengrass-functiondefinitionversion_runas.go b/cloudformation/greengrass/aws-greengrass-functiondefinitionversion_runas.go index d766b712ee..a52b32889f 100644 --- a/cloudformation/greengrass/aws-greengrass-functiondefinitionversion_runas.go +++ b/cloudformation/greengrass/aws-greengrass-functiondefinitionversion_runas.go @@ -21,6 +21,9 @@ type FunctionDefinitionVersion_RunAs struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/greengrass/aws-greengrass-group.go b/cloudformation/greengrass/aws-greengrass-group.go index 914cbfd17d..8ed45a0d72 100644 --- a/cloudformation/greengrass/aws-greengrass-group.go +++ b/cloudformation/greengrass/aws-greengrass-group.go @@ -35,6 +35,9 @@ type Group struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -55,19 +58,21 @@ func (r *Group) AWSCloudFormationType() string { func (r Group) MarshalJSON() ([]byte, error) { type Properties Group return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -76,12 +81,13 @@ func (r Group) MarshalJSON() ([]byte, error) { func (r *Group) UnmarshalJSON(b []byte) error { type Properties Group res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -105,6 +111,9 @@ func (r *Group) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/greengrass/aws-greengrass-group_groupversion.go b/cloudformation/greengrass/aws-greengrass-group_groupversion.go index 8cdb531a41..9a2d3a48fd 100644 --- a/cloudformation/greengrass/aws-greengrass-group_groupversion.go +++ b/cloudformation/greengrass/aws-greengrass-group_groupversion.go @@ -46,6 +46,9 @@ type Group_GroupVersion struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/greengrass/aws-greengrass-groupversion.go b/cloudformation/greengrass/aws-greengrass-groupversion.go index 80c63f9293..29d9addb9f 100644 --- a/cloudformation/greengrass/aws-greengrass-groupversion.go +++ b/cloudformation/greengrass/aws-greengrass-groupversion.go @@ -55,6 +55,9 @@ type GroupVersion struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -75,19 +78,21 @@ func (r *GroupVersion) AWSCloudFormationType() string { func (r GroupVersion) MarshalJSON() ([]byte, error) { type Properties GroupVersion return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -96,12 +101,13 @@ func (r GroupVersion) MarshalJSON() ([]byte, error) { func (r *GroupVersion) UnmarshalJSON(b []byte) error { type Properties GroupVersion res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -125,6 +131,9 @@ func (r *GroupVersion) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/greengrass/aws-greengrass-loggerdefinition.go b/cloudformation/greengrass/aws-greengrass-loggerdefinition.go index 5c2355578b..835c93f83c 100644 --- a/cloudformation/greengrass/aws-greengrass-loggerdefinition.go +++ b/cloudformation/greengrass/aws-greengrass-loggerdefinition.go @@ -30,6 +30,9 @@ type LoggerDefinition struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *LoggerDefinition) AWSCloudFormationType() string { func (r LoggerDefinition) MarshalJSON() ([]byte, error) { type Properties LoggerDefinition return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r LoggerDefinition) MarshalJSON() ([]byte, error) { func (r *LoggerDefinition) UnmarshalJSON(b []byte) error { type Properties LoggerDefinition res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *LoggerDefinition) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/greengrass/aws-greengrass-loggerdefinition_logger.go b/cloudformation/greengrass/aws-greengrass-loggerdefinition_logger.go index 27c35b4ea4..0b518d9f10 100644 --- a/cloudformation/greengrass/aws-greengrass-loggerdefinition_logger.go +++ b/cloudformation/greengrass/aws-greengrass-loggerdefinition_logger.go @@ -36,6 +36,9 @@ type LoggerDefinition_Logger struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/greengrass/aws-greengrass-loggerdefinition_loggerdefinitionversion.go b/cloudformation/greengrass/aws-greengrass-loggerdefinition_loggerdefinitionversion.go index cb1f00590c..08232f9d8b 100644 --- a/cloudformation/greengrass/aws-greengrass-loggerdefinition_loggerdefinitionversion.go +++ b/cloudformation/greengrass/aws-greengrass-loggerdefinition_loggerdefinitionversion.go @@ -16,6 +16,9 @@ type LoggerDefinition_LoggerDefinitionVersion struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/greengrass/aws-greengrass-loggerdefinitionversion.go b/cloudformation/greengrass/aws-greengrass-loggerdefinitionversion.go index 7d646135d6..7a473e276d 100644 --- a/cloudformation/greengrass/aws-greengrass-loggerdefinitionversion.go +++ b/cloudformation/greengrass/aws-greengrass-loggerdefinitionversion.go @@ -25,6 +25,9 @@ type LoggerDefinitionVersion struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *LoggerDefinitionVersion) AWSCloudFormationType() string { func (r LoggerDefinitionVersion) MarshalJSON() ([]byte, error) { type Properties LoggerDefinitionVersion return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r LoggerDefinitionVersion) MarshalJSON() ([]byte, error) { func (r *LoggerDefinitionVersion) UnmarshalJSON(b []byte) error { type Properties LoggerDefinitionVersion res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *LoggerDefinitionVersion) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/greengrass/aws-greengrass-loggerdefinitionversion_logger.go b/cloudformation/greengrass/aws-greengrass-loggerdefinitionversion_logger.go index 0fa3f8c4fc..2b557a57d4 100644 --- a/cloudformation/greengrass/aws-greengrass-loggerdefinitionversion_logger.go +++ b/cloudformation/greengrass/aws-greengrass-loggerdefinitionversion_logger.go @@ -36,6 +36,9 @@ type LoggerDefinitionVersion_Logger struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/greengrass/aws-greengrass-resourcedefinition.go b/cloudformation/greengrass/aws-greengrass-resourcedefinition.go index f185303d32..5723f0f6cc 100644 --- a/cloudformation/greengrass/aws-greengrass-resourcedefinition.go +++ b/cloudformation/greengrass/aws-greengrass-resourcedefinition.go @@ -30,6 +30,9 @@ type ResourceDefinition struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *ResourceDefinition) AWSCloudFormationType() string { func (r ResourceDefinition) MarshalJSON() ([]byte, error) { type Properties ResourceDefinition return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r ResourceDefinition) MarshalJSON() ([]byte, error) { func (r *ResourceDefinition) UnmarshalJSON(b []byte) error { type Properties ResourceDefinition res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *ResourceDefinition) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/greengrass/aws-greengrass-resourcedefinition_groupownersetting.go b/cloudformation/greengrass/aws-greengrass-resourcedefinition_groupownersetting.go index a9d189c089..964f877cb3 100644 --- a/cloudformation/greengrass/aws-greengrass-resourcedefinition_groupownersetting.go +++ b/cloudformation/greengrass/aws-greengrass-resourcedefinition_groupownersetting.go @@ -21,6 +21,9 @@ type ResourceDefinition_GroupOwnerSetting struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/greengrass/aws-greengrass-resourcedefinition_localdeviceresourcedata.go b/cloudformation/greengrass/aws-greengrass-resourcedefinition_localdeviceresourcedata.go index 311a2345f4..9613a072aa 100644 --- a/cloudformation/greengrass/aws-greengrass-resourcedefinition_localdeviceresourcedata.go +++ b/cloudformation/greengrass/aws-greengrass-resourcedefinition_localdeviceresourcedata.go @@ -21,6 +21,9 @@ type ResourceDefinition_LocalDeviceResourceData struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/greengrass/aws-greengrass-resourcedefinition_localvolumeresourcedata.go b/cloudformation/greengrass/aws-greengrass-resourcedefinition_localvolumeresourcedata.go index ef0153ddfb..fcd26013ee 100644 --- a/cloudformation/greengrass/aws-greengrass-resourcedefinition_localvolumeresourcedata.go +++ b/cloudformation/greengrass/aws-greengrass-resourcedefinition_localvolumeresourcedata.go @@ -26,6 +26,9 @@ type ResourceDefinition_LocalVolumeResourceData struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/greengrass/aws-greengrass-resourcedefinition_resourcedatacontainer.go b/cloudformation/greengrass/aws-greengrass-resourcedefinition_resourcedatacontainer.go index 63c1d8fc6a..de6139d027 100644 --- a/cloudformation/greengrass/aws-greengrass-resourcedefinition_resourcedatacontainer.go +++ b/cloudformation/greengrass/aws-greengrass-resourcedefinition_resourcedatacontainer.go @@ -36,6 +36,9 @@ type ResourceDefinition_ResourceDataContainer struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/greengrass/aws-greengrass-resourcedefinition_resourcedefinitionversion.go b/cloudformation/greengrass/aws-greengrass-resourcedefinition_resourcedefinitionversion.go index 93fcd07050..51f4fa3b8b 100644 --- a/cloudformation/greengrass/aws-greengrass-resourcedefinition_resourcedefinitionversion.go +++ b/cloudformation/greengrass/aws-greengrass-resourcedefinition_resourcedefinitionversion.go @@ -16,6 +16,9 @@ type ResourceDefinition_ResourceDefinitionVersion struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/greengrass/aws-greengrass-resourcedefinition_resourcedownloadownersetting.go b/cloudformation/greengrass/aws-greengrass-resourcedefinition_resourcedownloadownersetting.go new file mode 100644 index 0000000000..2b0801e23e --- /dev/null +++ b/cloudformation/greengrass/aws-greengrass-resourcedefinition_resourcedownloadownersetting.go @@ -0,0 +1,40 @@ +package greengrass + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ResourceDefinition_ResourceDownloadOwnerSetting AWS CloudFormation Resource (AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourcedownloadownersetting.html +type ResourceDefinition_ResourceDownloadOwnerSetting struct { + + // GroupOwner AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourcedownloadownersetting.html#cfn-greengrass-resourcedefinition-resourcedownloadownersetting-groupowner + GroupOwner string `json:"GroupOwner,omitempty"` + + // GroupPermission AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourcedownloadownersetting.html#cfn-greengrass-resourcedefinition-resourcedownloadownersetting-grouppermission + GroupPermission string `json:"GroupPermission,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ResourceDefinition_ResourceDownloadOwnerSetting) AWSCloudFormationType() string { + return "AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting" +} diff --git a/cloudformation/greengrass/aws-greengrass-resourcedefinition_resourceinstance.go b/cloudformation/greengrass/aws-greengrass-resourcedefinition_resourceinstance.go index 51770d2fba..3612840580 100644 --- a/cloudformation/greengrass/aws-greengrass-resourcedefinition_resourceinstance.go +++ b/cloudformation/greengrass/aws-greengrass-resourcedefinition_resourceinstance.go @@ -26,6 +26,9 @@ type ResourceDefinition_ResourceInstance struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/greengrass/aws-greengrass-resourcedefinition_s3machinelearningmodelresourcedata.go b/cloudformation/greengrass/aws-greengrass-resourcedefinition_s3machinelearningmodelresourcedata.go index ae8ee1eb6f..4f8c55d1e3 100644 --- a/cloudformation/greengrass/aws-greengrass-resourcedefinition_s3machinelearningmodelresourcedata.go +++ b/cloudformation/greengrass/aws-greengrass-resourcedefinition_s3machinelearningmodelresourcedata.go @@ -13,6 +13,11 @@ type ResourceDefinition_S3MachineLearningModelResourceData struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-s3machinelearningmodelresourcedata.html#cfn-greengrass-resourcedefinition-s3machinelearningmodelresourcedata-destinationpath DestinationPath string `json:"DestinationPath,omitempty"` + // OwnerSetting AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-s3machinelearningmodelresourcedata.html#cfn-greengrass-resourcedefinition-s3machinelearningmodelresourcedata-ownersetting + OwnerSetting *ResourceDefinition_ResourceDownloadOwnerSetting `json:"OwnerSetting,omitempty"` + // S3Uri AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-s3machinelearningmodelresourcedata.html#cfn-greengrass-resourcedefinition-s3machinelearningmodelresourcedata-s3uri @@ -21,6 +26,9 @@ type ResourceDefinition_S3MachineLearningModelResourceData struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/greengrass/aws-greengrass-resourcedefinition_sagemakermachinelearningmodelresourcedata.go b/cloudformation/greengrass/aws-greengrass-resourcedefinition_sagemakermachinelearningmodelresourcedata.go index 6a1e9d7405..709a642e28 100644 --- a/cloudformation/greengrass/aws-greengrass-resourcedefinition_sagemakermachinelearningmodelresourcedata.go +++ b/cloudformation/greengrass/aws-greengrass-resourcedefinition_sagemakermachinelearningmodelresourcedata.go @@ -13,6 +13,11 @@ type ResourceDefinition_SageMakerMachineLearningModelResourceData struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-sagemakermachinelearningmodelresourcedata.html#cfn-greengrass-resourcedefinition-sagemakermachinelearningmodelresourcedata-destinationpath DestinationPath string `json:"DestinationPath,omitempty"` + // OwnerSetting AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-sagemakermachinelearningmodelresourcedata.html#cfn-greengrass-resourcedefinition-sagemakermachinelearningmodelresourcedata-ownersetting + OwnerSetting *ResourceDefinition_ResourceDownloadOwnerSetting `json:"OwnerSetting,omitempty"` + // SageMakerJobArn AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-sagemakermachinelearningmodelresourcedata.html#cfn-greengrass-resourcedefinition-sagemakermachinelearningmodelresourcedata-sagemakerjobarn @@ -21,6 +26,9 @@ type ResourceDefinition_SageMakerMachineLearningModelResourceData struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/greengrass/aws-greengrass-resourcedefinition_secretsmanagersecretresourcedata.go b/cloudformation/greengrass/aws-greengrass-resourcedefinition_secretsmanagersecretresourcedata.go index 105f7d6d7c..dc929c474a 100644 --- a/cloudformation/greengrass/aws-greengrass-resourcedefinition_secretsmanagersecretresourcedata.go +++ b/cloudformation/greengrass/aws-greengrass-resourcedefinition_secretsmanagersecretresourcedata.go @@ -21,6 +21,9 @@ type ResourceDefinition_SecretsManagerSecretResourceData struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/greengrass/aws-greengrass-resourcedefinitionversion.go b/cloudformation/greengrass/aws-greengrass-resourcedefinitionversion.go index 0a3926203a..94d2dd9cdb 100644 --- a/cloudformation/greengrass/aws-greengrass-resourcedefinitionversion.go +++ b/cloudformation/greengrass/aws-greengrass-resourcedefinitionversion.go @@ -25,6 +25,9 @@ type ResourceDefinitionVersion struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *ResourceDefinitionVersion) AWSCloudFormationType() string { func (r ResourceDefinitionVersion) MarshalJSON() ([]byte, error) { type Properties ResourceDefinitionVersion return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r ResourceDefinitionVersion) MarshalJSON() ([]byte, error) { func (r *ResourceDefinitionVersion) UnmarshalJSON(b []byte) error { type Properties ResourceDefinitionVersion res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *ResourceDefinitionVersion) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/greengrass/aws-greengrass-resourcedefinitionversion_groupownersetting.go b/cloudformation/greengrass/aws-greengrass-resourcedefinitionversion_groupownersetting.go index 598897a571..d6c9f76e1f 100644 --- a/cloudformation/greengrass/aws-greengrass-resourcedefinitionversion_groupownersetting.go +++ b/cloudformation/greengrass/aws-greengrass-resourcedefinitionversion_groupownersetting.go @@ -21,6 +21,9 @@ type ResourceDefinitionVersion_GroupOwnerSetting struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/greengrass/aws-greengrass-resourcedefinitionversion_localdeviceresourcedata.go b/cloudformation/greengrass/aws-greengrass-resourcedefinitionversion_localdeviceresourcedata.go index 40b2135526..62b9672293 100644 --- a/cloudformation/greengrass/aws-greengrass-resourcedefinitionversion_localdeviceresourcedata.go +++ b/cloudformation/greengrass/aws-greengrass-resourcedefinitionversion_localdeviceresourcedata.go @@ -21,6 +21,9 @@ type ResourceDefinitionVersion_LocalDeviceResourceData struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/greengrass/aws-greengrass-resourcedefinitionversion_localvolumeresourcedata.go b/cloudformation/greengrass/aws-greengrass-resourcedefinitionversion_localvolumeresourcedata.go index a1a650e5c8..871b9ce4a7 100644 --- a/cloudformation/greengrass/aws-greengrass-resourcedefinitionversion_localvolumeresourcedata.go +++ b/cloudformation/greengrass/aws-greengrass-resourcedefinitionversion_localvolumeresourcedata.go @@ -26,6 +26,9 @@ type ResourceDefinitionVersion_LocalVolumeResourceData struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/greengrass/aws-greengrass-resourcedefinitionversion_resourcedatacontainer.go b/cloudformation/greengrass/aws-greengrass-resourcedefinitionversion_resourcedatacontainer.go index b5360caa27..b2ff7159b5 100644 --- a/cloudformation/greengrass/aws-greengrass-resourcedefinitionversion_resourcedatacontainer.go +++ b/cloudformation/greengrass/aws-greengrass-resourcedefinitionversion_resourcedatacontainer.go @@ -36,6 +36,9 @@ type ResourceDefinitionVersion_ResourceDataContainer struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/greengrass/aws-greengrass-resourcedefinitionversion_resourcedownloadownersetting.go b/cloudformation/greengrass/aws-greengrass-resourcedefinitionversion_resourcedownloadownersetting.go new file mode 100644 index 0000000000..87c43961ae --- /dev/null +++ b/cloudformation/greengrass/aws-greengrass-resourcedefinitionversion_resourcedownloadownersetting.go @@ -0,0 +1,40 @@ +package greengrass + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ResourceDefinitionVersion_ResourceDownloadOwnerSetting AWS CloudFormation Resource (AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourcedownloadownersetting.html +type ResourceDefinitionVersion_ResourceDownloadOwnerSetting struct { + + // GroupOwner AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourcedownloadownersetting.html#cfn-greengrass-resourcedefinitionversion-resourcedownloadownersetting-groupowner + GroupOwner string `json:"GroupOwner,omitempty"` + + // GroupPermission AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourcedownloadownersetting.html#cfn-greengrass-resourcedefinitionversion-resourcedownloadownersetting-grouppermission + GroupPermission string `json:"GroupPermission,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ResourceDefinitionVersion_ResourceDownloadOwnerSetting) AWSCloudFormationType() string { + return "AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting" +} diff --git a/cloudformation/greengrass/aws-greengrass-resourcedefinitionversion_resourceinstance.go b/cloudformation/greengrass/aws-greengrass-resourcedefinitionversion_resourceinstance.go index 0237e8a932..51e24d5784 100644 --- a/cloudformation/greengrass/aws-greengrass-resourcedefinitionversion_resourceinstance.go +++ b/cloudformation/greengrass/aws-greengrass-resourcedefinitionversion_resourceinstance.go @@ -26,6 +26,9 @@ type ResourceDefinitionVersion_ResourceInstance struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/greengrass/aws-greengrass-resourcedefinitionversion_s3machinelearningmodelresourcedata.go b/cloudformation/greengrass/aws-greengrass-resourcedefinitionversion_s3machinelearningmodelresourcedata.go index 5d9713403d..2c4b2ce1d2 100644 --- a/cloudformation/greengrass/aws-greengrass-resourcedefinitionversion_s3machinelearningmodelresourcedata.go +++ b/cloudformation/greengrass/aws-greengrass-resourcedefinitionversion_s3machinelearningmodelresourcedata.go @@ -13,6 +13,11 @@ type ResourceDefinitionVersion_S3MachineLearningModelResourceData struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-s3machinelearningmodelresourcedata.html#cfn-greengrass-resourcedefinitionversion-s3machinelearningmodelresourcedata-destinationpath DestinationPath string `json:"DestinationPath,omitempty"` + // OwnerSetting AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-s3machinelearningmodelresourcedata.html#cfn-greengrass-resourcedefinitionversion-s3machinelearningmodelresourcedata-ownersetting + OwnerSetting *ResourceDefinitionVersion_ResourceDownloadOwnerSetting `json:"OwnerSetting,omitempty"` + // S3Uri AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-s3machinelearningmodelresourcedata.html#cfn-greengrass-resourcedefinitionversion-s3machinelearningmodelresourcedata-s3uri @@ -21,6 +26,9 @@ type ResourceDefinitionVersion_S3MachineLearningModelResourceData struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/greengrass/aws-greengrass-resourcedefinitionversion_sagemakermachinelearningmodelresourcedata.go b/cloudformation/greengrass/aws-greengrass-resourcedefinitionversion_sagemakermachinelearningmodelresourcedata.go index b64bc6ec61..ef2153d036 100644 --- a/cloudformation/greengrass/aws-greengrass-resourcedefinitionversion_sagemakermachinelearningmodelresourcedata.go +++ b/cloudformation/greengrass/aws-greengrass-resourcedefinitionversion_sagemakermachinelearningmodelresourcedata.go @@ -13,6 +13,11 @@ type ResourceDefinitionVersion_SageMakerMachineLearningModelResourceData struct // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-sagemakermachinelearningmodelresourcedata.html#cfn-greengrass-resourcedefinitionversion-sagemakermachinelearningmodelresourcedata-destinationpath DestinationPath string `json:"DestinationPath,omitempty"` + // OwnerSetting AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-sagemakermachinelearningmodelresourcedata.html#cfn-greengrass-resourcedefinitionversion-sagemakermachinelearningmodelresourcedata-ownersetting + OwnerSetting *ResourceDefinitionVersion_ResourceDownloadOwnerSetting `json:"OwnerSetting,omitempty"` + // SageMakerJobArn AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-sagemakermachinelearningmodelresourcedata.html#cfn-greengrass-resourcedefinitionversion-sagemakermachinelearningmodelresourcedata-sagemakerjobarn @@ -21,6 +26,9 @@ type ResourceDefinitionVersion_SageMakerMachineLearningModelResourceData struct // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/greengrass/aws-greengrass-resourcedefinitionversion_secretsmanagersecretresourcedata.go b/cloudformation/greengrass/aws-greengrass-resourcedefinitionversion_secretsmanagersecretresourcedata.go index dc12a76fbb..af45a745ad 100644 --- a/cloudformation/greengrass/aws-greengrass-resourcedefinitionversion_secretsmanagersecretresourcedata.go +++ b/cloudformation/greengrass/aws-greengrass-resourcedefinitionversion_secretsmanagersecretresourcedata.go @@ -21,6 +21,9 @@ type ResourceDefinitionVersion_SecretsManagerSecretResourceData struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/greengrass/aws-greengrass-subscriptiondefinition.go b/cloudformation/greengrass/aws-greengrass-subscriptiondefinition.go index d19f647ea2..e928ad5aae 100644 --- a/cloudformation/greengrass/aws-greengrass-subscriptiondefinition.go +++ b/cloudformation/greengrass/aws-greengrass-subscriptiondefinition.go @@ -30,6 +30,9 @@ type SubscriptionDefinition struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *SubscriptionDefinition) AWSCloudFormationType() string { func (r SubscriptionDefinition) MarshalJSON() ([]byte, error) { type Properties SubscriptionDefinition return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r SubscriptionDefinition) MarshalJSON() ([]byte, error) { func (r *SubscriptionDefinition) UnmarshalJSON(b []byte) error { type Properties SubscriptionDefinition res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *SubscriptionDefinition) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/greengrass/aws-greengrass-subscriptiondefinition_subscription.go b/cloudformation/greengrass/aws-greengrass-subscriptiondefinition_subscription.go index 88a16a4fda..9443373fca 100644 --- a/cloudformation/greengrass/aws-greengrass-subscriptiondefinition_subscription.go +++ b/cloudformation/greengrass/aws-greengrass-subscriptiondefinition_subscription.go @@ -31,6 +31,9 @@ type SubscriptionDefinition_Subscription struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/greengrass/aws-greengrass-subscriptiondefinition_subscriptiondefinitionversion.go b/cloudformation/greengrass/aws-greengrass-subscriptiondefinition_subscriptiondefinitionversion.go index c3f04cf590..166ef82676 100644 --- a/cloudformation/greengrass/aws-greengrass-subscriptiondefinition_subscriptiondefinitionversion.go +++ b/cloudformation/greengrass/aws-greengrass-subscriptiondefinition_subscriptiondefinitionversion.go @@ -16,6 +16,9 @@ type SubscriptionDefinition_SubscriptionDefinitionVersion struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/greengrass/aws-greengrass-subscriptiondefinitionversion.go b/cloudformation/greengrass/aws-greengrass-subscriptiondefinitionversion.go index 9778a312b7..1afaa47ed1 100644 --- a/cloudformation/greengrass/aws-greengrass-subscriptiondefinitionversion.go +++ b/cloudformation/greengrass/aws-greengrass-subscriptiondefinitionversion.go @@ -25,6 +25,9 @@ type SubscriptionDefinitionVersion struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *SubscriptionDefinitionVersion) AWSCloudFormationType() string { func (r SubscriptionDefinitionVersion) MarshalJSON() ([]byte, error) { type Properties SubscriptionDefinitionVersion return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r SubscriptionDefinitionVersion) MarshalJSON() ([]byte, error) { func (r *SubscriptionDefinitionVersion) UnmarshalJSON(b []byte) error { type Properties SubscriptionDefinitionVersion res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *SubscriptionDefinitionVersion) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/greengrass/aws-greengrass-subscriptiondefinitionversion_subscription.go b/cloudformation/greengrass/aws-greengrass-subscriptiondefinitionversion_subscription.go index 5e944a7626..cb3c854a0d 100644 --- a/cloudformation/greengrass/aws-greengrass-subscriptiondefinitionversion_subscription.go +++ b/cloudformation/greengrass/aws-greengrass-subscriptiondefinitionversion_subscription.go @@ -31,6 +31,9 @@ type SubscriptionDefinitionVersion_Subscription struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/guardduty/aws-guardduty-detector.go b/cloudformation/guardduty/aws-guardduty-detector.go index 65b002ed93..da30b01fe7 100644 --- a/cloudformation/guardduty/aws-guardduty-detector.go +++ b/cloudformation/guardduty/aws-guardduty-detector.go @@ -25,6 +25,9 @@ type Detector struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *Detector) AWSCloudFormationType() string { func (r Detector) MarshalJSON() ([]byte, error) { type Properties Detector return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r Detector) MarshalJSON() ([]byte, error) { func (r *Detector) UnmarshalJSON(b []byte) error { type Properties Detector res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *Detector) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/guardduty/aws-guardduty-filter.go b/cloudformation/guardduty/aws-guardduty-filter.go index 4db9e4fec2..23f4d9424d 100644 --- a/cloudformation/guardduty/aws-guardduty-filter.go +++ b/cloudformation/guardduty/aws-guardduty-filter.go @@ -45,6 +45,9 @@ type Filter struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -65,19 +68,21 @@ func (r *Filter) AWSCloudFormationType() string { func (r Filter) MarshalJSON() ([]byte, error) { type Properties Filter return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -86,12 +91,13 @@ func (r Filter) MarshalJSON() ([]byte, error) { func (r *Filter) UnmarshalJSON(b []byte) error { type Properties Filter res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -115,6 +121,9 @@ func (r *Filter) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/guardduty/aws-guardduty-filter_condition.go b/cloudformation/guardduty/aws-guardduty-filter_condition.go index 6e35805a75..a5ecabdeeb 100644 --- a/cloudformation/guardduty/aws-guardduty-filter_condition.go +++ b/cloudformation/guardduty/aws-guardduty-filter_condition.go @@ -36,6 +36,9 @@ type Filter_Condition struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/guardduty/aws-guardduty-filter_findingcriteria.go b/cloudformation/guardduty/aws-guardduty-filter_findingcriteria.go index 15b4367a95..cdaa5154d1 100644 --- a/cloudformation/guardduty/aws-guardduty-filter_findingcriteria.go +++ b/cloudformation/guardduty/aws-guardduty-filter_findingcriteria.go @@ -21,6 +21,9 @@ type Filter_FindingCriteria struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/guardduty/aws-guardduty-ipset.go b/cloudformation/guardduty/aws-guardduty-ipset.go index 8a22e6aa52..ee6b112ba5 100644 --- a/cloudformation/guardduty/aws-guardduty-ipset.go +++ b/cloudformation/guardduty/aws-guardduty-ipset.go @@ -40,6 +40,9 @@ type IPSet struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -60,19 +63,21 @@ func (r *IPSet) AWSCloudFormationType() string { func (r IPSet) MarshalJSON() ([]byte, error) { type Properties IPSet return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -81,12 +86,13 @@ func (r IPSet) MarshalJSON() ([]byte, error) { func (r *IPSet) UnmarshalJSON(b []byte) error { type Properties IPSet res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -110,6 +116,9 @@ func (r *IPSet) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/guardduty/aws-guardduty-master.go b/cloudformation/guardduty/aws-guardduty-master.go index 6bc9fa5898..78ce3f0258 100644 --- a/cloudformation/guardduty/aws-guardduty-master.go +++ b/cloudformation/guardduty/aws-guardduty-master.go @@ -30,6 +30,9 @@ type Master struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *Master) AWSCloudFormationType() string { func (r Master) MarshalJSON() ([]byte, error) { type Properties Master return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r Master) MarshalJSON() ([]byte, error) { func (r *Master) UnmarshalJSON(b []byte) error { type Properties Master res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *Master) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/guardduty/aws-guardduty-member.go b/cloudformation/guardduty/aws-guardduty-member.go index e91160dead..b941d9dd49 100644 --- a/cloudformation/guardduty/aws-guardduty-member.go +++ b/cloudformation/guardduty/aws-guardduty-member.go @@ -45,6 +45,9 @@ type Member struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -65,19 +68,21 @@ func (r *Member) AWSCloudFormationType() string { func (r Member) MarshalJSON() ([]byte, error) { type Properties Member return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -86,12 +91,13 @@ func (r Member) MarshalJSON() ([]byte, error) { func (r *Member) UnmarshalJSON(b []byte) error { type Properties Member res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -115,6 +121,9 @@ func (r *Member) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/guardduty/aws-guardduty-threatintelset.go b/cloudformation/guardduty/aws-guardduty-threatintelset.go index ec26a22404..54f4363aaf 100644 --- a/cloudformation/guardduty/aws-guardduty-threatintelset.go +++ b/cloudformation/guardduty/aws-guardduty-threatintelset.go @@ -40,6 +40,9 @@ type ThreatIntelSet struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -60,19 +63,21 @@ func (r *ThreatIntelSet) AWSCloudFormationType() string { func (r ThreatIntelSet) MarshalJSON() ([]byte, error) { type Properties ThreatIntelSet return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -81,12 +86,13 @@ func (r ThreatIntelSet) MarshalJSON() ([]byte, error) { func (r *ThreatIntelSet) UnmarshalJSON(b []byte) error { type Properties ThreatIntelSet res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -110,6 +116,9 @@ func (r *ThreatIntelSet) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/iam/aws-iam-accesskey.go b/cloudformation/iam/aws-iam-accesskey.go index 0c79379484..b5e9ffacc4 100644 --- a/cloudformation/iam/aws-iam-accesskey.go +++ b/cloudformation/iam/aws-iam-accesskey.go @@ -30,6 +30,9 @@ type AccessKey struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *AccessKey) AWSCloudFormationType() string { func (r AccessKey) MarshalJSON() ([]byte, error) { type Properties AccessKey return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r AccessKey) MarshalJSON() ([]byte, error) { func (r *AccessKey) UnmarshalJSON(b []byte) error { type Properties AccessKey res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *AccessKey) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/iam/aws-iam-group.go b/cloudformation/iam/aws-iam-group.go index b0883157c5..63956fa60b 100644 --- a/cloudformation/iam/aws-iam-group.go +++ b/cloudformation/iam/aws-iam-group.go @@ -35,6 +35,9 @@ type Group struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -55,19 +58,21 @@ func (r *Group) AWSCloudFormationType() string { func (r Group) MarshalJSON() ([]byte, error) { type Properties Group return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -76,12 +81,13 @@ func (r Group) MarshalJSON() ([]byte, error) { func (r *Group) UnmarshalJSON(b []byte) error { type Properties Group res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -105,6 +111,9 @@ func (r *Group) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/iam/aws-iam-group_policy.go b/cloudformation/iam/aws-iam-group_policy.go index fcfd8a99a3..2fc94f07e9 100644 --- a/cloudformation/iam/aws-iam-group_policy.go +++ b/cloudformation/iam/aws-iam-group_policy.go @@ -21,6 +21,9 @@ type Group_Policy struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iam/aws-iam-instanceprofile.go b/cloudformation/iam/aws-iam-instanceprofile.go index f396ca2689..e40fd0eac9 100644 --- a/cloudformation/iam/aws-iam-instanceprofile.go +++ b/cloudformation/iam/aws-iam-instanceprofile.go @@ -30,6 +30,9 @@ type InstanceProfile struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *InstanceProfile) AWSCloudFormationType() string { func (r InstanceProfile) MarshalJSON() ([]byte, error) { type Properties InstanceProfile return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r InstanceProfile) MarshalJSON() ([]byte, error) { func (r *InstanceProfile) UnmarshalJSON(b []byte) error { type Properties InstanceProfile res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *InstanceProfile) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/iam/aws-iam-managedpolicy.go b/cloudformation/iam/aws-iam-managedpolicy.go index 07a84bc28e..f2e2011cda 100644 --- a/cloudformation/iam/aws-iam-managedpolicy.go +++ b/cloudformation/iam/aws-iam-managedpolicy.go @@ -50,6 +50,9 @@ type ManagedPolicy struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -70,19 +73,21 @@ func (r *ManagedPolicy) AWSCloudFormationType() string { func (r ManagedPolicy) MarshalJSON() ([]byte, error) { type Properties ManagedPolicy return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -91,12 +96,13 @@ func (r ManagedPolicy) MarshalJSON() ([]byte, error) { func (r *ManagedPolicy) UnmarshalJSON(b []byte) error { type Properties ManagedPolicy res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -120,6 +126,9 @@ func (r *ManagedPolicy) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/iam/aws-iam-policy.go b/cloudformation/iam/aws-iam-policy.go index dfc67739f3..3fe19c60b2 100644 --- a/cloudformation/iam/aws-iam-policy.go +++ b/cloudformation/iam/aws-iam-policy.go @@ -40,6 +40,9 @@ type Policy struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -60,19 +63,21 @@ func (r *Policy) AWSCloudFormationType() string { func (r Policy) MarshalJSON() ([]byte, error) { type Properties Policy return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -81,12 +86,13 @@ func (r Policy) MarshalJSON() ([]byte, error) { func (r *Policy) UnmarshalJSON(b []byte) error { type Properties Policy res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -110,6 +116,9 @@ func (r *Policy) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/iam/aws-iam-role.go b/cloudformation/iam/aws-iam-role.go index 34ca5ef423..04ff9231a3 100644 --- a/cloudformation/iam/aws-iam-role.go +++ b/cloudformation/iam/aws-iam-role.go @@ -61,6 +61,9 @@ type Role struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -81,19 +84,21 @@ func (r *Role) AWSCloudFormationType() string { func (r Role) MarshalJSON() ([]byte, error) { type Properties Role return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -102,12 +107,13 @@ func (r Role) MarshalJSON() ([]byte, error) { func (r *Role) UnmarshalJSON(b []byte) error { type Properties Role res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -131,6 +137,9 @@ func (r *Role) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/iam/aws-iam-role_policy.go b/cloudformation/iam/aws-iam-role_policy.go index 4d0ca398dd..81e1f9d1c4 100644 --- a/cloudformation/iam/aws-iam-role_policy.go +++ b/cloudformation/iam/aws-iam-role_policy.go @@ -21,6 +21,9 @@ type Role_Policy struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iam/aws-iam-servicelinkedrole.go b/cloudformation/iam/aws-iam-servicelinkedrole.go index c73af53d47..6cf32babf7 100644 --- a/cloudformation/iam/aws-iam-servicelinkedrole.go +++ b/cloudformation/iam/aws-iam-servicelinkedrole.go @@ -30,6 +30,9 @@ type ServiceLinkedRole struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *ServiceLinkedRole) AWSCloudFormationType() string { func (r ServiceLinkedRole) MarshalJSON() ([]byte, error) { type Properties ServiceLinkedRole return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r ServiceLinkedRole) MarshalJSON() ([]byte, error) { func (r *ServiceLinkedRole) UnmarshalJSON(b []byte) error { type Properties ServiceLinkedRole res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *ServiceLinkedRole) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/iam/aws-iam-user.go b/cloudformation/iam/aws-iam-user.go index 2e10ae5489..ced66b561f 100644 --- a/cloudformation/iam/aws-iam-user.go +++ b/cloudformation/iam/aws-iam-user.go @@ -56,6 +56,9 @@ type User struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -76,19 +79,21 @@ func (r *User) AWSCloudFormationType() string { func (r User) MarshalJSON() ([]byte, error) { type Properties User return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -97,12 +102,13 @@ func (r User) MarshalJSON() ([]byte, error) { func (r *User) UnmarshalJSON(b []byte) error { type Properties User res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -126,6 +132,9 @@ func (r *User) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/iam/aws-iam-user_loginprofile.go b/cloudformation/iam/aws-iam-user_loginprofile.go index e486b1c43c..69063fea88 100644 --- a/cloudformation/iam/aws-iam-user_loginprofile.go +++ b/cloudformation/iam/aws-iam-user_loginprofile.go @@ -21,6 +21,9 @@ type User_LoginProfile struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iam/aws-iam-user_policy.go b/cloudformation/iam/aws-iam-user_policy.go index 1879a57edf..77d0b5f1d8 100644 --- a/cloudformation/iam/aws-iam-user_policy.go +++ b/cloudformation/iam/aws-iam-user_policy.go @@ -21,6 +21,9 @@ type User_Policy struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iam/aws-iam-usertogroupaddition.go b/cloudformation/iam/aws-iam-usertogroupaddition.go index 78a2a2c114..f72fa46651 100644 --- a/cloudformation/iam/aws-iam-usertogroupaddition.go +++ b/cloudformation/iam/aws-iam-usertogroupaddition.go @@ -25,6 +25,9 @@ type UserToGroupAddition struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *UserToGroupAddition) AWSCloudFormationType() string { func (r UserToGroupAddition) MarshalJSON() ([]byte, error) { type Properties UserToGroupAddition return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r UserToGroupAddition) MarshalJSON() ([]byte, error) { func (r *UserToGroupAddition) UnmarshalJSON(b []byte) error { type Properties UserToGroupAddition res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *UserToGroupAddition) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/imagebuilder/aws-imagebuilder-component.go b/cloudformation/imagebuilder/aws-imagebuilder-component.go new file mode 100644 index 0000000000..5e3fedd528 --- /dev/null +++ b/cloudformation/imagebuilder/aws-imagebuilder-component.go @@ -0,0 +1,146 @@ +package imagebuilder + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Component AWS CloudFormation Resource (AWS::ImageBuilder::Component) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html +type Component struct { + + // ChangeDescription AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html#cfn-imagebuilder-component-changedescription + ChangeDescription string `json:"ChangeDescription,omitempty"` + + // Data AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html#cfn-imagebuilder-component-data + Data string `json:"Data,omitempty"` + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html#cfn-imagebuilder-component-description + Description string `json:"Description,omitempty"` + + // KmsKeyId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html#cfn-imagebuilder-component-kmskeyid + KmsKeyId string `json:"KmsKeyId,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html#cfn-imagebuilder-component-name + Name string `json:"Name,omitempty"` + + // Platform AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html#cfn-imagebuilder-component-platform + Platform string `json:"Platform,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html#cfn-imagebuilder-component-tags + Tags map[string]string `json:"Tags,omitempty"` + + // Uri AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html#cfn-imagebuilder-component-uri + Uri string `json:"Uri,omitempty"` + + // Version AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html#cfn-imagebuilder-component-version + Version string `json:"Version,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Component) AWSCloudFormationType() string { + return "AWS::ImageBuilder::Component" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r Component) MarshalJSON() ([]byte, error) { + type Properties Component + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *Component) UnmarshalJSON(b []byte) error { + type Properties Component + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = Component(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/imagebuilder/aws-imagebuilder-distributionconfiguration.go b/cloudformation/imagebuilder/aws-imagebuilder-distributionconfiguration.go new file mode 100644 index 0000000000..7e938c8f4c --- /dev/null +++ b/cloudformation/imagebuilder/aws-imagebuilder-distributionconfiguration.go @@ -0,0 +1,121 @@ +package imagebuilder + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DistributionConfiguration AWS CloudFormation Resource (AWS::ImageBuilder::DistributionConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-distributionconfiguration.html +type DistributionConfiguration struct { + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-distributionconfiguration.html#cfn-imagebuilder-distributionconfiguration-description + Description string `json:"Description,omitempty"` + + // Distributions AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-distributionconfiguration.html#cfn-imagebuilder-distributionconfiguration-distributions + Distributions []DistributionConfiguration_Distribution `json:"Distributions,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-distributionconfiguration.html#cfn-imagebuilder-distributionconfiguration-name + Name string `json:"Name,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-distributionconfiguration.html#cfn-imagebuilder-distributionconfiguration-tags + Tags map[string]string `json:"Tags,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DistributionConfiguration) AWSCloudFormationType() string { + return "AWS::ImageBuilder::DistributionConfiguration" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r DistributionConfiguration) MarshalJSON() ([]byte, error) { + type Properties DistributionConfiguration + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *DistributionConfiguration) UnmarshalJSON(b []byte) error { + type Properties DistributionConfiguration + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = DistributionConfiguration(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/imagebuilder/aws-imagebuilder-distributionconfiguration_distribution.go b/cloudformation/imagebuilder/aws-imagebuilder-distributionconfiguration_distribution.go new file mode 100644 index 0000000000..225d4114af --- /dev/null +++ b/cloudformation/imagebuilder/aws-imagebuilder-distributionconfiguration_distribution.go @@ -0,0 +1,45 @@ +package imagebuilder + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DistributionConfiguration_Distribution AWS CloudFormation Resource (AWS::ImageBuilder::DistributionConfiguration.Distribution) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-distribution.html +type DistributionConfiguration_Distribution struct { + + // AmiDistributionConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-distribution.html#cfn-imagebuilder-distributionconfiguration-distribution-amidistributionconfiguration + AmiDistributionConfiguration interface{} `json:"AmiDistributionConfiguration,omitempty"` + + // LicenseConfigurationArns AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-distribution.html#cfn-imagebuilder-distributionconfiguration-distribution-licenseconfigurationarns + LicenseConfigurationArns []string `json:"LicenseConfigurationArns,omitempty"` + + // Region AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-distribution.html#cfn-imagebuilder-distributionconfiguration-distribution-region + Region string `json:"Region,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DistributionConfiguration_Distribution) AWSCloudFormationType() string { + return "AWS::ImageBuilder::DistributionConfiguration.Distribution" +} diff --git a/cloudformation/imagebuilder/aws-imagebuilder-image.go b/cloudformation/imagebuilder/aws-imagebuilder-image.go new file mode 100644 index 0000000000..2b434c0a65 --- /dev/null +++ b/cloudformation/imagebuilder/aws-imagebuilder-image.go @@ -0,0 +1,126 @@ +package imagebuilder + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Image AWS CloudFormation Resource (AWS::ImageBuilder::Image) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html +type Image struct { + + // DistributionConfigurationArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html#cfn-imagebuilder-image-distributionconfigurationarn + DistributionConfigurationArn string `json:"DistributionConfigurationArn,omitempty"` + + // ImageRecipeArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html#cfn-imagebuilder-image-imagerecipearn + ImageRecipeArn string `json:"ImageRecipeArn,omitempty"` + + // ImageTestsConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html#cfn-imagebuilder-image-imagetestsconfiguration + ImageTestsConfiguration *Image_ImageTestsConfiguration `json:"ImageTestsConfiguration,omitempty"` + + // InfrastructureConfigurationArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html#cfn-imagebuilder-image-infrastructureconfigurationarn + InfrastructureConfigurationArn string `json:"InfrastructureConfigurationArn,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html#cfn-imagebuilder-image-tags + Tags map[string]string `json:"Tags,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Image) AWSCloudFormationType() string { + return "AWS::ImageBuilder::Image" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r Image) MarshalJSON() ([]byte, error) { + type Properties Image + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *Image) UnmarshalJSON(b []byte) error { + type Properties Image + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = Image(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/imagebuilder/aws-imagebuilder-image_imagetestsconfiguration.go b/cloudformation/imagebuilder/aws-imagebuilder-image_imagetestsconfiguration.go new file mode 100644 index 0000000000..d2f814df49 --- /dev/null +++ b/cloudformation/imagebuilder/aws-imagebuilder-image_imagetestsconfiguration.go @@ -0,0 +1,40 @@ +package imagebuilder + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Image_ImageTestsConfiguration AWS CloudFormation Resource (AWS::ImageBuilder::Image.ImageTestsConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-image-imagetestsconfiguration.html +type Image_ImageTestsConfiguration struct { + + // ImageTestsEnabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-image-imagetestsconfiguration.html#cfn-imagebuilder-image-imagetestsconfiguration-imagetestsenabled + ImageTestsEnabled bool `json:"ImageTestsEnabled,omitempty"` + + // TimeoutMinutes AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-image-imagetestsconfiguration.html#cfn-imagebuilder-image-imagetestsconfiguration-timeoutminutes + TimeoutMinutes int `json:"TimeoutMinutes,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Image_ImageTestsConfiguration) AWSCloudFormationType() string { + return "AWS::ImageBuilder::Image.ImageTestsConfiguration" +} diff --git a/cloudformation/imagebuilder/aws-imagebuilder-imagepipeline.go b/cloudformation/imagebuilder/aws-imagebuilder-imagepipeline.go new file mode 100644 index 0000000000..d7df31756f --- /dev/null +++ b/cloudformation/imagebuilder/aws-imagebuilder-imagepipeline.go @@ -0,0 +1,146 @@ +package imagebuilder + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ImagePipeline AWS CloudFormation Resource (AWS::ImageBuilder::ImagePipeline) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html +type ImagePipeline struct { + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-description + Description string `json:"Description,omitempty"` + + // DistributionConfigurationArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-distributionconfigurationarn + DistributionConfigurationArn string `json:"DistributionConfigurationArn,omitempty"` + + // ImageRecipeArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-imagerecipearn + ImageRecipeArn string `json:"ImageRecipeArn,omitempty"` + + // ImageTestsConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-imagetestsconfiguration + ImageTestsConfiguration *ImagePipeline_ImageTestsConfiguration `json:"ImageTestsConfiguration,omitempty"` + + // InfrastructureConfigurationArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-infrastructureconfigurationarn + InfrastructureConfigurationArn string `json:"InfrastructureConfigurationArn,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-name + Name string `json:"Name,omitempty"` + + // Schedule AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-schedule + Schedule *ImagePipeline_Schedule `json:"Schedule,omitempty"` + + // Status AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-status + Status string `json:"Status,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-tags + Tags map[string]string `json:"Tags,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ImagePipeline) AWSCloudFormationType() string { + return "AWS::ImageBuilder::ImagePipeline" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r ImagePipeline) MarshalJSON() ([]byte, error) { + type Properties ImagePipeline + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *ImagePipeline) UnmarshalJSON(b []byte) error { + type Properties ImagePipeline + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = ImagePipeline(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/imagebuilder/aws-imagebuilder-imagepipeline_imagetestsconfiguration.go b/cloudformation/imagebuilder/aws-imagebuilder-imagepipeline_imagetestsconfiguration.go new file mode 100644 index 0000000000..b46c9b24be --- /dev/null +++ b/cloudformation/imagebuilder/aws-imagebuilder-imagepipeline_imagetestsconfiguration.go @@ -0,0 +1,40 @@ +package imagebuilder + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ImagePipeline_ImageTestsConfiguration AWS CloudFormation Resource (AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagepipeline-imagetestsconfiguration.html +type ImagePipeline_ImageTestsConfiguration struct { + + // ImageTestsEnabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagepipeline-imagetestsconfiguration.html#cfn-imagebuilder-imagepipeline-imagetestsconfiguration-imagetestsenabled + ImageTestsEnabled bool `json:"ImageTestsEnabled,omitempty"` + + // TimeoutMinutes AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagepipeline-imagetestsconfiguration.html#cfn-imagebuilder-imagepipeline-imagetestsconfiguration-timeoutminutes + TimeoutMinutes int `json:"TimeoutMinutes,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ImagePipeline_ImageTestsConfiguration) AWSCloudFormationType() string { + return "AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration" +} diff --git a/cloudformation/imagebuilder/aws-imagebuilder-imagepipeline_schedule.go b/cloudformation/imagebuilder/aws-imagebuilder-imagepipeline_schedule.go new file mode 100644 index 0000000000..cbd1c3cce9 --- /dev/null +++ b/cloudformation/imagebuilder/aws-imagebuilder-imagepipeline_schedule.go @@ -0,0 +1,40 @@ +package imagebuilder + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ImagePipeline_Schedule AWS CloudFormation Resource (AWS::ImageBuilder::ImagePipeline.Schedule) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagepipeline-schedule.html +type ImagePipeline_Schedule struct { + + // PipelineExecutionStartCondition AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagepipeline-schedule.html#cfn-imagebuilder-imagepipeline-schedule-pipelineexecutionstartcondition + PipelineExecutionStartCondition string `json:"PipelineExecutionStartCondition,omitempty"` + + // ScheduleExpression AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagepipeline-schedule.html#cfn-imagebuilder-imagepipeline-schedule-scheduleexpression + ScheduleExpression string `json:"ScheduleExpression,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ImagePipeline_Schedule) AWSCloudFormationType() string { + return "AWS::ImageBuilder::ImagePipeline.Schedule" +} diff --git a/cloudformation/imagebuilder/aws-imagebuilder-imagerecipe.go b/cloudformation/imagebuilder/aws-imagebuilder-imagerecipe.go new file mode 100644 index 0000000000..68aa26b94e --- /dev/null +++ b/cloudformation/imagebuilder/aws-imagebuilder-imagerecipe.go @@ -0,0 +1,136 @@ +package imagebuilder + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ImageRecipe AWS CloudFormation Resource (AWS::ImageBuilder::ImageRecipe) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html +type ImageRecipe struct { + + // BlockDeviceMappings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html#cfn-imagebuilder-imagerecipe-blockdevicemappings + BlockDeviceMappings []ImageRecipe_InstanceBlockDeviceMapping `json:"BlockDeviceMappings,omitempty"` + + // Components AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html#cfn-imagebuilder-imagerecipe-components + Components []ImageRecipe_ComponentConfiguration `json:"Components,omitempty"` + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html#cfn-imagebuilder-imagerecipe-description + Description string `json:"Description,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html#cfn-imagebuilder-imagerecipe-name + Name string `json:"Name,omitempty"` + + // ParentImage AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html#cfn-imagebuilder-imagerecipe-parentimage + ParentImage string `json:"ParentImage,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html#cfn-imagebuilder-imagerecipe-tags + Tags map[string]string `json:"Tags,omitempty"` + + // Version AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html#cfn-imagebuilder-imagerecipe-version + Version string `json:"Version,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ImageRecipe) AWSCloudFormationType() string { + return "AWS::ImageBuilder::ImageRecipe" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r ImageRecipe) MarshalJSON() ([]byte, error) { + type Properties ImageRecipe + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *ImageRecipe) UnmarshalJSON(b []byte) error { + type Properties ImageRecipe + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = ImageRecipe(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/imagebuilder/aws-imagebuilder-imagerecipe_componentconfiguration.go b/cloudformation/imagebuilder/aws-imagebuilder-imagerecipe_componentconfiguration.go new file mode 100644 index 0000000000..68218e227f --- /dev/null +++ b/cloudformation/imagebuilder/aws-imagebuilder-imagerecipe_componentconfiguration.go @@ -0,0 +1,35 @@ +package imagebuilder + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ImageRecipe_ComponentConfiguration AWS CloudFormation Resource (AWS::ImageBuilder::ImageRecipe.ComponentConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-componentconfiguration.html +type ImageRecipe_ComponentConfiguration struct { + + // ComponentArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-componentconfiguration.html#cfn-imagebuilder-imagerecipe-componentconfiguration-componentarn + ComponentArn string `json:"ComponentArn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ImageRecipe_ComponentConfiguration) AWSCloudFormationType() string { + return "AWS::ImageBuilder::ImageRecipe.ComponentConfiguration" +} diff --git a/cloudformation/imagebuilder/aws-imagebuilder-imagerecipe_ebsinstanceblockdevicespecification.go b/cloudformation/imagebuilder/aws-imagebuilder-imagerecipe_ebsinstanceblockdevicespecification.go new file mode 100644 index 0000000000..3ff5ac8f73 --- /dev/null +++ b/cloudformation/imagebuilder/aws-imagebuilder-imagerecipe_ebsinstanceblockdevicespecification.go @@ -0,0 +1,65 @@ +package imagebuilder + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ImageRecipe_EbsInstanceBlockDeviceSpecification AWS CloudFormation Resource (AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification.html +type ImageRecipe_EbsInstanceBlockDeviceSpecification struct { + + // DeleteOnTermination AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification.html#cfn-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification-deleteontermination + DeleteOnTermination bool `json:"DeleteOnTermination,omitempty"` + + // Encrypted AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification.html#cfn-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification-encrypted + Encrypted bool `json:"Encrypted,omitempty"` + + // Iops AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification.html#cfn-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification-iops + Iops int `json:"Iops,omitempty"` + + // KmsKeyId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification.html#cfn-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification-kmskeyid + KmsKeyId string `json:"KmsKeyId,omitempty"` + + // SnapshotId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification.html#cfn-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification-snapshotid + SnapshotId string `json:"SnapshotId,omitempty"` + + // VolumeSize AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification.html#cfn-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification-volumesize + VolumeSize int `json:"VolumeSize,omitempty"` + + // VolumeType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification.html#cfn-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification-volumetype + VolumeType string `json:"VolumeType,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ImageRecipe_EbsInstanceBlockDeviceSpecification) AWSCloudFormationType() string { + return "AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification" +} diff --git a/cloudformation/imagebuilder/aws-imagebuilder-imagerecipe_instanceblockdevicemapping.go b/cloudformation/imagebuilder/aws-imagebuilder-imagerecipe_instanceblockdevicemapping.go new file mode 100644 index 0000000000..2153fbd744 --- /dev/null +++ b/cloudformation/imagebuilder/aws-imagebuilder-imagerecipe_instanceblockdevicemapping.go @@ -0,0 +1,50 @@ +package imagebuilder + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ImageRecipe_InstanceBlockDeviceMapping AWS CloudFormation Resource (AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-instanceblockdevicemapping.html +type ImageRecipe_InstanceBlockDeviceMapping struct { + + // DeviceName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-instanceblockdevicemapping.html#cfn-imagebuilder-imagerecipe-instanceblockdevicemapping-devicename + DeviceName string `json:"DeviceName,omitempty"` + + // Ebs AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-instanceblockdevicemapping.html#cfn-imagebuilder-imagerecipe-instanceblockdevicemapping-ebs + Ebs *ImageRecipe_EbsInstanceBlockDeviceSpecification `json:"Ebs,omitempty"` + + // NoDevice AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-instanceblockdevicemapping.html#cfn-imagebuilder-imagerecipe-instanceblockdevicemapping-nodevice + NoDevice string `json:"NoDevice,omitempty"` + + // VirtualName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-instanceblockdevicemapping.html#cfn-imagebuilder-imagerecipe-instanceblockdevicemapping-virtualname + VirtualName string `json:"VirtualName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ImageRecipe_InstanceBlockDeviceMapping) AWSCloudFormationType() string { + return "AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping" +} diff --git a/cloudformation/imagebuilder/aws-imagebuilder-infrastructureconfiguration.go b/cloudformation/imagebuilder/aws-imagebuilder-infrastructureconfiguration.go new file mode 100644 index 0000000000..b919db958e --- /dev/null +++ b/cloudformation/imagebuilder/aws-imagebuilder-infrastructureconfiguration.go @@ -0,0 +1,156 @@ +package imagebuilder + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// InfrastructureConfiguration AWS CloudFormation Resource (AWS::ImageBuilder::InfrastructureConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html +type InfrastructureConfiguration struct { + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-description + Description string `json:"Description,omitempty"` + + // InstanceProfileName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-instanceprofilename + InstanceProfileName string `json:"InstanceProfileName,omitempty"` + + // InstanceTypes AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-instancetypes + InstanceTypes []string `json:"InstanceTypes,omitempty"` + + // KeyPair AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-keypair + KeyPair string `json:"KeyPair,omitempty"` + + // Logging AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-logging + Logging interface{} `json:"Logging,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-name + Name string `json:"Name,omitempty"` + + // SecurityGroupIds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-securitygroupids + SecurityGroupIds []string `json:"SecurityGroupIds,omitempty"` + + // SnsTopicArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-snstopicarn + SnsTopicArn string `json:"SnsTopicArn,omitempty"` + + // SubnetId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-subnetid + SubnetId string `json:"SubnetId,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-tags + Tags map[string]string `json:"Tags,omitempty"` + + // TerminateInstanceOnFailure AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-terminateinstanceonfailure + TerminateInstanceOnFailure bool `json:"TerminateInstanceOnFailure,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *InfrastructureConfiguration) AWSCloudFormationType() string { + return "AWS::ImageBuilder::InfrastructureConfiguration" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r InfrastructureConfiguration) MarshalJSON() ([]byte, error) { + type Properties InfrastructureConfiguration + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *InfrastructureConfiguration) UnmarshalJSON(b []byte) error { + type Properties InfrastructureConfiguration + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = InfrastructureConfiguration(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/imagebuilder/aws-imagebuilder-infrastructureconfiguration_logging.go b/cloudformation/imagebuilder/aws-imagebuilder-infrastructureconfiguration_logging.go new file mode 100644 index 0000000000..e43a7059cf --- /dev/null +++ b/cloudformation/imagebuilder/aws-imagebuilder-infrastructureconfiguration_logging.go @@ -0,0 +1,35 @@ +package imagebuilder + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// InfrastructureConfiguration_Logging AWS CloudFormation Resource (AWS::ImageBuilder::InfrastructureConfiguration.Logging) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-infrastructureconfiguration-logging.html +type InfrastructureConfiguration_Logging struct { + + // S3Logs AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-infrastructureconfiguration-logging.html#cfn-imagebuilder-infrastructureconfiguration-logging-s3logs + S3Logs *InfrastructureConfiguration_S3Logs `json:"S3Logs,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *InfrastructureConfiguration_Logging) AWSCloudFormationType() string { + return "AWS::ImageBuilder::InfrastructureConfiguration.Logging" +} diff --git a/cloudformation/imagebuilder/aws-imagebuilder-infrastructureconfiguration_s3logs.go b/cloudformation/imagebuilder/aws-imagebuilder-infrastructureconfiguration_s3logs.go new file mode 100644 index 0000000000..908c5f153c --- /dev/null +++ b/cloudformation/imagebuilder/aws-imagebuilder-infrastructureconfiguration_s3logs.go @@ -0,0 +1,40 @@ +package imagebuilder + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// InfrastructureConfiguration_S3Logs AWS CloudFormation Resource (AWS::ImageBuilder::InfrastructureConfiguration.S3Logs) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-infrastructureconfiguration-s3logs.html +type InfrastructureConfiguration_S3Logs struct { + + // S3BucketName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-infrastructureconfiguration-s3logs.html#cfn-imagebuilder-infrastructureconfiguration-s3logs-s3bucketname + S3BucketName string `json:"S3BucketName,omitempty"` + + // S3KeyPrefix AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-infrastructureconfiguration-s3logs.html#cfn-imagebuilder-infrastructureconfiguration-s3logs-s3keyprefix + S3KeyPrefix string `json:"S3KeyPrefix,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *InfrastructureConfiguration_S3Logs) AWSCloudFormationType() string { + return "AWS::ImageBuilder::InfrastructureConfiguration.S3Logs" +} diff --git a/cloudformation/inspector/aws-inspector-assessmenttarget.go b/cloudformation/inspector/aws-inspector-assessmenttarget.go index e0896e091f..984fb115c5 100644 --- a/cloudformation/inspector/aws-inspector-assessmenttarget.go +++ b/cloudformation/inspector/aws-inspector-assessmenttarget.go @@ -25,6 +25,9 @@ type AssessmentTarget struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *AssessmentTarget) AWSCloudFormationType() string { func (r AssessmentTarget) MarshalJSON() ([]byte, error) { type Properties AssessmentTarget return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r AssessmentTarget) MarshalJSON() ([]byte, error) { func (r *AssessmentTarget) UnmarshalJSON(b []byte) error { type Properties AssessmentTarget res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *AssessmentTarget) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/inspector/aws-inspector-assessmenttemplate.go b/cloudformation/inspector/aws-inspector-assessmenttemplate.go index 8e29fb2b6a..3359e63193 100644 --- a/cloudformation/inspector/aws-inspector-assessmenttemplate.go +++ b/cloudformation/inspector/aws-inspector-assessmenttemplate.go @@ -41,6 +41,9 @@ type AssessmentTemplate struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -61,19 +64,21 @@ func (r *AssessmentTemplate) AWSCloudFormationType() string { func (r AssessmentTemplate) MarshalJSON() ([]byte, error) { type Properties AssessmentTemplate return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -82,12 +87,13 @@ func (r AssessmentTemplate) MarshalJSON() ([]byte, error) { func (r *AssessmentTemplate) UnmarshalJSON(b []byte) error { type Properties AssessmentTemplate res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -111,6 +117,9 @@ func (r *AssessmentTemplate) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/inspector/aws-inspector-resourcegroup.go b/cloudformation/inspector/aws-inspector-resourcegroup.go index 756426ae09..181a473747 100644 --- a/cloudformation/inspector/aws-inspector-resourcegroup.go +++ b/cloudformation/inspector/aws-inspector-resourcegroup.go @@ -21,6 +21,9 @@ type ResourceGroup struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -41,19 +44,21 @@ func (r *ResourceGroup) AWSCloudFormationType() string { func (r ResourceGroup) MarshalJSON() ([]byte, error) { type Properties ResourceGroup return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -62,12 +67,13 @@ func (r ResourceGroup) MarshalJSON() ([]byte, error) { func (r *ResourceGroup) UnmarshalJSON(b []byte) error { type Properties ResourceGroup res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -91,6 +97,9 @@ func (r *ResourceGroup) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/iot/aws-iot-certificate.go b/cloudformation/iot/aws-iot-certificate.go index f7cdf15189..134fdefe29 100644 --- a/cloudformation/iot/aws-iot-certificate.go +++ b/cloudformation/iot/aws-iot-certificate.go @@ -25,6 +25,9 @@ type Certificate struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *Certificate) AWSCloudFormationType() string { func (r Certificate) MarshalJSON() ([]byte, error) { type Properties Certificate return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r Certificate) MarshalJSON() ([]byte, error) { func (r *Certificate) UnmarshalJSON(b []byte) error { type Properties Certificate res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *Certificate) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/iot/aws-iot-policy.go b/cloudformation/iot/aws-iot-policy.go index 8d392e7be7..619bf00c1c 100644 --- a/cloudformation/iot/aws-iot-policy.go +++ b/cloudformation/iot/aws-iot-policy.go @@ -25,6 +25,9 @@ type Policy struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *Policy) AWSCloudFormationType() string { func (r Policy) MarshalJSON() ([]byte, error) { type Properties Policy return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r Policy) MarshalJSON() ([]byte, error) { func (r *Policy) UnmarshalJSON(b []byte) error { type Properties Policy res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *Policy) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/iot/aws-iot-policyprincipalattachment.go b/cloudformation/iot/aws-iot-policyprincipalattachment.go index 13889329b4..5077654372 100644 --- a/cloudformation/iot/aws-iot-policyprincipalattachment.go +++ b/cloudformation/iot/aws-iot-policyprincipalattachment.go @@ -25,6 +25,9 @@ type PolicyPrincipalAttachment struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *PolicyPrincipalAttachment) AWSCloudFormationType() string { func (r PolicyPrincipalAttachment) MarshalJSON() ([]byte, error) { type Properties PolicyPrincipalAttachment return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r PolicyPrincipalAttachment) MarshalJSON() ([]byte, error) { func (r *PolicyPrincipalAttachment) UnmarshalJSON(b []byte) error { type Properties PolicyPrincipalAttachment res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *PolicyPrincipalAttachment) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/iot/aws-iot-provisioningtemplate.go b/cloudformation/iot/aws-iot-provisioningtemplate.go new file mode 100644 index 0000000000..1f5e0a7f3c --- /dev/null +++ b/cloudformation/iot/aws-iot-provisioningtemplate.go @@ -0,0 +1,136 @@ +package iot + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ProvisioningTemplate AWS CloudFormation Resource (AWS::IoT::ProvisioningTemplate) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-provisioningtemplate.html +type ProvisioningTemplate struct { + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-provisioningtemplate.html#cfn-iot-provisioningtemplate-description + Description string `json:"Description,omitempty"` + + // Enabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-provisioningtemplate.html#cfn-iot-provisioningtemplate-enabled + Enabled bool `json:"Enabled,omitempty"` + + // PreProvisioningHook AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-provisioningtemplate.html#cfn-iot-provisioningtemplate-preprovisioninghook + PreProvisioningHook *ProvisioningTemplate_ProvisioningHook `json:"PreProvisioningHook,omitempty"` + + // ProvisioningRoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-provisioningtemplate.html#cfn-iot-provisioningtemplate-provisioningrolearn + ProvisioningRoleArn string `json:"ProvisioningRoleArn,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-provisioningtemplate.html#cfn-iot-provisioningtemplate-tags + Tags []interface{} `json:"Tags,omitempty"` + + // TemplateBody AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-provisioningtemplate.html#cfn-iot-provisioningtemplate-templatebody + TemplateBody string `json:"TemplateBody,omitempty"` + + // TemplateName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-provisioningtemplate.html#cfn-iot-provisioningtemplate-templatename + TemplateName string `json:"TemplateName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ProvisioningTemplate) AWSCloudFormationType() string { + return "AWS::IoT::ProvisioningTemplate" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r ProvisioningTemplate) MarshalJSON() ([]byte, error) { + type Properties ProvisioningTemplate + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *ProvisioningTemplate) UnmarshalJSON(b []byte) error { + type Properties ProvisioningTemplate + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = ProvisioningTemplate(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/iot/aws-iot-provisioningtemplate_provisioninghook.go b/cloudformation/iot/aws-iot-provisioningtemplate_provisioninghook.go new file mode 100644 index 0000000000..485cec4e64 --- /dev/null +++ b/cloudformation/iot/aws-iot-provisioningtemplate_provisioninghook.go @@ -0,0 +1,40 @@ +package iot + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ProvisioningTemplate_ProvisioningHook AWS CloudFormation Resource (AWS::IoT::ProvisioningTemplate.ProvisioningHook) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-provisioningtemplate-provisioninghook.html +type ProvisioningTemplate_ProvisioningHook struct { + + // PayloadVersion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-provisioningtemplate-provisioninghook.html#cfn-iot-provisioningtemplate-provisioninghook-payloadversion + PayloadVersion string `json:"PayloadVersion,omitempty"` + + // TargetArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-provisioningtemplate-provisioninghook.html#cfn-iot-provisioningtemplate-provisioninghook-targetarn + TargetArn string `json:"TargetArn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ProvisioningTemplate_ProvisioningHook) AWSCloudFormationType() string { + return "AWS::IoT::ProvisioningTemplate.ProvisioningHook" +} diff --git a/cloudformation/iot/aws-iot-thing.go b/cloudformation/iot/aws-iot-thing.go index c5b60f13f8..14c72d9dd4 100644 --- a/cloudformation/iot/aws-iot-thing.go +++ b/cloudformation/iot/aws-iot-thing.go @@ -25,6 +25,9 @@ type Thing struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *Thing) AWSCloudFormationType() string { func (r Thing) MarshalJSON() ([]byte, error) { type Properties Thing return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r Thing) MarshalJSON() ([]byte, error) { func (r *Thing) UnmarshalJSON(b []byte) error { type Properties Thing res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *Thing) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/iot/aws-iot-thing_attributepayload.go b/cloudformation/iot/aws-iot-thing_attributepayload.go index df95f8efd2..153e5b0f3b 100644 --- a/cloudformation/iot/aws-iot-thing_attributepayload.go +++ b/cloudformation/iot/aws-iot-thing_attributepayload.go @@ -16,6 +16,9 @@ type Thing_AttributePayload struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iot/aws-iot-thingprincipalattachment.go b/cloudformation/iot/aws-iot-thingprincipalattachment.go index 0af05b81d8..6058c8ec73 100644 --- a/cloudformation/iot/aws-iot-thingprincipalattachment.go +++ b/cloudformation/iot/aws-iot-thingprincipalattachment.go @@ -25,6 +25,9 @@ type ThingPrincipalAttachment struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *ThingPrincipalAttachment) AWSCloudFormationType() string { func (r ThingPrincipalAttachment) MarshalJSON() ([]byte, error) { type Properties ThingPrincipalAttachment return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r ThingPrincipalAttachment) MarshalJSON() ([]byte, error) { func (r *ThingPrincipalAttachment) UnmarshalJSON(b []byte) error { type Properties ThingPrincipalAttachment res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *ThingPrincipalAttachment) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/iot/aws-iot-topicrule.go b/cloudformation/iot/aws-iot-topicrule.go index 74c3c67c64..43b90ffc13 100644 --- a/cloudformation/iot/aws-iot-topicrule.go +++ b/cloudformation/iot/aws-iot-topicrule.go @@ -25,6 +25,9 @@ type TopicRule struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *TopicRule) AWSCloudFormationType() string { func (r TopicRule) MarshalJSON() ([]byte, error) { type Properties TopicRule return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r TopicRule) MarshalJSON() ([]byte, error) { func (r *TopicRule) UnmarshalJSON(b []byte) error { type Properties TopicRule res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *TopicRule) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/iot/aws-iot-topicrule_action.go b/cloudformation/iot/aws-iot-topicrule_action.go index 02bb35d206..842e26799b 100644 --- a/cloudformation/iot/aws-iot-topicrule_action.go +++ b/cloudformation/iot/aws-iot-topicrule_action.go @@ -38,11 +38,26 @@ type TopicRule_Action struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html#cfn-iot-topicrule-action-firehose Firehose *TopicRule_FirehoseAction `json:"Firehose,omitempty"` + // Http AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html#cfn-iot-topicrule-action-http + Http *TopicRule_HttpAction `json:"Http,omitempty"` + // IotAnalytics AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html#cfn-iot-topicrule-action-iotanalytics IotAnalytics *TopicRule_IotAnalyticsAction `json:"IotAnalytics,omitempty"` + // IotEvents AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html#cfn-iot-topicrule-action-iotevents + IotEvents *TopicRule_IotEventsAction `json:"IotEvents,omitempty"` + + // IotSiteWise AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html#cfn-iot-topicrule-action-iotsitewise + IotSiteWise *TopicRule_IotSiteWiseAction `json:"IotSiteWise,omitempty"` + // Kinesis AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html#cfn-iot-topicrule-action-kinesis @@ -81,6 +96,9 @@ type TopicRule_Action struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iot/aws-iot-topicrule_assetpropertytimestamp.go b/cloudformation/iot/aws-iot-topicrule_assetpropertytimestamp.go new file mode 100644 index 0000000000..6edc439f96 --- /dev/null +++ b/cloudformation/iot/aws-iot-topicrule_assetpropertytimestamp.go @@ -0,0 +1,40 @@ +package iot + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// TopicRule_AssetPropertyTimestamp AWS CloudFormation Resource (AWS::IoT::TopicRule.AssetPropertyTimestamp) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-assetpropertytimestamp.html +type TopicRule_AssetPropertyTimestamp struct { + + // OffsetInNanos AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-assetpropertytimestamp.html#cfn-iot-topicrule-assetpropertytimestamp-offsetinnanos + OffsetInNanos string `json:"OffsetInNanos,omitempty"` + + // TimeInSeconds AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-assetpropertytimestamp.html#cfn-iot-topicrule-assetpropertytimestamp-timeinseconds + TimeInSeconds string `json:"TimeInSeconds,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *TopicRule_AssetPropertyTimestamp) AWSCloudFormationType() string { + return "AWS::IoT::TopicRule.AssetPropertyTimestamp" +} diff --git a/cloudformation/iot/aws-iot-topicrule_assetpropertyvalue.go b/cloudformation/iot/aws-iot-topicrule_assetpropertyvalue.go new file mode 100644 index 0000000000..b55a7e9306 --- /dev/null +++ b/cloudformation/iot/aws-iot-topicrule_assetpropertyvalue.go @@ -0,0 +1,45 @@ +package iot + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// TopicRule_AssetPropertyValue AWS CloudFormation Resource (AWS::IoT::TopicRule.AssetPropertyValue) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-assetpropertyvalue.html +type TopicRule_AssetPropertyValue struct { + + // Quality AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-assetpropertyvalue.html#cfn-iot-topicrule-assetpropertyvalue-quality + Quality string `json:"Quality,omitempty"` + + // Timestamp AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-assetpropertyvalue.html#cfn-iot-topicrule-assetpropertyvalue-timestamp + Timestamp *TopicRule_AssetPropertyTimestamp `json:"Timestamp,omitempty"` + + // Value AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-assetpropertyvalue.html#cfn-iot-topicrule-assetpropertyvalue-value + Value *TopicRule_AssetPropertyVariant `json:"Value,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *TopicRule_AssetPropertyValue) AWSCloudFormationType() string { + return "AWS::IoT::TopicRule.AssetPropertyValue" +} diff --git a/cloudformation/iot/aws-iot-topicrule_assetpropertyvariant.go b/cloudformation/iot/aws-iot-topicrule_assetpropertyvariant.go new file mode 100644 index 0000000000..61e8dd8ab5 --- /dev/null +++ b/cloudformation/iot/aws-iot-topicrule_assetpropertyvariant.go @@ -0,0 +1,50 @@ +package iot + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// TopicRule_AssetPropertyVariant AWS CloudFormation Resource (AWS::IoT::TopicRule.AssetPropertyVariant) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-assetpropertyvariant.html +type TopicRule_AssetPropertyVariant struct { + + // BooleanValue AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-assetpropertyvariant.html#cfn-iot-topicrule-assetpropertyvariant-booleanvalue + BooleanValue string `json:"BooleanValue,omitempty"` + + // DoubleValue AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-assetpropertyvariant.html#cfn-iot-topicrule-assetpropertyvariant-doublevalue + DoubleValue string `json:"DoubleValue,omitempty"` + + // IntegerValue AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-assetpropertyvariant.html#cfn-iot-topicrule-assetpropertyvariant-integervalue + IntegerValue string `json:"IntegerValue,omitempty"` + + // StringValue AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-assetpropertyvariant.html#cfn-iot-topicrule-assetpropertyvariant-stringvalue + StringValue string `json:"StringValue,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *TopicRule_AssetPropertyVariant) AWSCloudFormationType() string { + return "AWS::IoT::TopicRule.AssetPropertyVariant" +} diff --git a/cloudformation/iot/aws-iot-topicrule_cloudwatchalarmaction.go b/cloudformation/iot/aws-iot-topicrule_cloudwatchalarmaction.go index 74d5d4c5b0..445bf5bc17 100644 --- a/cloudformation/iot/aws-iot-topicrule_cloudwatchalarmaction.go +++ b/cloudformation/iot/aws-iot-topicrule_cloudwatchalarmaction.go @@ -31,6 +31,9 @@ type TopicRule_CloudwatchAlarmAction struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iot/aws-iot-topicrule_cloudwatchmetricaction.go b/cloudformation/iot/aws-iot-topicrule_cloudwatchmetricaction.go index 4bc0b858a3..787f77e881 100644 --- a/cloudformation/iot/aws-iot-topicrule_cloudwatchmetricaction.go +++ b/cloudformation/iot/aws-iot-topicrule_cloudwatchmetricaction.go @@ -41,6 +41,9 @@ type TopicRule_CloudwatchMetricAction struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iot/aws-iot-topicrule_dynamodbaction.go b/cloudformation/iot/aws-iot-topicrule_dynamodbaction.go index 5998901c6c..89a0396bbb 100644 --- a/cloudformation/iot/aws-iot-topicrule_dynamodbaction.go +++ b/cloudformation/iot/aws-iot-topicrule_dynamodbaction.go @@ -56,6 +56,9 @@ type TopicRule_DynamoDBAction struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iot/aws-iot-topicrule_dynamodbv2action.go b/cloudformation/iot/aws-iot-topicrule_dynamodbv2action.go index 7b148b2cbc..542de4a0cc 100644 --- a/cloudformation/iot/aws-iot-topicrule_dynamodbv2action.go +++ b/cloudformation/iot/aws-iot-topicrule_dynamodbv2action.go @@ -21,6 +21,9 @@ type TopicRule_DynamoDBv2Action struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iot/aws-iot-topicrule_elasticsearchaction.go b/cloudformation/iot/aws-iot-topicrule_elasticsearchaction.go index 4072aecfde..8a7046b57d 100644 --- a/cloudformation/iot/aws-iot-topicrule_elasticsearchaction.go +++ b/cloudformation/iot/aws-iot-topicrule_elasticsearchaction.go @@ -36,6 +36,9 @@ type TopicRule_ElasticsearchAction struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iot/aws-iot-topicrule_firehoseaction.go b/cloudformation/iot/aws-iot-topicrule_firehoseaction.go index 41f09b5d65..eb6061a57c 100644 --- a/cloudformation/iot/aws-iot-topicrule_firehoseaction.go +++ b/cloudformation/iot/aws-iot-topicrule_firehoseaction.go @@ -26,6 +26,9 @@ type TopicRule_FirehoseAction struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iot/aws-iot-topicrule_httpaction.go b/cloudformation/iot/aws-iot-topicrule_httpaction.go new file mode 100644 index 0000000000..3a97ee8d8f --- /dev/null +++ b/cloudformation/iot/aws-iot-topicrule_httpaction.go @@ -0,0 +1,50 @@ +package iot + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// TopicRule_HttpAction AWS CloudFormation Resource (AWS::IoT::TopicRule.HttpAction) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-httpaction.html +type TopicRule_HttpAction struct { + + // Auth AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-httpaction.html#cfn-iot-topicrule-httpaction-auth + Auth *TopicRule_HttpAuthorization `json:"Auth,omitempty"` + + // ConfirmationUrl AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-httpaction.html#cfn-iot-topicrule-httpaction-confirmationurl + ConfirmationUrl string `json:"ConfirmationUrl,omitempty"` + + // Headers AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-httpaction.html#cfn-iot-topicrule-httpaction-headers + Headers []TopicRule_HttpActionHeader `json:"Headers,omitempty"` + + // Url AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-httpaction.html#cfn-iot-topicrule-httpaction-url + Url string `json:"Url,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *TopicRule_HttpAction) AWSCloudFormationType() string { + return "AWS::IoT::TopicRule.HttpAction" +} diff --git a/cloudformation/iot/aws-iot-topicrule_httpactionheader.go b/cloudformation/iot/aws-iot-topicrule_httpactionheader.go new file mode 100644 index 0000000000..f6e7e24096 --- /dev/null +++ b/cloudformation/iot/aws-iot-topicrule_httpactionheader.go @@ -0,0 +1,40 @@ +package iot + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// TopicRule_HttpActionHeader AWS CloudFormation Resource (AWS::IoT::TopicRule.HttpActionHeader) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-httpactionheader.html +type TopicRule_HttpActionHeader struct { + + // Key AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-httpactionheader.html#cfn-iot-topicrule-httpactionheader-key + Key string `json:"Key,omitempty"` + + // Value AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-httpactionheader.html#cfn-iot-topicrule-httpactionheader-value + Value string `json:"Value,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *TopicRule_HttpActionHeader) AWSCloudFormationType() string { + return "AWS::IoT::TopicRule.HttpActionHeader" +} diff --git a/cloudformation/iot/aws-iot-topicrule_httpauthorization.go b/cloudformation/iot/aws-iot-topicrule_httpauthorization.go new file mode 100644 index 0000000000..11c1149f33 --- /dev/null +++ b/cloudformation/iot/aws-iot-topicrule_httpauthorization.go @@ -0,0 +1,35 @@ +package iot + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// TopicRule_HttpAuthorization AWS CloudFormation Resource (AWS::IoT::TopicRule.HttpAuthorization) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-httpauthorization.html +type TopicRule_HttpAuthorization struct { + + // Sigv4 AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-httpauthorization.html#cfn-iot-topicrule-httpauthorization-sigv4 + Sigv4 *TopicRule_SigV4Authorization `json:"Sigv4,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *TopicRule_HttpAuthorization) AWSCloudFormationType() string { + return "AWS::IoT::TopicRule.HttpAuthorization" +} diff --git a/cloudformation/iot/aws-iot-topicrule_iotanalyticsaction.go b/cloudformation/iot/aws-iot-topicrule_iotanalyticsaction.go index a48b84980b..e71eb1002b 100644 --- a/cloudformation/iot/aws-iot-topicrule_iotanalyticsaction.go +++ b/cloudformation/iot/aws-iot-topicrule_iotanalyticsaction.go @@ -21,6 +21,9 @@ type TopicRule_IotAnalyticsAction struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iot/aws-iot-topicrule_ioteventsaction.go b/cloudformation/iot/aws-iot-topicrule_ioteventsaction.go new file mode 100644 index 0000000000..697b2ed62a --- /dev/null +++ b/cloudformation/iot/aws-iot-topicrule_ioteventsaction.go @@ -0,0 +1,45 @@ +package iot + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// TopicRule_IotEventsAction AWS CloudFormation Resource (AWS::IoT::TopicRule.IotEventsAction) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-ioteventsaction.html +type TopicRule_IotEventsAction struct { + + // InputName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-ioteventsaction.html#cfn-iot-topicrule-ioteventsaction-inputname + InputName string `json:"InputName,omitempty"` + + // MessageId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-ioteventsaction.html#cfn-iot-topicrule-ioteventsaction-messageid + MessageId string `json:"MessageId,omitempty"` + + // RoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-ioteventsaction.html#cfn-iot-topicrule-ioteventsaction-rolearn + RoleArn string `json:"RoleArn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *TopicRule_IotEventsAction) AWSCloudFormationType() string { + return "AWS::IoT::TopicRule.IotEventsAction" +} diff --git a/cloudformation/iot/aws-iot-topicrule_iotsitewiseaction.go b/cloudformation/iot/aws-iot-topicrule_iotsitewiseaction.go new file mode 100644 index 0000000000..d31b0e16ce --- /dev/null +++ b/cloudformation/iot/aws-iot-topicrule_iotsitewiseaction.go @@ -0,0 +1,40 @@ +package iot + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// TopicRule_IotSiteWiseAction AWS CloudFormation Resource (AWS::IoT::TopicRule.IotSiteWiseAction) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-iotsitewiseaction.html +type TopicRule_IotSiteWiseAction struct { + + // PutAssetPropertyValueEntries AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-iotsitewiseaction.html#cfn-iot-topicrule-iotsitewiseaction-putassetpropertyvalueentries + PutAssetPropertyValueEntries []TopicRule_PutAssetPropertyValueEntry `json:"PutAssetPropertyValueEntries,omitempty"` + + // RoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-iotsitewiseaction.html#cfn-iot-topicrule-iotsitewiseaction-rolearn + RoleArn string `json:"RoleArn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *TopicRule_IotSiteWiseAction) AWSCloudFormationType() string { + return "AWS::IoT::TopicRule.IotSiteWiseAction" +} diff --git a/cloudformation/iot/aws-iot-topicrule_kinesisaction.go b/cloudformation/iot/aws-iot-topicrule_kinesisaction.go index b515838154..df5d5d8730 100644 --- a/cloudformation/iot/aws-iot-topicrule_kinesisaction.go +++ b/cloudformation/iot/aws-iot-topicrule_kinesisaction.go @@ -26,6 +26,9 @@ type TopicRule_KinesisAction struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iot/aws-iot-topicrule_lambdaaction.go b/cloudformation/iot/aws-iot-topicrule_lambdaaction.go index c3dfe7773b..61b8445452 100644 --- a/cloudformation/iot/aws-iot-topicrule_lambdaaction.go +++ b/cloudformation/iot/aws-iot-topicrule_lambdaaction.go @@ -16,6 +16,9 @@ type TopicRule_LambdaAction struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iot/aws-iot-topicrule_putassetpropertyvalueentry.go b/cloudformation/iot/aws-iot-topicrule_putassetpropertyvalueentry.go new file mode 100644 index 0000000000..5d50ed6790 --- /dev/null +++ b/cloudformation/iot/aws-iot-topicrule_putassetpropertyvalueentry.go @@ -0,0 +1,55 @@ +package iot + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// TopicRule_PutAssetPropertyValueEntry AWS CloudFormation Resource (AWS::IoT::TopicRule.PutAssetPropertyValueEntry) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-putassetpropertyvalueentry.html +type TopicRule_PutAssetPropertyValueEntry struct { + + // AssetId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-putassetpropertyvalueentry.html#cfn-iot-topicrule-putassetpropertyvalueentry-assetid + AssetId string `json:"AssetId,omitempty"` + + // EntryId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-putassetpropertyvalueentry.html#cfn-iot-topicrule-putassetpropertyvalueentry-entryid + EntryId string `json:"EntryId,omitempty"` + + // PropertyAlias AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-putassetpropertyvalueentry.html#cfn-iot-topicrule-putassetpropertyvalueentry-propertyalias + PropertyAlias string `json:"PropertyAlias,omitempty"` + + // PropertyId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-putassetpropertyvalueentry.html#cfn-iot-topicrule-putassetpropertyvalueentry-propertyid + PropertyId string `json:"PropertyId,omitempty"` + + // PropertyValues AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-putassetpropertyvalueentry.html#cfn-iot-topicrule-putassetpropertyvalueentry-propertyvalues + PropertyValues []TopicRule_AssetPropertyValue `json:"PropertyValues,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *TopicRule_PutAssetPropertyValueEntry) AWSCloudFormationType() string { + return "AWS::IoT::TopicRule.PutAssetPropertyValueEntry" +} diff --git a/cloudformation/iot/aws-iot-topicrule_putiteminput.go b/cloudformation/iot/aws-iot-topicrule_putiteminput.go index d57f276bed..319bc7c34f 100644 --- a/cloudformation/iot/aws-iot-topicrule_putiteminput.go +++ b/cloudformation/iot/aws-iot-topicrule_putiteminput.go @@ -16,6 +16,9 @@ type TopicRule_PutItemInput struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iot/aws-iot-topicrule_republishaction.go b/cloudformation/iot/aws-iot-topicrule_republishaction.go index 819e386d0a..290eff2c82 100644 --- a/cloudformation/iot/aws-iot-topicrule_republishaction.go +++ b/cloudformation/iot/aws-iot-topicrule_republishaction.go @@ -8,6 +8,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-republishaction.html type TopicRule_RepublishAction struct { + // Qos AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-republishaction.html#cfn-iot-topicrule-republishaction-qos + Qos int `json:"Qos,omitempty"` + // RoleArn AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-republishaction.html#cfn-iot-topicrule-republishaction-rolearn @@ -21,6 +26,9 @@ type TopicRule_RepublishAction struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iot/aws-iot-topicrule_s3action.go b/cloudformation/iot/aws-iot-topicrule_s3action.go index 5218245e93..ec9ee67ddd 100644 --- a/cloudformation/iot/aws-iot-topicrule_s3action.go +++ b/cloudformation/iot/aws-iot-topicrule_s3action.go @@ -26,6 +26,9 @@ type TopicRule_S3Action struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iot/aws-iot-topicrule_sigv4authorization.go b/cloudformation/iot/aws-iot-topicrule_sigv4authorization.go new file mode 100644 index 0000000000..724713633c --- /dev/null +++ b/cloudformation/iot/aws-iot-topicrule_sigv4authorization.go @@ -0,0 +1,45 @@ +package iot + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// TopicRule_SigV4Authorization AWS CloudFormation Resource (AWS::IoT::TopicRule.SigV4Authorization) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-sigv4authorization.html +type TopicRule_SigV4Authorization struct { + + // RoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-sigv4authorization.html#cfn-iot-topicrule-sigv4authorization-rolearn + RoleArn string `json:"RoleArn,omitempty"` + + // ServiceName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-sigv4authorization.html#cfn-iot-topicrule-sigv4authorization-servicename + ServiceName string `json:"ServiceName,omitempty"` + + // SigningRegion AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-sigv4authorization.html#cfn-iot-topicrule-sigv4authorization-signingregion + SigningRegion string `json:"SigningRegion,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *TopicRule_SigV4Authorization) AWSCloudFormationType() string { + return "AWS::IoT::TopicRule.SigV4Authorization" +} diff --git a/cloudformation/iot/aws-iot-topicrule_snsaction.go b/cloudformation/iot/aws-iot-topicrule_snsaction.go index 5d4392f935..0845b6dc17 100644 --- a/cloudformation/iot/aws-iot-topicrule_snsaction.go +++ b/cloudformation/iot/aws-iot-topicrule_snsaction.go @@ -26,6 +26,9 @@ type TopicRule_SnsAction struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iot/aws-iot-topicrule_sqsaction.go b/cloudformation/iot/aws-iot-topicrule_sqsaction.go index f38701b7ac..36b3aac28e 100644 --- a/cloudformation/iot/aws-iot-topicrule_sqsaction.go +++ b/cloudformation/iot/aws-iot-topicrule_sqsaction.go @@ -26,6 +26,9 @@ type TopicRule_SqsAction struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iot/aws-iot-topicrule_stepfunctionsaction.go b/cloudformation/iot/aws-iot-topicrule_stepfunctionsaction.go index c8229f922d..62683d8248 100644 --- a/cloudformation/iot/aws-iot-topicrule_stepfunctionsaction.go +++ b/cloudformation/iot/aws-iot-topicrule_stepfunctionsaction.go @@ -26,6 +26,9 @@ type TopicRule_StepFunctionsAction struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iot/aws-iot-topicrule_topicrulepayload.go b/cloudformation/iot/aws-iot-topicrule_topicrulepayload.go index 9aeb649b79..a094774961 100644 --- a/cloudformation/iot/aws-iot-topicrule_topicrulepayload.go +++ b/cloudformation/iot/aws-iot-topicrule_topicrulepayload.go @@ -41,6 +41,9 @@ type TopicRule_TopicRulePayload struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iot1click/aws-iot1click-device.go b/cloudformation/iot1click/aws-iot1click-device.go index 5a6249f106..766e9e4585 100644 --- a/cloudformation/iot1click/aws-iot1click-device.go +++ b/cloudformation/iot1click/aws-iot1click-device.go @@ -25,6 +25,9 @@ type Device struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *Device) AWSCloudFormationType() string { func (r Device) MarshalJSON() ([]byte, error) { type Properties Device return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r Device) MarshalJSON() ([]byte, error) { func (r *Device) UnmarshalJSON(b []byte) error { type Properties Device res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *Device) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/iot1click/aws-iot1click-placement.go b/cloudformation/iot1click/aws-iot1click-placement.go index 5e07fe035a..f2a38e887f 100644 --- a/cloudformation/iot1click/aws-iot1click-placement.go +++ b/cloudformation/iot1click/aws-iot1click-placement.go @@ -35,6 +35,9 @@ type Placement struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -55,19 +58,21 @@ func (r *Placement) AWSCloudFormationType() string { func (r Placement) MarshalJSON() ([]byte, error) { type Properties Placement return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -76,12 +81,13 @@ func (r Placement) MarshalJSON() ([]byte, error) { func (r *Placement) UnmarshalJSON(b []byte) error { type Properties Placement res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -105,6 +111,9 @@ func (r *Placement) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/iot1click/aws-iot1click-project.go b/cloudformation/iot1click/aws-iot1click-project.go index f63f21ece0..e197a15780 100644 --- a/cloudformation/iot1click/aws-iot1click-project.go +++ b/cloudformation/iot1click/aws-iot1click-project.go @@ -30,6 +30,9 @@ type Project struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *Project) AWSCloudFormationType() string { func (r Project) MarshalJSON() ([]byte, error) { type Properties Project return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r Project) MarshalJSON() ([]byte, error) { func (r *Project) UnmarshalJSON(b []byte) error { type Properties Project res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *Project) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/iot1click/aws-iot1click-project_devicetemplate.go b/cloudformation/iot1click/aws-iot1click-project_devicetemplate.go index 97297b34ee..92f41bc276 100644 --- a/cloudformation/iot1click/aws-iot1click-project_devicetemplate.go +++ b/cloudformation/iot1click/aws-iot1click-project_devicetemplate.go @@ -21,6 +21,9 @@ type Project_DeviceTemplate struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iot1click/aws-iot1click-project_placementtemplate.go b/cloudformation/iot1click/aws-iot1click-project_placementtemplate.go index 88d8fe6029..225ea8fff0 100644 --- a/cloudformation/iot1click/aws-iot1click-project_placementtemplate.go +++ b/cloudformation/iot1click/aws-iot1click-project_placementtemplate.go @@ -21,6 +21,9 @@ type Project_PlacementTemplate struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotanalytics/aws-iotanalytics-channel.go b/cloudformation/iotanalytics/aws-iotanalytics-channel.go index f91ce85674..891e2e3bdf 100644 --- a/cloudformation/iotanalytics/aws-iotanalytics-channel.go +++ b/cloudformation/iotanalytics/aws-iotanalytics-channel.go @@ -36,6 +36,9 @@ type Channel struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -56,19 +59,21 @@ func (r *Channel) AWSCloudFormationType() string { func (r Channel) MarshalJSON() ([]byte, error) { type Properties Channel return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -77,12 +82,13 @@ func (r Channel) MarshalJSON() ([]byte, error) { func (r *Channel) UnmarshalJSON(b []byte) error { type Properties Channel res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -106,6 +112,9 @@ func (r *Channel) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/iotanalytics/aws-iotanalytics-channel_channelstorage.go b/cloudformation/iotanalytics/aws-iotanalytics-channel_channelstorage.go index 240f008da5..585356140f 100644 --- a/cloudformation/iotanalytics/aws-iotanalytics-channel_channelstorage.go +++ b/cloudformation/iotanalytics/aws-iotanalytics-channel_channelstorage.go @@ -21,6 +21,9 @@ type Channel_ChannelStorage struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotanalytics/aws-iotanalytics-channel_customermanageds3.go b/cloudformation/iotanalytics/aws-iotanalytics-channel_customermanageds3.go index 340ff2e6e1..54fe98a06e 100644 --- a/cloudformation/iotanalytics/aws-iotanalytics-channel_customermanageds3.go +++ b/cloudformation/iotanalytics/aws-iotanalytics-channel_customermanageds3.go @@ -26,6 +26,9 @@ type Channel_CustomerManagedS3 struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotanalytics/aws-iotanalytics-channel_retentionperiod.go b/cloudformation/iotanalytics/aws-iotanalytics-channel_retentionperiod.go index ad5263f3fb..4fae8b0f2a 100644 --- a/cloudformation/iotanalytics/aws-iotanalytics-channel_retentionperiod.go +++ b/cloudformation/iotanalytics/aws-iotanalytics-channel_retentionperiod.go @@ -21,6 +21,9 @@ type Channel_RetentionPeriod struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotanalytics/aws-iotanalytics-channel_servicemanageds3.go b/cloudformation/iotanalytics/aws-iotanalytics-channel_servicemanageds3.go index e43f78e162..efd8a2a7c1 100644 --- a/cloudformation/iotanalytics/aws-iotanalytics-channel_servicemanageds3.go +++ b/cloudformation/iotanalytics/aws-iotanalytics-channel_servicemanageds3.go @@ -11,6 +11,9 @@ type Channel_ServiceManagedS3 struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotanalytics/aws-iotanalytics-dataset.go b/cloudformation/iotanalytics/aws-iotanalytics-dataset.go index 66edd580dd..bcc3749353 100644 --- a/cloudformation/iotanalytics/aws-iotanalytics-dataset.go +++ b/cloudformation/iotanalytics/aws-iotanalytics-dataset.go @@ -51,6 +51,9 @@ type Dataset struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -71,19 +74,21 @@ func (r *Dataset) AWSCloudFormationType() string { func (r Dataset) MarshalJSON() ([]byte, error) { type Properties Dataset return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -92,12 +97,13 @@ func (r Dataset) MarshalJSON() ([]byte, error) { func (r *Dataset) UnmarshalJSON(b []byte) error { type Properties Dataset res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -121,6 +127,9 @@ func (r *Dataset) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/iotanalytics/aws-iotanalytics-dataset_action.go b/cloudformation/iotanalytics/aws-iotanalytics-dataset_action.go index 231cc9309d..1dd326102b 100644 --- a/cloudformation/iotanalytics/aws-iotanalytics-dataset_action.go +++ b/cloudformation/iotanalytics/aws-iotanalytics-dataset_action.go @@ -26,6 +26,9 @@ type Dataset_Action struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotanalytics/aws-iotanalytics-dataset_containeraction.go b/cloudformation/iotanalytics/aws-iotanalytics-dataset_containeraction.go index 105a2e700f..df1bbfe829 100644 --- a/cloudformation/iotanalytics/aws-iotanalytics-dataset_containeraction.go +++ b/cloudformation/iotanalytics/aws-iotanalytics-dataset_containeraction.go @@ -31,6 +31,9 @@ type Dataset_ContainerAction struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotanalytics/aws-iotanalytics-dataset_datasetcontentdeliveryrule.go b/cloudformation/iotanalytics/aws-iotanalytics-dataset_datasetcontentdeliveryrule.go index 3b9f7b4d37..f8ffd0296d 100644 --- a/cloudformation/iotanalytics/aws-iotanalytics-dataset_datasetcontentdeliveryrule.go +++ b/cloudformation/iotanalytics/aws-iotanalytics-dataset_datasetcontentdeliveryrule.go @@ -21,6 +21,9 @@ type Dataset_DatasetContentDeliveryRule struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotanalytics/aws-iotanalytics-dataset_datasetcontentdeliveryruledestination.go b/cloudformation/iotanalytics/aws-iotanalytics-dataset_datasetcontentdeliveryruledestination.go index 50aee30cf7..77f0831f8f 100644 --- a/cloudformation/iotanalytics/aws-iotanalytics-dataset_datasetcontentdeliveryruledestination.go +++ b/cloudformation/iotanalytics/aws-iotanalytics-dataset_datasetcontentdeliveryruledestination.go @@ -21,6 +21,9 @@ type Dataset_DatasetContentDeliveryRuleDestination struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotanalytics/aws-iotanalytics-dataset_datasetcontentversionvalue.go b/cloudformation/iotanalytics/aws-iotanalytics-dataset_datasetcontentversionvalue.go index c9a51071d9..058190784c 100644 --- a/cloudformation/iotanalytics/aws-iotanalytics-dataset_datasetcontentversionvalue.go +++ b/cloudformation/iotanalytics/aws-iotanalytics-dataset_datasetcontentversionvalue.go @@ -16,6 +16,9 @@ type Dataset_DatasetContentVersionValue struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotanalytics/aws-iotanalytics-dataset_deltatime.go b/cloudformation/iotanalytics/aws-iotanalytics-dataset_deltatime.go index bcc58543b5..2a212e77b6 100644 --- a/cloudformation/iotanalytics/aws-iotanalytics-dataset_deltatime.go +++ b/cloudformation/iotanalytics/aws-iotanalytics-dataset_deltatime.go @@ -21,6 +21,9 @@ type Dataset_DeltaTime struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotanalytics/aws-iotanalytics-dataset_filter.go b/cloudformation/iotanalytics/aws-iotanalytics-dataset_filter.go index 9e180ce5bf..7327c9e65a 100644 --- a/cloudformation/iotanalytics/aws-iotanalytics-dataset_filter.go +++ b/cloudformation/iotanalytics/aws-iotanalytics-dataset_filter.go @@ -16,6 +16,9 @@ type Dataset_Filter struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotanalytics/aws-iotanalytics-dataset_glueconfiguration.go b/cloudformation/iotanalytics/aws-iotanalytics-dataset_glueconfiguration.go index 41c09289fc..254d1801b8 100644 --- a/cloudformation/iotanalytics/aws-iotanalytics-dataset_glueconfiguration.go +++ b/cloudformation/iotanalytics/aws-iotanalytics-dataset_glueconfiguration.go @@ -21,6 +21,9 @@ type Dataset_GlueConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotanalytics/aws-iotanalytics-dataset_ioteventsdestinationconfiguration.go b/cloudformation/iotanalytics/aws-iotanalytics-dataset_ioteventsdestinationconfiguration.go index 6891b12232..d15b82dd2c 100644 --- a/cloudformation/iotanalytics/aws-iotanalytics-dataset_ioteventsdestinationconfiguration.go +++ b/cloudformation/iotanalytics/aws-iotanalytics-dataset_ioteventsdestinationconfiguration.go @@ -21,6 +21,9 @@ type Dataset_IotEventsDestinationConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotanalytics/aws-iotanalytics-dataset_outputfileurivalue.go b/cloudformation/iotanalytics/aws-iotanalytics-dataset_outputfileurivalue.go index e8b9da78bd..c8f6357358 100644 --- a/cloudformation/iotanalytics/aws-iotanalytics-dataset_outputfileurivalue.go +++ b/cloudformation/iotanalytics/aws-iotanalytics-dataset_outputfileurivalue.go @@ -16,6 +16,9 @@ type Dataset_OutputFileUriValue struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotanalytics/aws-iotanalytics-dataset_queryaction.go b/cloudformation/iotanalytics/aws-iotanalytics-dataset_queryaction.go index 09ab733e64..4b75d99e96 100644 --- a/cloudformation/iotanalytics/aws-iotanalytics-dataset_queryaction.go +++ b/cloudformation/iotanalytics/aws-iotanalytics-dataset_queryaction.go @@ -21,6 +21,9 @@ type Dataset_QueryAction struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotanalytics/aws-iotanalytics-dataset_resourceconfiguration.go b/cloudformation/iotanalytics/aws-iotanalytics-dataset_resourceconfiguration.go index 917db98b4b..a04d7d8054 100644 --- a/cloudformation/iotanalytics/aws-iotanalytics-dataset_resourceconfiguration.go +++ b/cloudformation/iotanalytics/aws-iotanalytics-dataset_resourceconfiguration.go @@ -21,6 +21,9 @@ type Dataset_ResourceConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotanalytics/aws-iotanalytics-dataset_retentionperiod.go b/cloudformation/iotanalytics/aws-iotanalytics-dataset_retentionperiod.go index 481815c2a9..f863e2af57 100644 --- a/cloudformation/iotanalytics/aws-iotanalytics-dataset_retentionperiod.go +++ b/cloudformation/iotanalytics/aws-iotanalytics-dataset_retentionperiod.go @@ -21,6 +21,9 @@ type Dataset_RetentionPeriod struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotanalytics/aws-iotanalytics-dataset_s3destinationconfiguration.go b/cloudformation/iotanalytics/aws-iotanalytics-dataset_s3destinationconfiguration.go index 9069aade76..17ca69b07b 100644 --- a/cloudformation/iotanalytics/aws-iotanalytics-dataset_s3destinationconfiguration.go +++ b/cloudformation/iotanalytics/aws-iotanalytics-dataset_s3destinationconfiguration.go @@ -31,6 +31,9 @@ type Dataset_S3DestinationConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotanalytics/aws-iotanalytics-dataset_schedule.go b/cloudformation/iotanalytics/aws-iotanalytics-dataset_schedule.go index acf05b8cb8..a443275492 100644 --- a/cloudformation/iotanalytics/aws-iotanalytics-dataset_schedule.go +++ b/cloudformation/iotanalytics/aws-iotanalytics-dataset_schedule.go @@ -16,6 +16,9 @@ type Dataset_Schedule struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotanalytics/aws-iotanalytics-dataset_trigger.go b/cloudformation/iotanalytics/aws-iotanalytics-dataset_trigger.go index 0f6641caf9..e0e6719e99 100644 --- a/cloudformation/iotanalytics/aws-iotanalytics-dataset_trigger.go +++ b/cloudformation/iotanalytics/aws-iotanalytics-dataset_trigger.go @@ -21,6 +21,9 @@ type Dataset_Trigger struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotanalytics/aws-iotanalytics-dataset_triggeringdataset.go b/cloudformation/iotanalytics/aws-iotanalytics-dataset_triggeringdataset.go index 04d291871b..54229fb881 100644 --- a/cloudformation/iotanalytics/aws-iotanalytics-dataset_triggeringdataset.go +++ b/cloudformation/iotanalytics/aws-iotanalytics-dataset_triggeringdataset.go @@ -16,6 +16,9 @@ type Dataset_TriggeringDataset struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotanalytics/aws-iotanalytics-dataset_variable.go b/cloudformation/iotanalytics/aws-iotanalytics-dataset_variable.go index 386378a082..35da537079 100644 --- a/cloudformation/iotanalytics/aws-iotanalytics-dataset_variable.go +++ b/cloudformation/iotanalytics/aws-iotanalytics-dataset_variable.go @@ -36,6 +36,9 @@ type Dataset_Variable struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotanalytics/aws-iotanalytics-dataset_versioningconfiguration.go b/cloudformation/iotanalytics/aws-iotanalytics-dataset_versioningconfiguration.go index 3951f0694e..b58618ba0c 100644 --- a/cloudformation/iotanalytics/aws-iotanalytics-dataset_versioningconfiguration.go +++ b/cloudformation/iotanalytics/aws-iotanalytics-dataset_versioningconfiguration.go @@ -21,6 +21,9 @@ type Dataset_VersioningConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotanalytics/aws-iotanalytics-datastore.go b/cloudformation/iotanalytics/aws-iotanalytics-datastore.go index 181ee5c9ca..22a45239f0 100644 --- a/cloudformation/iotanalytics/aws-iotanalytics-datastore.go +++ b/cloudformation/iotanalytics/aws-iotanalytics-datastore.go @@ -36,6 +36,9 @@ type Datastore struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -56,19 +59,21 @@ func (r *Datastore) AWSCloudFormationType() string { func (r Datastore) MarshalJSON() ([]byte, error) { type Properties Datastore return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -77,12 +82,13 @@ func (r Datastore) MarshalJSON() ([]byte, error) { func (r *Datastore) UnmarshalJSON(b []byte) error { type Properties Datastore res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -106,6 +112,9 @@ func (r *Datastore) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/iotanalytics/aws-iotanalytics-datastore_customermanageds3.go b/cloudformation/iotanalytics/aws-iotanalytics-datastore_customermanageds3.go index d8701d7657..92d327d67f 100644 --- a/cloudformation/iotanalytics/aws-iotanalytics-datastore_customermanageds3.go +++ b/cloudformation/iotanalytics/aws-iotanalytics-datastore_customermanageds3.go @@ -26,6 +26,9 @@ type Datastore_CustomerManagedS3 struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotanalytics/aws-iotanalytics-datastore_datastorestorage.go b/cloudformation/iotanalytics/aws-iotanalytics-datastore_datastorestorage.go index 931fdc6600..fd0bab8d4b 100644 --- a/cloudformation/iotanalytics/aws-iotanalytics-datastore_datastorestorage.go +++ b/cloudformation/iotanalytics/aws-iotanalytics-datastore_datastorestorage.go @@ -21,6 +21,9 @@ type Datastore_DatastoreStorage struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotanalytics/aws-iotanalytics-datastore_retentionperiod.go b/cloudformation/iotanalytics/aws-iotanalytics-datastore_retentionperiod.go index c5243cee7b..bfb54f2b26 100644 --- a/cloudformation/iotanalytics/aws-iotanalytics-datastore_retentionperiod.go +++ b/cloudformation/iotanalytics/aws-iotanalytics-datastore_retentionperiod.go @@ -21,6 +21,9 @@ type Datastore_RetentionPeriod struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotanalytics/aws-iotanalytics-datastore_servicemanageds3.go b/cloudformation/iotanalytics/aws-iotanalytics-datastore_servicemanageds3.go index 21602adc05..f40487c4ad 100644 --- a/cloudformation/iotanalytics/aws-iotanalytics-datastore_servicemanageds3.go +++ b/cloudformation/iotanalytics/aws-iotanalytics-datastore_servicemanageds3.go @@ -11,6 +11,9 @@ type Datastore_ServiceManagedS3 struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotanalytics/aws-iotanalytics-pipeline.go b/cloudformation/iotanalytics/aws-iotanalytics-pipeline.go index 956c153e55..cc708d3761 100644 --- a/cloudformation/iotanalytics/aws-iotanalytics-pipeline.go +++ b/cloudformation/iotanalytics/aws-iotanalytics-pipeline.go @@ -31,6 +31,9 @@ type Pipeline struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -51,19 +54,21 @@ func (r *Pipeline) AWSCloudFormationType() string { func (r Pipeline) MarshalJSON() ([]byte, error) { type Properties Pipeline return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -72,12 +77,13 @@ func (r Pipeline) MarshalJSON() ([]byte, error) { func (r *Pipeline) UnmarshalJSON(b []byte) error { type Properties Pipeline res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -101,6 +107,9 @@ func (r *Pipeline) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/iotanalytics/aws-iotanalytics-pipeline_activity.go b/cloudformation/iotanalytics/aws-iotanalytics-pipeline_activity.go index c9c62e6404..0431480717 100644 --- a/cloudformation/iotanalytics/aws-iotanalytics-pipeline_activity.go +++ b/cloudformation/iotanalytics/aws-iotanalytics-pipeline_activity.go @@ -61,6 +61,9 @@ type Pipeline_Activity struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotanalytics/aws-iotanalytics-pipeline_addattributes.go b/cloudformation/iotanalytics/aws-iotanalytics-pipeline_addattributes.go index a7bf736a27..151d6ca6e1 100644 --- a/cloudformation/iotanalytics/aws-iotanalytics-pipeline_addattributes.go +++ b/cloudformation/iotanalytics/aws-iotanalytics-pipeline_addattributes.go @@ -26,6 +26,9 @@ type Pipeline_AddAttributes struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotanalytics/aws-iotanalytics-pipeline_channel.go b/cloudformation/iotanalytics/aws-iotanalytics-pipeline_channel.go index a299d8c03e..54ac317f22 100644 --- a/cloudformation/iotanalytics/aws-iotanalytics-pipeline_channel.go +++ b/cloudformation/iotanalytics/aws-iotanalytics-pipeline_channel.go @@ -26,6 +26,9 @@ type Pipeline_Channel struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotanalytics/aws-iotanalytics-pipeline_datastore.go b/cloudformation/iotanalytics/aws-iotanalytics-pipeline_datastore.go index dad1eba618..8c270504c2 100644 --- a/cloudformation/iotanalytics/aws-iotanalytics-pipeline_datastore.go +++ b/cloudformation/iotanalytics/aws-iotanalytics-pipeline_datastore.go @@ -21,6 +21,9 @@ type Pipeline_Datastore struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotanalytics/aws-iotanalytics-pipeline_deviceregistryenrich.go b/cloudformation/iotanalytics/aws-iotanalytics-pipeline_deviceregistryenrich.go index 07f53fb54d..5e2166ce2f 100644 --- a/cloudformation/iotanalytics/aws-iotanalytics-pipeline_deviceregistryenrich.go +++ b/cloudformation/iotanalytics/aws-iotanalytics-pipeline_deviceregistryenrich.go @@ -36,6 +36,9 @@ type Pipeline_DeviceRegistryEnrich struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotanalytics/aws-iotanalytics-pipeline_deviceshadowenrich.go b/cloudformation/iotanalytics/aws-iotanalytics-pipeline_deviceshadowenrich.go index 811365dad5..0db9534ee2 100644 --- a/cloudformation/iotanalytics/aws-iotanalytics-pipeline_deviceshadowenrich.go +++ b/cloudformation/iotanalytics/aws-iotanalytics-pipeline_deviceshadowenrich.go @@ -36,6 +36,9 @@ type Pipeline_DeviceShadowEnrich struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotanalytics/aws-iotanalytics-pipeline_filter.go b/cloudformation/iotanalytics/aws-iotanalytics-pipeline_filter.go index ff0051c314..6039250b9b 100644 --- a/cloudformation/iotanalytics/aws-iotanalytics-pipeline_filter.go +++ b/cloudformation/iotanalytics/aws-iotanalytics-pipeline_filter.go @@ -26,6 +26,9 @@ type Pipeline_Filter struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotanalytics/aws-iotanalytics-pipeline_lambda.go b/cloudformation/iotanalytics/aws-iotanalytics-pipeline_lambda.go index 5139346013..4ad3152eba 100644 --- a/cloudformation/iotanalytics/aws-iotanalytics-pipeline_lambda.go +++ b/cloudformation/iotanalytics/aws-iotanalytics-pipeline_lambda.go @@ -31,6 +31,9 @@ type Pipeline_Lambda struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotanalytics/aws-iotanalytics-pipeline_math.go b/cloudformation/iotanalytics/aws-iotanalytics-pipeline_math.go index 23ef2423e3..9971632731 100644 --- a/cloudformation/iotanalytics/aws-iotanalytics-pipeline_math.go +++ b/cloudformation/iotanalytics/aws-iotanalytics-pipeline_math.go @@ -31,6 +31,9 @@ type Pipeline_Math struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotanalytics/aws-iotanalytics-pipeline_removeattributes.go b/cloudformation/iotanalytics/aws-iotanalytics-pipeline_removeattributes.go index 47d321d775..969dc8d41c 100644 --- a/cloudformation/iotanalytics/aws-iotanalytics-pipeline_removeattributes.go +++ b/cloudformation/iotanalytics/aws-iotanalytics-pipeline_removeattributes.go @@ -26,6 +26,9 @@ type Pipeline_RemoveAttributes struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotanalytics/aws-iotanalytics-pipeline_selectattributes.go b/cloudformation/iotanalytics/aws-iotanalytics-pipeline_selectattributes.go index b331b32bb7..18bda436af 100644 --- a/cloudformation/iotanalytics/aws-iotanalytics-pipeline_selectattributes.go +++ b/cloudformation/iotanalytics/aws-iotanalytics-pipeline_selectattributes.go @@ -26,6 +26,9 @@ type Pipeline_SelectAttributes struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotevents/aws-iotevents-detectormodel.go b/cloudformation/iotevents/aws-iotevents-detectormodel.go index e7363e83d7..6f68ef40c2 100644 --- a/cloudformation/iotevents/aws-iotevents-detectormodel.go +++ b/cloudformation/iotevents/aws-iotevents-detectormodel.go @@ -51,6 +51,9 @@ type DetectorModel struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -71,19 +74,21 @@ func (r *DetectorModel) AWSCloudFormationType() string { func (r DetectorModel) MarshalJSON() ([]byte, error) { type Properties DetectorModel return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -92,12 +97,13 @@ func (r DetectorModel) MarshalJSON() ([]byte, error) { func (r *DetectorModel) UnmarshalJSON(b []byte) error { type Properties DetectorModel res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -121,6 +127,9 @@ func (r *DetectorModel) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/iotevents/aws-iotevents-detectormodel_action.go b/cloudformation/iotevents/aws-iotevents-detectormodel_action.go index 49c50670c3..8173d40aeb 100644 --- a/cloudformation/iotevents/aws-iotevents-detectormodel_action.go +++ b/cloudformation/iotevents/aws-iotevents-detectormodel_action.go @@ -13,6 +13,16 @@ type DetectorModel_Action struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-cleartimer ClearTimer *DetectorModel_ClearTimer `json:"ClearTimer,omitempty"` + // DynamoDB AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-dynamodb + DynamoDB *DetectorModel_DynamoDB `json:"DynamoDB,omitempty"` + + // DynamoDBv2 AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-dynamodbv2 + DynamoDBv2 *DetectorModel_DynamoDBv2 `json:"DynamoDBv2,omitempty"` + // Firehose AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-firehose @@ -23,6 +33,11 @@ type DetectorModel_Action struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-iotevents IotEvents *DetectorModel_IotEvents `json:"IotEvents,omitempty"` + // IotSiteWise AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-iotsitewise + IotSiteWise *DetectorModel_IotSiteWise `json:"IotSiteWise,omitempty"` + // IotTopicPublish AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-iottopicpublish @@ -61,6 +76,9 @@ type DetectorModel_Action struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotevents/aws-iotevents-detectormodel_assetpropertytimestamp.go b/cloudformation/iotevents/aws-iotevents-detectormodel_assetpropertytimestamp.go new file mode 100644 index 0000000000..f434641f0f --- /dev/null +++ b/cloudformation/iotevents/aws-iotevents-detectormodel_assetpropertytimestamp.go @@ -0,0 +1,40 @@ +package iotevents + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DetectorModel_AssetPropertyTimestamp AWS CloudFormation Resource (AWS::IoTEvents::DetectorModel.AssetPropertyTimestamp) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertytimestamp.html +type DetectorModel_AssetPropertyTimestamp struct { + + // OffsetInNanos AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertytimestamp.html#cfn-iotevents-detectormodel-assetpropertytimestamp-offsetinnanos + OffsetInNanos string `json:"OffsetInNanos,omitempty"` + + // TimeInSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertytimestamp.html#cfn-iotevents-detectormodel-assetpropertytimestamp-timeinseconds + TimeInSeconds string `json:"TimeInSeconds,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DetectorModel_AssetPropertyTimestamp) AWSCloudFormationType() string { + return "AWS::IoTEvents::DetectorModel.AssetPropertyTimestamp" +} diff --git a/cloudformation/iotevents/aws-iotevents-detectormodel_assetpropertyvalue.go b/cloudformation/iotevents/aws-iotevents-detectormodel_assetpropertyvalue.go new file mode 100644 index 0000000000..9753118b8f --- /dev/null +++ b/cloudformation/iotevents/aws-iotevents-detectormodel_assetpropertyvalue.go @@ -0,0 +1,45 @@ +package iotevents + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DetectorModel_AssetPropertyValue AWS CloudFormation Resource (AWS::IoTEvents::DetectorModel.AssetPropertyValue) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertyvalue.html +type DetectorModel_AssetPropertyValue struct { + + // Quality AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertyvalue.html#cfn-iotevents-detectormodel-assetpropertyvalue-quality + Quality string `json:"Quality,omitempty"` + + // Timestamp AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertyvalue.html#cfn-iotevents-detectormodel-assetpropertyvalue-timestamp + Timestamp *DetectorModel_AssetPropertyTimestamp `json:"Timestamp,omitempty"` + + // Value AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertyvalue.html#cfn-iotevents-detectormodel-assetpropertyvalue-value + Value *DetectorModel_AssetPropertyVariant `json:"Value,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DetectorModel_AssetPropertyValue) AWSCloudFormationType() string { + return "AWS::IoTEvents::DetectorModel.AssetPropertyValue" +} diff --git a/cloudformation/iotevents/aws-iotevents-detectormodel_assetpropertyvariant.go b/cloudformation/iotevents/aws-iotevents-detectormodel_assetpropertyvariant.go new file mode 100644 index 0000000000..b90d2539d4 --- /dev/null +++ b/cloudformation/iotevents/aws-iotevents-detectormodel_assetpropertyvariant.go @@ -0,0 +1,50 @@ +package iotevents + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DetectorModel_AssetPropertyVariant AWS CloudFormation Resource (AWS::IoTEvents::DetectorModel.AssetPropertyVariant) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertyvariant.html +type DetectorModel_AssetPropertyVariant struct { + + // BooleanValue AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertyvariant.html#cfn-iotevents-detectormodel-assetpropertyvariant-booleanvalue + BooleanValue string `json:"BooleanValue,omitempty"` + + // DoubleValue AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertyvariant.html#cfn-iotevents-detectormodel-assetpropertyvariant-doublevalue + DoubleValue string `json:"DoubleValue,omitempty"` + + // IntegerValue AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertyvariant.html#cfn-iotevents-detectormodel-assetpropertyvariant-integervalue + IntegerValue string `json:"IntegerValue,omitempty"` + + // StringValue AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertyvariant.html#cfn-iotevents-detectormodel-assetpropertyvariant-stringvalue + StringValue string `json:"StringValue,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DetectorModel_AssetPropertyVariant) AWSCloudFormationType() string { + return "AWS::IoTEvents::DetectorModel.AssetPropertyVariant" +} diff --git a/cloudformation/iotevents/aws-iotevents-detectormodel_cleartimer.go b/cloudformation/iotevents/aws-iotevents-detectormodel_cleartimer.go index 046e4aa526..296ba0480b 100644 --- a/cloudformation/iotevents/aws-iotevents-detectormodel_cleartimer.go +++ b/cloudformation/iotevents/aws-iotevents-detectormodel_cleartimer.go @@ -16,6 +16,9 @@ type DetectorModel_ClearTimer struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotevents/aws-iotevents-detectormodel_detectormodeldefinition.go b/cloudformation/iotevents/aws-iotevents-detectormodel_detectormodeldefinition.go index a1156b34f5..12671df2a5 100644 --- a/cloudformation/iotevents/aws-iotevents-detectormodel_detectormodeldefinition.go +++ b/cloudformation/iotevents/aws-iotevents-detectormodel_detectormodeldefinition.go @@ -21,6 +21,9 @@ type DetectorModel_DetectorModelDefinition struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotevents/aws-iotevents-detectormodel_dynamodb.go b/cloudformation/iotevents/aws-iotevents-detectormodel_dynamodb.go new file mode 100644 index 0000000000..4e411aae78 --- /dev/null +++ b/cloudformation/iotevents/aws-iotevents-detectormodel_dynamodb.go @@ -0,0 +1,80 @@ +package iotevents + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DetectorModel_DynamoDB AWS CloudFormation Resource (AWS::IoTEvents::DetectorModel.DynamoDB) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html +type DetectorModel_DynamoDB struct { + + // HashKeyField AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html#cfn-iotevents-detectormodel-dynamodb-hashkeyfield + HashKeyField string `json:"HashKeyField,omitempty"` + + // HashKeyType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html#cfn-iotevents-detectormodel-dynamodb-hashkeytype + HashKeyType string `json:"HashKeyType,omitempty"` + + // HashKeyValue AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html#cfn-iotevents-detectormodel-dynamodb-hashkeyvalue + HashKeyValue string `json:"HashKeyValue,omitempty"` + + // Operation AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html#cfn-iotevents-detectormodel-dynamodb-operation + Operation string `json:"Operation,omitempty"` + + // Payload AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html#cfn-iotevents-detectormodel-dynamodb-payload + Payload *DetectorModel_Payload `json:"Payload,omitempty"` + + // PayloadField AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html#cfn-iotevents-detectormodel-dynamodb-payloadfield + PayloadField string `json:"PayloadField,omitempty"` + + // RangeKeyField AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html#cfn-iotevents-detectormodel-dynamodb-rangekeyfield + RangeKeyField string `json:"RangeKeyField,omitempty"` + + // RangeKeyType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html#cfn-iotevents-detectormodel-dynamodb-rangekeytype + RangeKeyType string `json:"RangeKeyType,omitempty"` + + // RangeKeyValue AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html#cfn-iotevents-detectormodel-dynamodb-rangekeyvalue + RangeKeyValue string `json:"RangeKeyValue,omitempty"` + + // TableName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html#cfn-iotevents-detectormodel-dynamodb-tablename + TableName string `json:"TableName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DetectorModel_DynamoDB) AWSCloudFormationType() string { + return "AWS::IoTEvents::DetectorModel.DynamoDB" +} diff --git a/cloudformation/iotevents/aws-iotevents-detectormodel_dynamodbv2.go b/cloudformation/iotevents/aws-iotevents-detectormodel_dynamodbv2.go new file mode 100644 index 0000000000..d0c3935f1e --- /dev/null +++ b/cloudformation/iotevents/aws-iotevents-detectormodel_dynamodbv2.go @@ -0,0 +1,40 @@ +package iotevents + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DetectorModel_DynamoDBv2 AWS CloudFormation Resource (AWS::IoTEvents::DetectorModel.DynamoDBv2) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodbv2.html +type DetectorModel_DynamoDBv2 struct { + + // Payload AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodbv2.html#cfn-iotevents-detectormodel-dynamodbv2-payload + Payload *DetectorModel_Payload `json:"Payload,omitempty"` + + // TableName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodbv2.html#cfn-iotevents-detectormodel-dynamodbv2-tablename + TableName string `json:"TableName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DetectorModel_DynamoDBv2) AWSCloudFormationType() string { + return "AWS::IoTEvents::DetectorModel.DynamoDBv2" +} diff --git a/cloudformation/iotevents/aws-iotevents-detectormodel_event.go b/cloudformation/iotevents/aws-iotevents-detectormodel_event.go index 5a6ffedb84..9821605251 100644 --- a/cloudformation/iotevents/aws-iotevents-detectormodel_event.go +++ b/cloudformation/iotevents/aws-iotevents-detectormodel_event.go @@ -26,6 +26,9 @@ type DetectorModel_Event struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotevents/aws-iotevents-detectormodel_firehose.go b/cloudformation/iotevents/aws-iotevents-detectormodel_firehose.go index c0b120ff11..21228ec30f 100644 --- a/cloudformation/iotevents/aws-iotevents-detectormodel_firehose.go +++ b/cloudformation/iotevents/aws-iotevents-detectormodel_firehose.go @@ -13,6 +13,11 @@ type DetectorModel_Firehose struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-firehose.html#cfn-iotevents-detectormodel-firehose-deliverystreamname DeliveryStreamName string `json:"DeliveryStreamName,omitempty"` + // Payload AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-firehose.html#cfn-iotevents-detectormodel-firehose-payload + Payload *DetectorModel_Payload `json:"Payload,omitempty"` + // Separator AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-firehose.html#cfn-iotevents-detectormodel-firehose-separator @@ -21,6 +26,9 @@ type DetectorModel_Firehose struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotevents/aws-iotevents-detectormodel_iotevents.go b/cloudformation/iotevents/aws-iotevents-detectormodel_iotevents.go index 17bd935c95..dfc4be20ff 100644 --- a/cloudformation/iotevents/aws-iotevents-detectormodel_iotevents.go +++ b/cloudformation/iotevents/aws-iotevents-detectormodel_iotevents.go @@ -13,9 +13,17 @@ type DetectorModel_IotEvents struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iotevents.html#cfn-iotevents-detectormodel-iotevents-inputname InputName string `json:"InputName,omitempty"` + // Payload AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iotevents.html#cfn-iotevents-detectormodel-iotevents-payload + Payload *DetectorModel_Payload `json:"Payload,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotevents/aws-iotevents-detectormodel_iotsitewise.go b/cloudformation/iotevents/aws-iotevents-detectormodel_iotsitewise.go new file mode 100644 index 0000000000..592f5600f0 --- /dev/null +++ b/cloudformation/iotevents/aws-iotevents-detectormodel_iotsitewise.go @@ -0,0 +1,55 @@ +package iotevents + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DetectorModel_IotSiteWise AWS CloudFormation Resource (AWS::IoTEvents::DetectorModel.IotSiteWise) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iotsitewise.html +type DetectorModel_IotSiteWise struct { + + // AssetId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iotsitewise.html#cfn-iotevents-detectormodel-iotsitewise-assetid + AssetId string `json:"AssetId,omitempty"` + + // EntryId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iotsitewise.html#cfn-iotevents-detectormodel-iotsitewise-entryid + EntryId string `json:"EntryId,omitempty"` + + // PropertyAlias AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iotsitewise.html#cfn-iotevents-detectormodel-iotsitewise-propertyalias + PropertyAlias string `json:"PropertyAlias,omitempty"` + + // PropertyId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iotsitewise.html#cfn-iotevents-detectormodel-iotsitewise-propertyid + PropertyId string `json:"PropertyId,omitempty"` + + // PropertyValue AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iotsitewise.html#cfn-iotevents-detectormodel-iotsitewise-propertyvalue + PropertyValue *DetectorModel_AssetPropertyValue `json:"PropertyValue,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DetectorModel_IotSiteWise) AWSCloudFormationType() string { + return "AWS::IoTEvents::DetectorModel.IotSiteWise" +} diff --git a/cloudformation/iotevents/aws-iotevents-detectormodel_iottopicpublish.go b/cloudformation/iotevents/aws-iotevents-detectormodel_iottopicpublish.go index 9940e2c3c8..27e906992d 100644 --- a/cloudformation/iotevents/aws-iotevents-detectormodel_iottopicpublish.go +++ b/cloudformation/iotevents/aws-iotevents-detectormodel_iottopicpublish.go @@ -13,9 +13,17 @@ type DetectorModel_IotTopicPublish struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iottopicpublish.html#cfn-iotevents-detectormodel-iottopicpublish-mqtttopic MqttTopic string `json:"MqttTopic,omitempty"` + // Payload AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iottopicpublish.html#cfn-iotevents-detectormodel-iottopicpublish-payload + Payload *DetectorModel_Payload `json:"Payload,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotevents/aws-iotevents-detectormodel_lambda.go b/cloudformation/iotevents/aws-iotevents-detectormodel_lambda.go index 49341bbbaf..99c99c1cb4 100644 --- a/cloudformation/iotevents/aws-iotevents-detectormodel_lambda.go +++ b/cloudformation/iotevents/aws-iotevents-detectormodel_lambda.go @@ -13,9 +13,17 @@ type DetectorModel_Lambda struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-lambda.html#cfn-iotevents-detectormodel-lambda-functionarn FunctionArn string `json:"FunctionArn,omitempty"` + // Payload AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-lambda.html#cfn-iotevents-detectormodel-lambda-payload + Payload *DetectorModel_Payload `json:"Payload,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotevents/aws-iotevents-detectormodel_onenter.go b/cloudformation/iotevents/aws-iotevents-detectormodel_onenter.go index 57b406c4e4..4ef8f68025 100644 --- a/cloudformation/iotevents/aws-iotevents-detectormodel_onenter.go +++ b/cloudformation/iotevents/aws-iotevents-detectormodel_onenter.go @@ -16,6 +16,9 @@ type DetectorModel_OnEnter struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotevents/aws-iotevents-detectormodel_onexit.go b/cloudformation/iotevents/aws-iotevents-detectormodel_onexit.go index 767ee32662..3b9ca8f7f1 100644 --- a/cloudformation/iotevents/aws-iotevents-detectormodel_onexit.go +++ b/cloudformation/iotevents/aws-iotevents-detectormodel_onexit.go @@ -16,6 +16,9 @@ type DetectorModel_OnExit struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotevents/aws-iotevents-detectormodel_oninput.go b/cloudformation/iotevents/aws-iotevents-detectormodel_oninput.go index 1b8a09afc2..6e759d2449 100644 --- a/cloudformation/iotevents/aws-iotevents-detectormodel_oninput.go +++ b/cloudformation/iotevents/aws-iotevents-detectormodel_oninput.go @@ -21,6 +21,9 @@ type DetectorModel_OnInput struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotevents/aws-iotevents-detectormodel_payload.go b/cloudformation/iotevents/aws-iotevents-detectormodel_payload.go new file mode 100644 index 0000000000..f2dbc1dae5 --- /dev/null +++ b/cloudformation/iotevents/aws-iotevents-detectormodel_payload.go @@ -0,0 +1,40 @@ +package iotevents + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DetectorModel_Payload AWS CloudFormation Resource (AWS::IoTEvents::DetectorModel.Payload) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-payload.html +type DetectorModel_Payload struct { + + // ContentExpression AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-payload.html#cfn-iotevents-detectormodel-payload-contentexpression + ContentExpression string `json:"ContentExpression,omitempty"` + + // Type AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-payload.html#cfn-iotevents-detectormodel-payload-type + Type string `json:"Type,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DetectorModel_Payload) AWSCloudFormationType() string { + return "AWS::IoTEvents::DetectorModel.Payload" +} diff --git a/cloudformation/iotevents/aws-iotevents-detectormodel_resettimer.go b/cloudformation/iotevents/aws-iotevents-detectormodel_resettimer.go index a4b6b845cf..4a214fe799 100644 --- a/cloudformation/iotevents/aws-iotevents-detectormodel_resettimer.go +++ b/cloudformation/iotevents/aws-iotevents-detectormodel_resettimer.go @@ -16,6 +16,9 @@ type DetectorModel_ResetTimer struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotevents/aws-iotevents-detectormodel_settimer.go b/cloudformation/iotevents/aws-iotevents-detectormodel_settimer.go index 3bdc1ac183..c6298eb6f0 100644 --- a/cloudformation/iotevents/aws-iotevents-detectormodel_settimer.go +++ b/cloudformation/iotevents/aws-iotevents-detectormodel_settimer.go @@ -8,6 +8,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-settimer.html type DetectorModel_SetTimer struct { + // DurationExpression AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-settimer.html#cfn-iotevents-detectormodel-settimer-durationexpression + DurationExpression string `json:"DurationExpression,omitempty"` + // Seconds AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-settimer.html#cfn-iotevents-detectormodel-settimer-seconds @@ -21,6 +26,9 @@ type DetectorModel_SetTimer struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotevents/aws-iotevents-detectormodel_setvariable.go b/cloudformation/iotevents/aws-iotevents-detectormodel_setvariable.go index 187d49fd7f..ccce89ee72 100644 --- a/cloudformation/iotevents/aws-iotevents-detectormodel_setvariable.go +++ b/cloudformation/iotevents/aws-iotevents-detectormodel_setvariable.go @@ -21,6 +21,9 @@ type DetectorModel_SetVariable struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotevents/aws-iotevents-detectormodel_sns.go b/cloudformation/iotevents/aws-iotevents-detectormodel_sns.go index 0144944692..3c1779870e 100644 --- a/cloudformation/iotevents/aws-iotevents-detectormodel_sns.go +++ b/cloudformation/iotevents/aws-iotevents-detectormodel_sns.go @@ -8,6 +8,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-sns.html type DetectorModel_Sns struct { + // Payload AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-sns.html#cfn-iotevents-detectormodel-sns-payload + Payload *DetectorModel_Payload `json:"Payload,omitempty"` + // TargetArn AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-sns.html#cfn-iotevents-detectormodel-sns-targetarn @@ -16,6 +21,9 @@ type DetectorModel_Sns struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotevents/aws-iotevents-detectormodel_sqs.go b/cloudformation/iotevents/aws-iotevents-detectormodel_sqs.go index 226697c35a..96010435e6 100644 --- a/cloudformation/iotevents/aws-iotevents-detectormodel_sqs.go +++ b/cloudformation/iotevents/aws-iotevents-detectormodel_sqs.go @@ -8,6 +8,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-sqs.html type DetectorModel_Sqs struct { + // Payload AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-sqs.html#cfn-iotevents-detectormodel-sqs-payload + Payload *DetectorModel_Payload `json:"Payload,omitempty"` + // QueueUrl AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-sqs.html#cfn-iotevents-detectormodel-sqs-queueurl @@ -21,6 +26,9 @@ type DetectorModel_Sqs struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotevents/aws-iotevents-detectormodel_state.go b/cloudformation/iotevents/aws-iotevents-detectormodel_state.go index 6321e0e3a5..ada6b92e64 100644 --- a/cloudformation/iotevents/aws-iotevents-detectormodel_state.go +++ b/cloudformation/iotevents/aws-iotevents-detectormodel_state.go @@ -31,6 +31,9 @@ type DetectorModel_State struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotevents/aws-iotevents-detectormodel_transitionevent.go b/cloudformation/iotevents/aws-iotevents-detectormodel_transitionevent.go index 8cf325aad9..8935c0aa4e 100644 --- a/cloudformation/iotevents/aws-iotevents-detectormodel_transitionevent.go +++ b/cloudformation/iotevents/aws-iotevents-detectormodel_transitionevent.go @@ -31,6 +31,9 @@ type DetectorModel_TransitionEvent struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotevents/aws-iotevents-input.go b/cloudformation/iotevents/aws-iotevents-input.go index cdbc0e0749..54f6fbc60d 100644 --- a/cloudformation/iotevents/aws-iotevents-input.go +++ b/cloudformation/iotevents/aws-iotevents-input.go @@ -36,6 +36,9 @@ type Input struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -56,19 +59,21 @@ func (r *Input) AWSCloudFormationType() string { func (r Input) MarshalJSON() ([]byte, error) { type Properties Input return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -77,12 +82,13 @@ func (r Input) MarshalJSON() ([]byte, error) { func (r *Input) UnmarshalJSON(b []byte) error { type Properties Input res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -106,6 +112,9 @@ func (r *Input) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/iotevents/aws-iotevents-input_attribute.go b/cloudformation/iotevents/aws-iotevents-input_attribute.go index 95975e58c6..3a5dd31a7c 100644 --- a/cloudformation/iotevents/aws-iotevents-input_attribute.go +++ b/cloudformation/iotevents/aws-iotevents-input_attribute.go @@ -16,6 +16,9 @@ type Input_Attribute struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotevents/aws-iotevents-input_inputdefinition.go b/cloudformation/iotevents/aws-iotevents-input_inputdefinition.go index 86a61c7011..2275b588f3 100644 --- a/cloudformation/iotevents/aws-iotevents-input_inputdefinition.go +++ b/cloudformation/iotevents/aws-iotevents-input_inputdefinition.go @@ -16,6 +16,9 @@ type Input_InputDefinition struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/iotthingsgraph/aws-iotthingsgraph-flowtemplate.go b/cloudformation/iotthingsgraph/aws-iotthingsgraph-flowtemplate.go index 128fcbb920..eacf28f965 100644 --- a/cloudformation/iotthingsgraph/aws-iotthingsgraph-flowtemplate.go +++ b/cloudformation/iotthingsgraph/aws-iotthingsgraph-flowtemplate.go @@ -25,6 +25,9 @@ type FlowTemplate struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *FlowTemplate) AWSCloudFormationType() string { func (r FlowTemplate) MarshalJSON() ([]byte, error) { type Properties FlowTemplate return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r FlowTemplate) MarshalJSON() ([]byte, error) { func (r *FlowTemplate) UnmarshalJSON(b []byte) error { type Properties FlowTemplate res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *FlowTemplate) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/iotthingsgraph/aws-iotthingsgraph-flowtemplate_definitiondocument.go b/cloudformation/iotthingsgraph/aws-iotthingsgraph-flowtemplate_definitiondocument.go index a6e4cbc1de..4c572b053a 100644 --- a/cloudformation/iotthingsgraph/aws-iotthingsgraph-flowtemplate_definitiondocument.go +++ b/cloudformation/iotthingsgraph/aws-iotthingsgraph-flowtemplate_definitiondocument.go @@ -21,6 +21,9 @@ type FlowTemplate_DefinitionDocument struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesis/aws-kinesis-stream.go b/cloudformation/kinesis/aws-kinesis-stream.go index cca54e37c1..28b0499df7 100644 --- a/cloudformation/kinesis/aws-kinesis-stream.go +++ b/cloudformation/kinesis/aws-kinesis-stream.go @@ -41,6 +41,9 @@ type Stream struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -61,19 +64,21 @@ func (r *Stream) AWSCloudFormationType() string { func (r Stream) MarshalJSON() ([]byte, error) { type Properties Stream return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -82,12 +87,13 @@ func (r Stream) MarshalJSON() ([]byte, error) { func (r *Stream) UnmarshalJSON(b []byte) error { type Properties Stream res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -111,6 +117,9 @@ func (r *Stream) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/kinesis/aws-kinesis-stream_streamencryption.go b/cloudformation/kinesis/aws-kinesis-stream_streamencryption.go index 956b73f738..a24b0006c8 100644 --- a/cloudformation/kinesis/aws-kinesis-stream_streamencryption.go +++ b/cloudformation/kinesis/aws-kinesis-stream_streamencryption.go @@ -21,6 +21,9 @@ type Stream_StreamEncryption struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesis/aws-kinesis-streamconsumer.go b/cloudformation/kinesis/aws-kinesis-streamconsumer.go index dc0532f173..35060074b0 100644 --- a/cloudformation/kinesis/aws-kinesis-streamconsumer.go +++ b/cloudformation/kinesis/aws-kinesis-streamconsumer.go @@ -25,6 +25,9 @@ type StreamConsumer struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *StreamConsumer) AWSCloudFormationType() string { func (r StreamConsumer) MarshalJSON() ([]byte, error) { type Properties StreamConsumer return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r StreamConsumer) MarshalJSON() ([]byte, error) { func (r *StreamConsumer) UnmarshalJSON(b []byte) error { type Properties StreamConsumer res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *StreamConsumer) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/kinesisanalytics/aws-kinesisanalytics-application.go b/cloudformation/kinesisanalytics/aws-kinesisanalytics-application.go index cfe94c8b0e..38b212092e 100644 --- a/cloudformation/kinesisanalytics/aws-kinesisanalytics-application.go +++ b/cloudformation/kinesisanalytics/aws-kinesisanalytics-application.go @@ -35,6 +35,9 @@ type Application struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -55,19 +58,21 @@ func (r *Application) AWSCloudFormationType() string { func (r Application) MarshalJSON() ([]byte, error) { type Properties Application return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -76,12 +81,13 @@ func (r Application) MarshalJSON() ([]byte, error) { func (r *Application) UnmarshalJSON(b []byte) error { type Properties Application res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -105,6 +111,9 @@ func (r *Application) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/kinesisanalytics/aws-kinesisanalytics-application_csvmappingparameters.go b/cloudformation/kinesisanalytics/aws-kinesisanalytics-application_csvmappingparameters.go index 1503528f2c..cdd994115f 100644 --- a/cloudformation/kinesisanalytics/aws-kinesisanalytics-application_csvmappingparameters.go +++ b/cloudformation/kinesisanalytics/aws-kinesisanalytics-application_csvmappingparameters.go @@ -21,6 +21,9 @@ type Application_CSVMappingParameters struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalytics/aws-kinesisanalytics-application_input.go b/cloudformation/kinesisanalytics/aws-kinesisanalytics-application_input.go index 0f557267ce..1e790e32ef 100644 --- a/cloudformation/kinesisanalytics/aws-kinesisanalytics-application_input.go +++ b/cloudformation/kinesisanalytics/aws-kinesisanalytics-application_input.go @@ -41,6 +41,9 @@ type Application_Input struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalytics/aws-kinesisanalytics-application_inputlambdaprocessor.go b/cloudformation/kinesisanalytics/aws-kinesisanalytics-application_inputlambdaprocessor.go index d56ac8d6ca..267fb302f6 100644 --- a/cloudformation/kinesisanalytics/aws-kinesisanalytics-application_inputlambdaprocessor.go +++ b/cloudformation/kinesisanalytics/aws-kinesisanalytics-application_inputlambdaprocessor.go @@ -21,6 +21,9 @@ type Application_InputLambdaProcessor struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalytics/aws-kinesisanalytics-application_inputparallelism.go b/cloudformation/kinesisanalytics/aws-kinesisanalytics-application_inputparallelism.go index ccc7bbc69e..8ec5eac87e 100644 --- a/cloudformation/kinesisanalytics/aws-kinesisanalytics-application_inputparallelism.go +++ b/cloudformation/kinesisanalytics/aws-kinesisanalytics-application_inputparallelism.go @@ -16,6 +16,9 @@ type Application_InputParallelism struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalytics/aws-kinesisanalytics-application_inputprocessingconfiguration.go b/cloudformation/kinesisanalytics/aws-kinesisanalytics-application_inputprocessingconfiguration.go index bc0dffd8c5..b322d072fd 100644 --- a/cloudformation/kinesisanalytics/aws-kinesisanalytics-application_inputprocessingconfiguration.go +++ b/cloudformation/kinesisanalytics/aws-kinesisanalytics-application_inputprocessingconfiguration.go @@ -16,6 +16,9 @@ type Application_InputProcessingConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalytics/aws-kinesisanalytics-application_inputschema.go b/cloudformation/kinesisanalytics/aws-kinesisanalytics-application_inputschema.go index 1a3e48eafb..8ac2b77aec 100644 --- a/cloudformation/kinesisanalytics/aws-kinesisanalytics-application_inputschema.go +++ b/cloudformation/kinesisanalytics/aws-kinesisanalytics-application_inputschema.go @@ -26,6 +26,9 @@ type Application_InputSchema struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalytics/aws-kinesisanalytics-application_jsonmappingparameters.go b/cloudformation/kinesisanalytics/aws-kinesisanalytics-application_jsonmappingparameters.go index ebb522107b..14c8f24851 100644 --- a/cloudformation/kinesisanalytics/aws-kinesisanalytics-application_jsonmappingparameters.go +++ b/cloudformation/kinesisanalytics/aws-kinesisanalytics-application_jsonmappingparameters.go @@ -16,6 +16,9 @@ type Application_JSONMappingParameters struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalytics/aws-kinesisanalytics-application_kinesisfirehoseinput.go b/cloudformation/kinesisanalytics/aws-kinesisanalytics-application_kinesisfirehoseinput.go index 0f0841dc75..13be5f4812 100644 --- a/cloudformation/kinesisanalytics/aws-kinesisanalytics-application_kinesisfirehoseinput.go +++ b/cloudformation/kinesisanalytics/aws-kinesisanalytics-application_kinesisfirehoseinput.go @@ -21,6 +21,9 @@ type Application_KinesisFirehoseInput struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalytics/aws-kinesisanalytics-application_kinesisstreamsinput.go b/cloudformation/kinesisanalytics/aws-kinesisanalytics-application_kinesisstreamsinput.go index a57d3bef05..b1c5b5c1a4 100644 --- a/cloudformation/kinesisanalytics/aws-kinesisanalytics-application_kinesisstreamsinput.go +++ b/cloudformation/kinesisanalytics/aws-kinesisanalytics-application_kinesisstreamsinput.go @@ -21,6 +21,9 @@ type Application_KinesisStreamsInput struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalytics/aws-kinesisanalytics-application_mappingparameters.go b/cloudformation/kinesisanalytics/aws-kinesisanalytics-application_mappingparameters.go index 63c23f7f44..dfd1fcada3 100644 --- a/cloudformation/kinesisanalytics/aws-kinesisanalytics-application_mappingparameters.go +++ b/cloudformation/kinesisanalytics/aws-kinesisanalytics-application_mappingparameters.go @@ -21,6 +21,9 @@ type Application_MappingParameters struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalytics/aws-kinesisanalytics-application_recordcolumn.go b/cloudformation/kinesisanalytics/aws-kinesisanalytics-application_recordcolumn.go index 3429a0cc84..2bcd9ce61d 100644 --- a/cloudformation/kinesisanalytics/aws-kinesisanalytics-application_recordcolumn.go +++ b/cloudformation/kinesisanalytics/aws-kinesisanalytics-application_recordcolumn.go @@ -26,6 +26,9 @@ type Application_RecordColumn struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalytics/aws-kinesisanalytics-application_recordformat.go b/cloudformation/kinesisanalytics/aws-kinesisanalytics-application_recordformat.go index 85b31a84eb..cd14a0cd67 100644 --- a/cloudformation/kinesisanalytics/aws-kinesisanalytics-application_recordformat.go +++ b/cloudformation/kinesisanalytics/aws-kinesisanalytics-application_recordformat.go @@ -21,6 +21,9 @@ type Application_RecordFormat struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationoutput.go b/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationoutput.go index fc99d52d6b..3b0b13906c 100644 --- a/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationoutput.go +++ b/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationoutput.go @@ -25,6 +25,9 @@ type ApplicationOutput struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *ApplicationOutput) AWSCloudFormationType() string { func (r ApplicationOutput) MarshalJSON() ([]byte, error) { type Properties ApplicationOutput return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r ApplicationOutput) MarshalJSON() ([]byte, error) { func (r *ApplicationOutput) UnmarshalJSON(b []byte) error { type Properties ApplicationOutput res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *ApplicationOutput) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationoutput_destinationschema.go b/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationoutput_destinationschema.go index 081a248e99..f81238e15b 100644 --- a/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationoutput_destinationschema.go +++ b/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationoutput_destinationschema.go @@ -16,6 +16,9 @@ type ApplicationOutput_DestinationSchema struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationoutput_kinesisfirehoseoutput.go b/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationoutput_kinesisfirehoseoutput.go index f52ac6c2e9..6c6759baff 100644 --- a/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationoutput_kinesisfirehoseoutput.go +++ b/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationoutput_kinesisfirehoseoutput.go @@ -21,6 +21,9 @@ type ApplicationOutput_KinesisFirehoseOutput struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationoutput_kinesisstreamsoutput.go b/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationoutput_kinesisstreamsoutput.go index 6206b4e91d..c37d4c087d 100644 --- a/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationoutput_kinesisstreamsoutput.go +++ b/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationoutput_kinesisstreamsoutput.go @@ -21,6 +21,9 @@ type ApplicationOutput_KinesisStreamsOutput struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationoutput_lambdaoutput.go b/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationoutput_lambdaoutput.go index d72f048161..60fcce5502 100644 --- a/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationoutput_lambdaoutput.go +++ b/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationoutput_lambdaoutput.go @@ -21,6 +21,9 @@ type ApplicationOutput_LambdaOutput struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationoutput_output.go b/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationoutput_output.go index 5449ab4ee9..ce21c3e6d0 100644 --- a/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationoutput_output.go +++ b/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationoutput_output.go @@ -36,6 +36,9 @@ type ApplicationOutput_Output struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationreferencedatasource.go b/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationreferencedatasource.go index 12a23f2849..85249372b2 100644 --- a/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationreferencedatasource.go +++ b/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationreferencedatasource.go @@ -25,6 +25,9 @@ type ApplicationReferenceDataSource struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *ApplicationReferenceDataSource) AWSCloudFormationType() string { func (r ApplicationReferenceDataSource) MarshalJSON() ([]byte, error) { type Properties ApplicationReferenceDataSource return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r ApplicationReferenceDataSource) MarshalJSON() ([]byte, error) { func (r *ApplicationReferenceDataSource) UnmarshalJSON(b []byte) error { type Properties ApplicationReferenceDataSource res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *ApplicationReferenceDataSource) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationreferencedatasource_csvmappingparameters.go b/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationreferencedatasource_csvmappingparameters.go index 8ae56f1e6b..156c9fb031 100644 --- a/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationreferencedatasource_csvmappingparameters.go +++ b/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationreferencedatasource_csvmappingparameters.go @@ -21,6 +21,9 @@ type ApplicationReferenceDataSource_CSVMappingParameters struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationreferencedatasource_jsonmappingparameters.go b/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationreferencedatasource_jsonmappingparameters.go index c4fc935b0e..5d6d1c0d7b 100644 --- a/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationreferencedatasource_jsonmappingparameters.go +++ b/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationreferencedatasource_jsonmappingparameters.go @@ -16,6 +16,9 @@ type ApplicationReferenceDataSource_JSONMappingParameters struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationreferencedatasource_mappingparameters.go b/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationreferencedatasource_mappingparameters.go index 498eba3449..3828b8638a 100644 --- a/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationreferencedatasource_mappingparameters.go +++ b/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationreferencedatasource_mappingparameters.go @@ -21,6 +21,9 @@ type ApplicationReferenceDataSource_MappingParameters struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationreferencedatasource_recordcolumn.go b/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationreferencedatasource_recordcolumn.go index 8da27a45c2..7e0815b412 100644 --- a/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationreferencedatasource_recordcolumn.go +++ b/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationreferencedatasource_recordcolumn.go @@ -26,6 +26,9 @@ type ApplicationReferenceDataSource_RecordColumn struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationreferencedatasource_recordformat.go b/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationreferencedatasource_recordformat.go index e664cc3827..8e18ef1ae0 100644 --- a/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationreferencedatasource_recordformat.go +++ b/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationreferencedatasource_recordformat.go @@ -21,6 +21,9 @@ type ApplicationReferenceDataSource_RecordFormat struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationreferencedatasource_referencedatasource.go b/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationreferencedatasource_referencedatasource.go index 2cce7ab4c4..d1f65f846d 100644 --- a/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationreferencedatasource_referencedatasource.go +++ b/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationreferencedatasource_referencedatasource.go @@ -26,6 +26,9 @@ type ApplicationReferenceDataSource_ReferenceDataSource struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationreferencedatasource_referenceschema.go b/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationreferencedatasource_referenceschema.go index f4eb3f0fdb..018f73df04 100644 --- a/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationreferencedatasource_referenceschema.go +++ b/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationreferencedatasource_referenceschema.go @@ -26,6 +26,9 @@ type ApplicationReferenceDataSource_ReferenceSchema struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationreferencedatasource_s3referencedatasource.go b/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationreferencedatasource_s3referencedatasource.go index a3e4ab8a9f..865c075fc1 100644 --- a/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationreferencedatasource_s3referencedatasource.go +++ b/cloudformation/kinesisanalytics/aws-kinesisanalytics-applicationreferencedatasource_s3referencedatasource.go @@ -26,6 +26,9 @@ type ApplicationReferenceDataSource_S3ReferenceDataSource struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application.go b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application.go index e4230a3439..caddae8354 100644 --- a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application.go +++ b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application.go @@ -6,6 +6,7 @@ import ( "fmt" "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" ) // Application AWS CloudFormation Resource (AWS::KinesisAnalyticsV2::Application) @@ -37,9 +38,17 @@ type Application struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-application.html#cfn-kinesisanalyticsv2-application-serviceexecutionrole ServiceExecutionRole string `json:"ServiceExecutionRole,omitempty"` + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-application.html#cfn-kinesisanalyticsv2-application-tags + Tags []tags.Tag `json:"Tags,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -60,19 +69,21 @@ func (r *Application) AWSCloudFormationType() string { func (r Application) MarshalJSON() ([]byte, error) { type Properties Application return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -81,12 +92,13 @@ func (r Application) MarshalJSON() ([]byte, error) { func (r *Application) UnmarshalJSON(b []byte) error { type Properties Application res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -110,6 +122,9 @@ func (r *Application) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_applicationcodeconfiguration.go b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_applicationcodeconfiguration.go index ba1fb66727..e3b8973d92 100644 --- a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_applicationcodeconfiguration.go +++ b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_applicationcodeconfiguration.go @@ -21,6 +21,9 @@ type Application_ApplicationCodeConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_applicationconfiguration.go b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_applicationconfiguration.go index 08b022858c..dc1662be62 100644 --- a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_applicationconfiguration.go +++ b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_applicationconfiguration.go @@ -36,6 +36,9 @@ type Application_ApplicationConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_applicationsnapshotconfiguration.go b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_applicationsnapshotconfiguration.go index ed21a3f6c5..e3428add7a 100644 --- a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_applicationsnapshotconfiguration.go +++ b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_applicationsnapshotconfiguration.go @@ -16,6 +16,9 @@ type Application_ApplicationSnapshotConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_checkpointconfiguration.go b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_checkpointconfiguration.go index 8633a011de..7ec6d6ad25 100644 --- a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_checkpointconfiguration.go +++ b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_checkpointconfiguration.go @@ -31,6 +31,9 @@ type Application_CheckpointConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_codecontent.go b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_codecontent.go index 87f48f15e7..794d5597e2 100644 --- a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_codecontent.go +++ b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_codecontent.go @@ -26,6 +26,9 @@ type Application_CodeContent struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_csvmappingparameters.go b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_csvmappingparameters.go index 79dec52d9e..3c966b52d0 100644 --- a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_csvmappingparameters.go +++ b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_csvmappingparameters.go @@ -21,6 +21,9 @@ type Application_CSVMappingParameters struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_environmentproperties.go b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_environmentproperties.go index 6573b10ee7..b3c68c4228 100644 --- a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_environmentproperties.go +++ b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_environmentproperties.go @@ -16,6 +16,9 @@ type Application_EnvironmentProperties struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_flinkapplicationconfiguration.go b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_flinkapplicationconfiguration.go index 05939096bf..d935d3dd84 100644 --- a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_flinkapplicationconfiguration.go +++ b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_flinkapplicationconfiguration.go @@ -26,6 +26,9 @@ type Application_FlinkApplicationConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_input.go b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_input.go index d8686dfb93..515f908b83 100644 --- a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_input.go +++ b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_input.go @@ -41,6 +41,9 @@ type Application_Input struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_inputlambdaprocessor.go b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_inputlambdaprocessor.go index 38b18fffd3..fb0ac121f3 100644 --- a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_inputlambdaprocessor.go +++ b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_inputlambdaprocessor.go @@ -16,6 +16,9 @@ type Application_InputLambdaProcessor struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_inputparallelism.go b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_inputparallelism.go index b4f2c3bac9..d882813491 100644 --- a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_inputparallelism.go +++ b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_inputparallelism.go @@ -16,6 +16,9 @@ type Application_InputParallelism struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_inputprocessingconfiguration.go b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_inputprocessingconfiguration.go index 49dfc58da2..d29df1ef49 100644 --- a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_inputprocessingconfiguration.go +++ b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_inputprocessingconfiguration.go @@ -16,6 +16,9 @@ type Application_InputProcessingConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_inputschema.go b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_inputschema.go index dfd305b96c..86bae2761d 100644 --- a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_inputschema.go +++ b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_inputschema.go @@ -26,6 +26,9 @@ type Application_InputSchema struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_jsonmappingparameters.go b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_jsonmappingparameters.go index 088ccda76a..2352350c43 100644 --- a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_jsonmappingparameters.go +++ b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_jsonmappingparameters.go @@ -16,6 +16,9 @@ type Application_JSONMappingParameters struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_kinesisfirehoseinput.go b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_kinesisfirehoseinput.go index 067bb040eb..626b229afb 100644 --- a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_kinesisfirehoseinput.go +++ b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_kinesisfirehoseinput.go @@ -16,6 +16,9 @@ type Application_KinesisFirehoseInput struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_kinesisstreamsinput.go b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_kinesisstreamsinput.go index e724cd2358..98a63f84e7 100644 --- a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_kinesisstreamsinput.go +++ b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_kinesisstreamsinput.go @@ -16,6 +16,9 @@ type Application_KinesisStreamsInput struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_mappingparameters.go b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_mappingparameters.go index df76f5f4d2..6b46b9d27d 100644 --- a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_mappingparameters.go +++ b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_mappingparameters.go @@ -21,6 +21,9 @@ type Application_MappingParameters struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_monitoringconfiguration.go b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_monitoringconfiguration.go index f8f93ce41e..ae029baf6e 100644 --- a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_monitoringconfiguration.go +++ b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_monitoringconfiguration.go @@ -26,6 +26,9 @@ type Application_MonitoringConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_parallelismconfiguration.go b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_parallelismconfiguration.go index d2973cc892..8bc15d0f12 100644 --- a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_parallelismconfiguration.go +++ b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_parallelismconfiguration.go @@ -31,6 +31,9 @@ type Application_ParallelismConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_propertygroup.go b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_propertygroup.go index 4bea38bf94..becceb18fc 100644 --- a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_propertygroup.go +++ b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_propertygroup.go @@ -21,6 +21,9 @@ type Application_PropertyGroup struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_recordcolumn.go b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_recordcolumn.go index 5aee27475e..6f503fa768 100644 --- a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_recordcolumn.go +++ b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_recordcolumn.go @@ -26,6 +26,9 @@ type Application_RecordColumn struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_recordformat.go b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_recordformat.go index 2cace5a0b6..d6863b4f62 100644 --- a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_recordformat.go +++ b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_recordformat.go @@ -21,6 +21,9 @@ type Application_RecordFormat struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_s3contentlocation.go b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_s3contentlocation.go index 557407b253..c410aa4765 100644 --- a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_s3contentlocation.go +++ b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_s3contentlocation.go @@ -26,6 +26,9 @@ type Application_S3ContentLocation struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_sqlapplicationconfiguration.go b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_sqlapplicationconfiguration.go index 199572a634..69ef2d2d77 100644 --- a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_sqlapplicationconfiguration.go +++ b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-application_sqlapplicationconfiguration.go @@ -16,6 +16,9 @@ type Application_SqlApplicationConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationcloudwatchloggingoption.go b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationcloudwatchloggingoption.go index 72dda6662d..ad4588b5c0 100644 --- a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationcloudwatchloggingoption.go +++ b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationcloudwatchloggingoption.go @@ -25,6 +25,9 @@ type ApplicationCloudWatchLoggingOption struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *ApplicationCloudWatchLoggingOption) AWSCloudFormationType() string { func (r ApplicationCloudWatchLoggingOption) MarshalJSON() ([]byte, error) { type Properties ApplicationCloudWatchLoggingOption return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r ApplicationCloudWatchLoggingOption) MarshalJSON() ([]byte, error) { func (r *ApplicationCloudWatchLoggingOption) UnmarshalJSON(b []byte) error { type Properties ApplicationCloudWatchLoggingOption res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *ApplicationCloudWatchLoggingOption) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationcloudwatchloggingoption_cloudwatchloggingoption.go b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationcloudwatchloggingoption_cloudwatchloggingoption.go index fa507f020b..1e13280719 100644 --- a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationcloudwatchloggingoption_cloudwatchloggingoption.go +++ b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationcloudwatchloggingoption_cloudwatchloggingoption.go @@ -16,6 +16,9 @@ type ApplicationCloudWatchLoggingOption_CloudWatchLoggingOption struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationoutput.go b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationoutput.go index 87ba3ce6f7..290df7e29f 100644 --- a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationoutput.go +++ b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationoutput.go @@ -25,6 +25,9 @@ type ApplicationOutput struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *ApplicationOutput) AWSCloudFormationType() string { func (r ApplicationOutput) MarshalJSON() ([]byte, error) { type Properties ApplicationOutput return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r ApplicationOutput) MarshalJSON() ([]byte, error) { func (r *ApplicationOutput) UnmarshalJSON(b []byte) error { type Properties ApplicationOutput res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *ApplicationOutput) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationoutput_destinationschema.go b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationoutput_destinationschema.go index 6030d7912c..4553c547f1 100644 --- a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationoutput_destinationschema.go +++ b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationoutput_destinationschema.go @@ -16,6 +16,9 @@ type ApplicationOutput_DestinationSchema struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationoutput_kinesisfirehoseoutput.go b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationoutput_kinesisfirehoseoutput.go index f57cb4c172..05a83919b3 100644 --- a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationoutput_kinesisfirehoseoutput.go +++ b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationoutput_kinesisfirehoseoutput.go @@ -16,6 +16,9 @@ type ApplicationOutput_KinesisFirehoseOutput struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationoutput_kinesisstreamsoutput.go b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationoutput_kinesisstreamsoutput.go index a7b98ce52b..006b11b9fc 100644 --- a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationoutput_kinesisstreamsoutput.go +++ b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationoutput_kinesisstreamsoutput.go @@ -16,6 +16,9 @@ type ApplicationOutput_KinesisStreamsOutput struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationoutput_lambdaoutput.go b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationoutput_lambdaoutput.go index 46fa38d7ed..7f8b01bf4c 100644 --- a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationoutput_lambdaoutput.go +++ b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationoutput_lambdaoutput.go @@ -16,6 +16,9 @@ type ApplicationOutput_LambdaOutput struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationoutput_output.go b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationoutput_output.go index 3c6319e139..5689a48876 100644 --- a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationoutput_output.go +++ b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationoutput_output.go @@ -36,6 +36,9 @@ type ApplicationOutput_Output struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationreferencedatasource.go b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationreferencedatasource.go index 888e00d737..d6b5e1df3a 100644 --- a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationreferencedatasource.go +++ b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationreferencedatasource.go @@ -25,6 +25,9 @@ type ApplicationReferenceDataSource struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *ApplicationReferenceDataSource) AWSCloudFormationType() string { func (r ApplicationReferenceDataSource) MarshalJSON() ([]byte, error) { type Properties ApplicationReferenceDataSource return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r ApplicationReferenceDataSource) MarshalJSON() ([]byte, error) { func (r *ApplicationReferenceDataSource) UnmarshalJSON(b []byte) error { type Properties ApplicationReferenceDataSource res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *ApplicationReferenceDataSource) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationreferencedatasource_csvmappingparameters.go b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationreferencedatasource_csvmappingparameters.go index 2d3c669df6..dd144cf17e 100644 --- a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationreferencedatasource_csvmappingparameters.go +++ b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationreferencedatasource_csvmappingparameters.go @@ -21,6 +21,9 @@ type ApplicationReferenceDataSource_CSVMappingParameters struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationreferencedatasource_jsonmappingparameters.go b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationreferencedatasource_jsonmappingparameters.go index 103ecfd218..6dd062b61e 100644 --- a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationreferencedatasource_jsonmappingparameters.go +++ b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationreferencedatasource_jsonmappingparameters.go @@ -16,6 +16,9 @@ type ApplicationReferenceDataSource_JSONMappingParameters struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationreferencedatasource_mappingparameters.go b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationreferencedatasource_mappingparameters.go index 612bb08435..354bf621c2 100644 --- a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationreferencedatasource_mappingparameters.go +++ b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationreferencedatasource_mappingparameters.go @@ -21,6 +21,9 @@ type ApplicationReferenceDataSource_MappingParameters struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationreferencedatasource_recordcolumn.go b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationreferencedatasource_recordcolumn.go index fd99a32c4f..8586c674f3 100644 --- a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationreferencedatasource_recordcolumn.go +++ b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationreferencedatasource_recordcolumn.go @@ -26,6 +26,9 @@ type ApplicationReferenceDataSource_RecordColumn struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationreferencedatasource_recordformat.go b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationreferencedatasource_recordformat.go index 0cdc0453eb..2d78450e41 100644 --- a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationreferencedatasource_recordformat.go +++ b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationreferencedatasource_recordformat.go @@ -21,6 +21,9 @@ type ApplicationReferenceDataSource_RecordFormat struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationreferencedatasource_referencedatasource.go b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationreferencedatasource_referencedatasource.go index 16ceec49d7..61ad3001ee 100644 --- a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationreferencedatasource_referencedatasource.go +++ b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationreferencedatasource_referencedatasource.go @@ -26,6 +26,9 @@ type ApplicationReferenceDataSource_ReferenceDataSource struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationreferencedatasource_referenceschema.go b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationreferencedatasource_referenceschema.go index 5f2e54441f..783dbb2905 100644 --- a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationreferencedatasource_referenceschema.go +++ b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationreferencedatasource_referenceschema.go @@ -26,6 +26,9 @@ type ApplicationReferenceDataSource_ReferenceSchema struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationreferencedatasource_s3referencedatasource.go b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationreferencedatasource_s3referencedatasource.go index 2a5a6c3b13..a33b53d989 100644 --- a/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationreferencedatasource_s3referencedatasource.go +++ b/cloudformation/kinesisanalyticsv2/aws-kinesisanalyticsv2-applicationreferencedatasource_s3referencedatasource.go @@ -21,6 +21,9 @@ type ApplicationReferenceDataSource_S3ReferenceDataSource struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream.go b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream.go index 539009ed74..e868627cc1 100644 --- a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream.go +++ b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream.go @@ -55,6 +55,9 @@ type DeliveryStream struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -75,19 +78,21 @@ func (r *DeliveryStream) AWSCloudFormationType() string { func (r DeliveryStream) MarshalJSON() ([]byte, error) { type Properties DeliveryStream return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -96,12 +101,13 @@ func (r DeliveryStream) MarshalJSON() ([]byte, error) { func (r *DeliveryStream) UnmarshalJSON(b []byte) error { type Properties DeliveryStream res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -125,6 +131,9 @@ func (r *DeliveryStream) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_bufferinghints.go b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_bufferinghints.go index 096450cf3d..999d3327e8 100644 --- a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_bufferinghints.go +++ b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_bufferinghints.go @@ -9,18 +9,21 @@ import ( type DeliveryStream_BufferingHints struct { // IntervalInSeconds AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-bufferinghints.html#cfn-kinesisfirehose-deliverystream-bufferinghints-intervalinseconds - IntervalInSeconds int `json:"IntervalInSeconds"` + IntervalInSeconds int `json:"IntervalInSeconds,omitempty"` // SizeInMBs AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-bufferinghints.html#cfn-kinesisfirehose-deliverystream-bufferinghints-sizeinmbs - SizeInMBs int `json:"SizeInMBs"` + SizeInMBs int `json:"SizeInMBs,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_cloudwatchloggingoptions.go b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_cloudwatchloggingoptions.go index a74c7d256e..2bdb47a7ec 100644 --- a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_cloudwatchloggingoptions.go +++ b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_cloudwatchloggingoptions.go @@ -26,6 +26,9 @@ type DeliveryStream_CloudWatchLoggingOptions struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_copycommand.go b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_copycommand.go index bf5abe16da..ff36161a1b 100644 --- a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_copycommand.go +++ b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_copycommand.go @@ -26,6 +26,9 @@ type DeliveryStream_CopyCommand struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_dataformatconversionconfiguration.go b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_dataformatconversionconfiguration.go index 5a4038052a..e3b1192acf 100644 --- a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_dataformatconversionconfiguration.go +++ b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_dataformatconversionconfiguration.go @@ -9,28 +9,31 @@ import ( type DeliveryStream_DataFormatConversionConfiguration struct { // Enabled AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-dataformatconversionconfiguration.html#cfn-kinesisfirehose-deliverystream-dataformatconversionconfiguration-enabled - Enabled bool `json:"Enabled"` + Enabled bool `json:"Enabled,omitempty"` // InputFormatConfiguration AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-dataformatconversionconfiguration.html#cfn-kinesisfirehose-deliverystream-dataformatconversionconfiguration-inputformatconfiguration InputFormatConfiguration *DeliveryStream_InputFormatConfiguration `json:"InputFormatConfiguration,omitempty"` // OutputFormatConfiguration AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-dataformatconversionconfiguration.html#cfn-kinesisfirehose-deliverystream-dataformatconversionconfiguration-outputformatconfiguration OutputFormatConfiguration *DeliveryStream_OutputFormatConfiguration `json:"OutputFormatConfiguration,omitempty"` // SchemaConfiguration AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-dataformatconversionconfiguration.html#cfn-kinesisfirehose-deliverystream-dataformatconversionconfiguration-schemaconfiguration SchemaConfiguration *DeliveryStream_SchemaConfiguration `json:"SchemaConfiguration,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_deserializer.go b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_deserializer.go index 041360267d..e262d25893 100644 --- a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_deserializer.go +++ b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_deserializer.go @@ -21,6 +21,9 @@ type DeliveryStream_Deserializer struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_elasticsearchbufferinghints.go b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_elasticsearchbufferinghints.go index 6b61693c69..cf48ba8e57 100644 --- a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_elasticsearchbufferinghints.go +++ b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_elasticsearchbufferinghints.go @@ -9,18 +9,21 @@ import ( type DeliveryStream_ElasticsearchBufferingHints struct { // IntervalInSeconds AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchbufferinghints.html#cfn-kinesisfirehose-deliverystream-elasticsearchbufferinghints-intervalinseconds - IntervalInSeconds int `json:"IntervalInSeconds"` + IntervalInSeconds int `json:"IntervalInSeconds,omitempty"` // SizeInMBs AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchbufferinghints.html#cfn-kinesisfirehose-deliverystream-elasticsearchbufferinghints-sizeinmbs - SizeInMBs int `json:"SizeInMBs"` + SizeInMBs int `json:"SizeInMBs,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_elasticsearchdestinationconfiguration.go b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_elasticsearchdestinationconfiguration.go index c29881f282..dcaeafff2e 100644 --- a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_elasticsearchdestinationconfiguration.go +++ b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_elasticsearchdestinationconfiguration.go @@ -9,7 +9,7 @@ import ( type DeliveryStream_ElasticsearchDestinationConfiguration struct { // BufferingHints AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration-bufferinghints BufferingHints *DeliveryStream_ElasticsearchBufferingHints `json:"BufferingHints,omitempty"` @@ -18,8 +18,13 @@ type DeliveryStream_ElasticsearchDestinationConfiguration struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration-cloudwatchloggingoptions CloudWatchLoggingOptions *DeliveryStream_CloudWatchLoggingOptions `json:"CloudWatchLoggingOptions,omitempty"` + // ClusterEndpoint AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration-clusterendpoint + ClusterEndpoint string `json:"ClusterEndpoint,omitempty"` + // DomainARN AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration-domainarn DomainARN string `json:"DomainARN,omitempty"` @@ -29,7 +34,7 @@ type DeliveryStream_ElasticsearchDestinationConfiguration struct { IndexName string `json:"IndexName,omitempty"` // IndexRotationPeriod AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration-indexrotationperiod IndexRotationPeriod string `json:"IndexRotationPeriod,omitempty"` @@ -39,7 +44,7 @@ type DeliveryStream_ElasticsearchDestinationConfiguration struct { ProcessingConfiguration *DeliveryStream_ProcessingConfiguration `json:"ProcessingConfiguration,omitempty"` // RetryOptions AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration-retryoptions RetryOptions *DeliveryStream_ElasticsearchRetryOptions `json:"RetryOptions,omitempty"` @@ -49,7 +54,7 @@ type DeliveryStream_ElasticsearchDestinationConfiguration struct { RoleARN string `json:"RoleARN,omitempty"` // S3BackupMode AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration-s3backupmode S3BackupMode string `json:"S3BackupMode,omitempty"` @@ -59,13 +64,21 @@ type DeliveryStream_ElasticsearchDestinationConfiguration struct { S3Configuration *DeliveryStream_S3DestinationConfiguration `json:"S3Configuration,omitempty"` // TypeName AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration-typename TypeName string `json:"TypeName,omitempty"` + // VpcConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration-vpcconfiguration + VpcConfiguration *DeliveryStream_VpcConfiguration `json:"VpcConfiguration,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_elasticsearchretryoptions.go b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_elasticsearchretryoptions.go index 908af61040..ef0fb46325 100644 --- a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_elasticsearchretryoptions.go +++ b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_elasticsearchretryoptions.go @@ -9,13 +9,16 @@ import ( type DeliveryStream_ElasticsearchRetryOptions struct { // DurationInSeconds AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchretryoptions.html#cfn-kinesisfirehose-deliverystream-elasticsearchretryoptions-durationinseconds - DurationInSeconds int `json:"DurationInSeconds"` + DurationInSeconds int `json:"DurationInSeconds,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_encryptionconfiguration.go b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_encryptionconfiguration.go index c61d27f1fd..97e64ef622 100644 --- a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_encryptionconfiguration.go +++ b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_encryptionconfiguration.go @@ -21,6 +21,9 @@ type DeliveryStream_EncryptionConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_extendeds3destinationconfiguration.go b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_extendeds3destinationconfiguration.go index bdd5d410d6..7fd14a198c 100644 --- a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_extendeds3destinationconfiguration.go +++ b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_extendeds3destinationconfiguration.go @@ -14,7 +14,7 @@ type DeliveryStream_ExtendedS3DestinationConfiguration struct { BucketARN string `json:"BucketARN,omitempty"` // BufferingHints AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-extendeds3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-extendeds3destinationconfiguration-bufferinghints BufferingHints *DeliveryStream_BufferingHints `json:"BufferingHints,omitempty"` @@ -24,7 +24,7 @@ type DeliveryStream_ExtendedS3DestinationConfiguration struct { CloudWatchLoggingOptions *DeliveryStream_CloudWatchLoggingOptions `json:"CloudWatchLoggingOptions,omitempty"` // CompressionFormat AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-extendeds3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-extendeds3destinationconfiguration-compressionformat CompressionFormat string `json:"CompressionFormat,omitempty"` @@ -71,6 +71,9 @@ type DeliveryStream_ExtendedS3DestinationConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_hivejsonserde.go b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_hivejsonserde.go index 4ff4240d47..6aad42bb30 100644 --- a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_hivejsonserde.go +++ b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_hivejsonserde.go @@ -16,6 +16,9 @@ type DeliveryStream_HiveJsonSerDe struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_inputformatconfiguration.go b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_inputformatconfiguration.go index 584f11e15d..0c42560bf7 100644 --- a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_inputformatconfiguration.go +++ b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_inputformatconfiguration.go @@ -9,13 +9,16 @@ import ( type DeliveryStream_InputFormatConfiguration struct { // Deserializer AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-inputformatconfiguration.html#cfn-kinesisfirehose-deliverystream-inputformatconfiguration-deserializer Deserializer *DeliveryStream_Deserializer `json:"Deserializer,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_kinesisstreamsourceconfiguration.go b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_kinesisstreamsourceconfiguration.go index 8b14eb9df8..26849cdabf 100644 --- a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_kinesisstreamsourceconfiguration.go +++ b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_kinesisstreamsourceconfiguration.go @@ -21,6 +21,9 @@ type DeliveryStream_KinesisStreamSourceConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_kmsencryptionconfig.go b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_kmsencryptionconfig.go index 9fa382a6a0..a9d7a82059 100644 --- a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_kmsencryptionconfig.go +++ b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_kmsencryptionconfig.go @@ -16,6 +16,9 @@ type DeliveryStream_KMSEncryptionConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_openxjsonserde.go b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_openxjsonserde.go index 27cda6f255..c63994e1a5 100644 --- a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_openxjsonserde.go +++ b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_openxjsonserde.go @@ -26,6 +26,9 @@ type DeliveryStream_OpenXJsonSerDe struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_orcserde.go b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_orcserde.go index 32850cda66..6363afddab 100644 --- a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_orcserde.go +++ b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_orcserde.go @@ -61,6 +61,9 @@ type DeliveryStream_OrcSerDe struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_outputformatconfiguration.go b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_outputformatconfiguration.go index 193f199e37..e29d45e4f4 100644 --- a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_outputformatconfiguration.go +++ b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_outputformatconfiguration.go @@ -9,13 +9,16 @@ import ( type DeliveryStream_OutputFormatConfiguration struct { // Serializer AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-outputformatconfiguration.html#cfn-kinesisfirehose-deliverystream-outputformatconfiguration-serializer Serializer *DeliveryStream_Serializer `json:"Serializer,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_parquetserde.go b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_parquetserde.go index c43c4bfe86..6fc5f0003f 100644 --- a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_parquetserde.go +++ b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_parquetserde.go @@ -41,6 +41,9 @@ type DeliveryStream_ParquetSerDe struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_processingconfiguration.go b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_processingconfiguration.go index 83f55c3b70..3d6a9ba8f4 100644 --- a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_processingconfiguration.go +++ b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_processingconfiguration.go @@ -21,6 +21,9 @@ type DeliveryStream_ProcessingConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_processor.go b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_processor.go index e473420cfd..753613ff4e 100644 --- a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_processor.go +++ b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_processor.go @@ -9,7 +9,7 @@ import ( type DeliveryStream_Processor struct { // Parameters AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-processor.html#cfn-kinesisfirehose-deliverystream-processor-parameters Parameters []DeliveryStream_ProcessorParameter `json:"Parameters,omitempty"` @@ -21,6 +21,9 @@ type DeliveryStream_Processor struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_processorparameter.go b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_processorparameter.go index 71eaac5c2b..8b4857c30b 100644 --- a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_processorparameter.go +++ b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_processorparameter.go @@ -21,6 +21,9 @@ type DeliveryStream_ProcessorParameter struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_redshiftdestinationconfiguration.go b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_redshiftdestinationconfiguration.go index d972b662f6..3b69937ed5 100644 --- a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_redshiftdestinationconfiguration.go +++ b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_redshiftdestinationconfiguration.go @@ -33,11 +33,26 @@ type DeliveryStream_RedshiftDestinationConfiguration struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-redshiftdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-redshiftdestinationconfiguration-processingconfiguration ProcessingConfiguration *DeliveryStream_ProcessingConfiguration `json:"ProcessingConfiguration,omitempty"` + // RetryOptions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-redshiftdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-redshiftdestinationconfiguration-retryoptions + RetryOptions *DeliveryStream_RedshiftRetryOptions `json:"RetryOptions,omitempty"` + // RoleARN AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-redshiftdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-redshiftdestinationconfiguration-rolearn RoleARN string `json:"RoleARN,omitempty"` + // S3BackupConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-redshiftdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-redshiftdestinationconfiguration-s3backupconfiguration + S3BackupConfiguration *DeliveryStream_S3DestinationConfiguration `json:"S3BackupConfiguration,omitempty"` + + // S3BackupMode AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-redshiftdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-redshiftdestinationconfiguration-s3backupmode + S3BackupMode string `json:"S3BackupMode,omitempty"` + // S3Configuration AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-redshiftdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-redshiftdestinationconfiguration-s3configuration @@ -51,6 +66,9 @@ type DeliveryStream_RedshiftDestinationConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_redshiftretryoptions.go b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_redshiftretryoptions.go new file mode 100644 index 0000000000..de0b36317d --- /dev/null +++ b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_redshiftretryoptions.go @@ -0,0 +1,35 @@ +package kinesisfirehose + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DeliveryStream_RedshiftRetryOptions AWS CloudFormation Resource (AWS::KinesisFirehose::DeliveryStream.RedshiftRetryOptions) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-redshiftretryoptions.html +type DeliveryStream_RedshiftRetryOptions struct { + + // DurationInSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-redshiftretryoptions.html#cfn-kinesisfirehose-deliverystream-redshiftretryoptions-durationinseconds + DurationInSeconds int `json:"DurationInSeconds,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DeliveryStream_RedshiftRetryOptions) AWSCloudFormationType() string { + return "AWS::KinesisFirehose::DeliveryStream.RedshiftRetryOptions" +} diff --git a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_s3destinationconfiguration.go b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_s3destinationconfiguration.go index 20e1a5713a..7fdeef8c6d 100644 --- a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_s3destinationconfiguration.go +++ b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_s3destinationconfiguration.go @@ -14,7 +14,7 @@ type DeliveryStream_S3DestinationConfiguration struct { BucketARN string `json:"BucketARN,omitempty"` // BufferingHints AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-s3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-s3destinationconfiguration-bufferinghints BufferingHints *DeliveryStream_BufferingHints `json:"BufferingHints,omitempty"` @@ -24,7 +24,7 @@ type DeliveryStream_S3DestinationConfiguration struct { CloudWatchLoggingOptions *DeliveryStream_CloudWatchLoggingOptions `json:"CloudWatchLoggingOptions,omitempty"` // CompressionFormat AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-s3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-s3destinationconfiguration-compressionformat CompressionFormat string `json:"CompressionFormat,omitempty"` @@ -51,6 +51,9 @@ type DeliveryStream_S3DestinationConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_schemaconfiguration.go b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_schemaconfiguration.go index ebd0a1dbd0..2157e0416d 100644 --- a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_schemaconfiguration.go +++ b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_schemaconfiguration.go @@ -9,38 +9,41 @@ import ( type DeliveryStream_SchemaConfiguration struct { // CatalogId AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-schemaconfiguration.html#cfn-kinesisfirehose-deliverystream-schemaconfiguration-catalogid CatalogId string `json:"CatalogId,omitempty"` // DatabaseName AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-schemaconfiguration.html#cfn-kinesisfirehose-deliverystream-schemaconfiguration-databasename DatabaseName string `json:"DatabaseName,omitempty"` // Region AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-schemaconfiguration.html#cfn-kinesisfirehose-deliverystream-schemaconfiguration-region Region string `json:"Region,omitempty"` // RoleARN AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-schemaconfiguration.html#cfn-kinesisfirehose-deliverystream-schemaconfiguration-rolearn RoleARN string `json:"RoleARN,omitempty"` // TableName AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-schemaconfiguration.html#cfn-kinesisfirehose-deliverystream-schemaconfiguration-tablename TableName string `json:"TableName,omitempty"` // VersionId AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-schemaconfiguration.html#cfn-kinesisfirehose-deliverystream-schemaconfiguration-versionid VersionId string `json:"VersionId,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_serializer.go b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_serializer.go index 5d09f9ee6c..1beae7dd5e 100644 --- a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_serializer.go +++ b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_serializer.go @@ -21,6 +21,9 @@ type DeliveryStream_Serializer struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_splunkdestinationconfiguration.go b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_splunkdestinationconfiguration.go index d77daeb2b1..e9d9dadf52 100644 --- a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_splunkdestinationconfiguration.go +++ b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_splunkdestinationconfiguration.go @@ -56,6 +56,9 @@ type DeliveryStream_SplunkDestinationConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_splunkretryoptions.go b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_splunkretryoptions.go index f539135499..af14e36eef 100644 --- a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_splunkretryoptions.go +++ b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_splunkretryoptions.go @@ -9,13 +9,16 @@ import ( type DeliveryStream_SplunkRetryOptions struct { // DurationInSeconds AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-splunkretryoptions.html#cfn-kinesisfirehose-deliverystream-splunkretryoptions-durationinseconds - DurationInSeconds int `json:"DurationInSeconds"` + DurationInSeconds int `json:"DurationInSeconds,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_vpcconfiguration.go b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_vpcconfiguration.go new file mode 100644 index 0000000000..4f4da4aac1 --- /dev/null +++ b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_vpcconfiguration.go @@ -0,0 +1,45 @@ +package kinesisfirehose + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DeliveryStream_VpcConfiguration AWS CloudFormation Resource (AWS::KinesisFirehose::DeliveryStream.VpcConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-vpcconfiguration.html +type DeliveryStream_VpcConfiguration struct { + + // RoleARN AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-vpcconfiguration.html#cfn-kinesisfirehose-deliverystream-vpcconfiguration-rolearn + RoleARN string `json:"RoleARN,omitempty"` + + // SecurityGroupIds AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-vpcconfiguration.html#cfn-kinesisfirehose-deliverystream-vpcconfiguration-securitygroupids + SecurityGroupIds []string `json:"SecurityGroupIds,omitempty"` + + // SubnetIds AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-vpcconfiguration.html#cfn-kinesisfirehose-deliverystream-vpcconfiguration-subnetids + SubnetIds []string `json:"SubnetIds,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DeliveryStream_VpcConfiguration) AWSCloudFormationType() string { + return "AWS::KinesisFirehose::DeliveryStream.VpcConfiguration" +} diff --git a/cloudformation/kms/aws-kms-alias.go b/cloudformation/kms/aws-kms-alias.go index 53d7e1b150..5c2ed6d4ad 100644 --- a/cloudformation/kms/aws-kms-alias.go +++ b/cloudformation/kms/aws-kms-alias.go @@ -25,6 +25,9 @@ type Alias struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *Alias) AWSCloudFormationType() string { func (r Alias) MarshalJSON() ([]byte, error) { type Properties Alias return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r Alias) MarshalJSON() ([]byte, error) { func (r *Alias) UnmarshalJSON(b []byte) error { type Properties Alias res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *Alias) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/kms/aws-kms-key.go b/cloudformation/kms/aws-kms-key.go index 65ac17e5c2..c73f996789 100644 --- a/cloudformation/kms/aws-kms-key.go +++ b/cloudformation/kms/aws-kms-key.go @@ -51,6 +51,9 @@ type Key struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -71,19 +74,21 @@ func (r *Key) AWSCloudFormationType() string { func (r Key) MarshalJSON() ([]byte, error) { type Properties Key return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -92,12 +97,13 @@ func (r Key) MarshalJSON() ([]byte, error) { func (r *Key) UnmarshalJSON(b []byte) error { type Properties Key res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -121,6 +127,9 @@ func (r *Key) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/lakeformation/aws-lakeformation-datalakesettings.go b/cloudformation/lakeformation/aws-lakeformation-datalakesettings.go index 5c9b7cfa17..c6aa3e9c37 100644 --- a/cloudformation/lakeformation/aws-lakeformation-datalakesettings.go +++ b/cloudformation/lakeformation/aws-lakeformation-datalakesettings.go @@ -20,6 +20,9 @@ type DataLakeSettings struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -40,19 +43,21 @@ func (r *DataLakeSettings) AWSCloudFormationType() string { func (r DataLakeSettings) MarshalJSON() ([]byte, error) { type Properties DataLakeSettings return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -61,12 +66,13 @@ func (r DataLakeSettings) MarshalJSON() ([]byte, error) { func (r *DataLakeSettings) UnmarshalJSON(b []byte) error { type Properties DataLakeSettings res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -90,6 +96,9 @@ func (r *DataLakeSettings) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/lakeformation/aws-lakeformation-datalakesettings_admins.go b/cloudformation/lakeformation/aws-lakeformation-datalakesettings_admins.go index 651298d15f..e913a3c9c5 100644 --- a/cloudformation/lakeformation/aws-lakeformation-datalakesettings_admins.go +++ b/cloudformation/lakeformation/aws-lakeformation-datalakesettings_admins.go @@ -11,6 +11,9 @@ type DataLakeSettings_Admins struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/lakeformation/aws-lakeformation-datalakesettings_datalakeprincipal.go b/cloudformation/lakeformation/aws-lakeformation-datalakesettings_datalakeprincipal.go index a91213575f..a655107d83 100644 --- a/cloudformation/lakeformation/aws-lakeformation-datalakesettings_datalakeprincipal.go +++ b/cloudformation/lakeformation/aws-lakeformation-datalakesettings_datalakeprincipal.go @@ -16,6 +16,9 @@ type DataLakeSettings_DataLakePrincipal struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/lakeformation/aws-lakeformation-permissions.go b/cloudformation/lakeformation/aws-lakeformation-permissions.go index d10b3374df..73e94742a4 100644 --- a/cloudformation/lakeformation/aws-lakeformation-permissions.go +++ b/cloudformation/lakeformation/aws-lakeformation-permissions.go @@ -35,6 +35,9 @@ type Permissions struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -55,19 +58,21 @@ func (r *Permissions) AWSCloudFormationType() string { func (r Permissions) MarshalJSON() ([]byte, error) { type Properties Permissions return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -76,12 +81,13 @@ func (r Permissions) MarshalJSON() ([]byte, error) { func (r *Permissions) UnmarshalJSON(b []byte) error { type Properties Permissions res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -105,6 +111,9 @@ func (r *Permissions) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/lakeformation/aws-lakeformation-permissions_columnwildcard.go b/cloudformation/lakeformation/aws-lakeformation-permissions_columnwildcard.go new file mode 100644 index 0000000000..00e5e63de7 --- /dev/null +++ b/cloudformation/lakeformation/aws-lakeformation-permissions_columnwildcard.go @@ -0,0 +1,35 @@ +package lakeformation + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Permissions_ColumnWildcard AWS CloudFormation Resource (AWS::LakeFormation::Permissions.ColumnWildcard) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-columnwildcard.html +type Permissions_ColumnWildcard struct { + + // ExcludedColumnNames AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-columnwildcard.html#cfn-lakeformation-permissions-columnwildcard-excludedcolumnnames + ExcludedColumnNames []string `json:"ExcludedColumnNames,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Permissions_ColumnWildcard) AWSCloudFormationType() string { + return "AWS::LakeFormation::Permissions.ColumnWildcard" +} diff --git a/cloudformation/lakeformation/aws-lakeformation-permissions_databaseresource.go b/cloudformation/lakeformation/aws-lakeformation-permissions_databaseresource.go index e34020a5a7..f5498c5197 100644 --- a/cloudformation/lakeformation/aws-lakeformation-permissions_databaseresource.go +++ b/cloudformation/lakeformation/aws-lakeformation-permissions_databaseresource.go @@ -16,6 +16,9 @@ type Permissions_DatabaseResource struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/lakeformation/aws-lakeformation-permissions_datalakeprincipal.go b/cloudformation/lakeformation/aws-lakeformation-permissions_datalakeprincipal.go index 07db892863..295658501f 100644 --- a/cloudformation/lakeformation/aws-lakeformation-permissions_datalakeprincipal.go +++ b/cloudformation/lakeformation/aws-lakeformation-permissions_datalakeprincipal.go @@ -16,6 +16,9 @@ type Permissions_DataLakePrincipal struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/lakeformation/aws-lakeformation-permissions_datalocationresource.go b/cloudformation/lakeformation/aws-lakeformation-permissions_datalocationresource.go new file mode 100644 index 0000000000..a9866c09b9 --- /dev/null +++ b/cloudformation/lakeformation/aws-lakeformation-permissions_datalocationresource.go @@ -0,0 +1,35 @@ +package lakeformation + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Permissions_DataLocationResource AWS CloudFormation Resource (AWS::LakeFormation::Permissions.DataLocationResource) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-datalocationresource.html +type Permissions_DataLocationResource struct { + + // S3Resource AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-datalocationresource.html#cfn-lakeformation-permissions-datalocationresource-s3resource + S3Resource string `json:"S3Resource,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Permissions_DataLocationResource) AWSCloudFormationType() string { + return "AWS::LakeFormation::Permissions.DataLocationResource" +} diff --git a/cloudformation/lakeformation/aws-lakeformation-permissions_resource.go b/cloudformation/lakeformation/aws-lakeformation-permissions_resource.go index 85a9b5d814..7aa7a41eb4 100644 --- a/cloudformation/lakeformation/aws-lakeformation-permissions_resource.go +++ b/cloudformation/lakeformation/aws-lakeformation-permissions_resource.go @@ -8,6 +8,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-resource.html type Permissions_Resource struct { + // DataLocationResource AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-resource.html#cfn-lakeformation-permissions-resource-datalocationresource + DataLocationResource *Permissions_DataLocationResource `json:"DataLocationResource,omitempty"` + // DatabaseResource AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-resource.html#cfn-lakeformation-permissions-resource-databaseresource @@ -18,9 +23,17 @@ type Permissions_Resource struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-resource.html#cfn-lakeformation-permissions-resource-tableresource TableResource *Permissions_TableResource `json:"TableResource,omitempty"` + // TableWithColumnsResource AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-resource.html#cfn-lakeformation-permissions-resource-tablewithcolumnsresource + TableWithColumnsResource *Permissions_TableWithColumnsResource `json:"TableWithColumnsResource,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/lakeformation/aws-lakeformation-permissions_tableresource.go b/cloudformation/lakeformation/aws-lakeformation-permissions_tableresource.go index f7091cfac9..697bd63f10 100644 --- a/cloudformation/lakeformation/aws-lakeformation-permissions_tableresource.go +++ b/cloudformation/lakeformation/aws-lakeformation-permissions_tableresource.go @@ -21,6 +21,9 @@ type Permissions_TableResource struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/lakeformation/aws-lakeformation-permissions_tablewithcolumnsresource.go b/cloudformation/lakeformation/aws-lakeformation-permissions_tablewithcolumnsresource.go new file mode 100644 index 0000000000..8355b8c321 --- /dev/null +++ b/cloudformation/lakeformation/aws-lakeformation-permissions_tablewithcolumnsresource.go @@ -0,0 +1,50 @@ +package lakeformation + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Permissions_TableWithColumnsResource AWS CloudFormation Resource (AWS::LakeFormation::Permissions.TableWithColumnsResource) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-tablewithcolumnsresource.html +type Permissions_TableWithColumnsResource struct { + + // ColumnNames AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-tablewithcolumnsresource.html#cfn-lakeformation-permissions-tablewithcolumnsresource-columnnames + ColumnNames []string `json:"ColumnNames,omitempty"` + + // ColumnWildcard AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-tablewithcolumnsresource.html#cfn-lakeformation-permissions-tablewithcolumnsresource-columnwildcard + ColumnWildcard *Permissions_ColumnWildcard `json:"ColumnWildcard,omitempty"` + + // DatabaseName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-tablewithcolumnsresource.html#cfn-lakeformation-permissions-tablewithcolumnsresource-databasename + DatabaseName string `json:"DatabaseName,omitempty"` + + // Name AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-tablewithcolumnsresource.html#cfn-lakeformation-permissions-tablewithcolumnsresource-name + Name string `json:"Name,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Permissions_TableWithColumnsResource) AWSCloudFormationType() string { + return "AWS::LakeFormation::Permissions.TableWithColumnsResource" +} diff --git a/cloudformation/lakeformation/aws-lakeformation-resource.go b/cloudformation/lakeformation/aws-lakeformation-resource.go index 350c2d27eb..013ed2d49f 100644 --- a/cloudformation/lakeformation/aws-lakeformation-resource.go +++ b/cloudformation/lakeformation/aws-lakeformation-resource.go @@ -30,6 +30,9 @@ type Resource struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *Resource) AWSCloudFormationType() string { func (r Resource) MarshalJSON() ([]byte, error) { type Properties Resource return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r Resource) MarshalJSON() ([]byte, error) { func (r *Resource) UnmarshalJSON(b []byte) error { type Properties Resource res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *Resource) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/lambda/aws-lambda-alias.go b/cloudformation/lambda/aws-lambda-alias.go index e51bd6268e..632716cc0c 100644 --- a/cloudformation/lambda/aws-lambda-alias.go +++ b/cloudformation/lambda/aws-lambda-alias.go @@ -48,6 +48,9 @@ type Alias struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -68,21 +71,23 @@ func (r *Alias) AWSCloudFormationType() string { func (r Alias) MarshalJSON() ([]byte, error) { type Properties Alias return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` - UpdatePolicy *policies.UpdatePolicy `json:"UpdatePolicy,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + UpdatePolicy *policies.UpdatePolicy `json:"UpdatePolicy,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, - UpdatePolicy: r.AWSCloudFormationUpdatePolicy, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + UpdatePolicy: r.AWSCloudFormationUpdatePolicy, }) } @@ -91,12 +96,13 @@ func (r Alias) MarshalJSON() ([]byte, error) { func (r *Alias) UnmarshalJSON(b []byte) error { type Properties Alias res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -120,6 +126,9 @@ func (r *Alias) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/lambda/aws-lambda-alias_aliasroutingconfiguration.go b/cloudformation/lambda/aws-lambda-alias_aliasroutingconfiguration.go index 02ed6dd7b8..ec33f8723a 100644 --- a/cloudformation/lambda/aws-lambda-alias_aliasroutingconfiguration.go +++ b/cloudformation/lambda/aws-lambda-alias_aliasroutingconfiguration.go @@ -16,6 +16,9 @@ type Alias_AliasRoutingConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/lambda/aws-lambda-alias_provisionedconcurrencyconfiguration.go b/cloudformation/lambda/aws-lambda-alias_provisionedconcurrencyconfiguration.go index 52a9bccae5..d50df81ed7 100644 --- a/cloudformation/lambda/aws-lambda-alias_provisionedconcurrencyconfiguration.go +++ b/cloudformation/lambda/aws-lambda-alias_provisionedconcurrencyconfiguration.go @@ -16,6 +16,9 @@ type Alias_ProvisionedConcurrencyConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/lambda/aws-lambda-alias_versionweight.go b/cloudformation/lambda/aws-lambda-alias_versionweight.go index fe1f7724ce..eea3009173 100644 --- a/cloudformation/lambda/aws-lambda-alias_versionweight.go +++ b/cloudformation/lambda/aws-lambda-alias_versionweight.go @@ -21,6 +21,9 @@ type Alias_VersionWeight struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/lambda/aws-lambda-eventinvokeconfig.go b/cloudformation/lambda/aws-lambda-eventinvokeconfig.go index 0b071622d3..d69ea5ba3e 100644 --- a/cloudformation/lambda/aws-lambda-eventinvokeconfig.go +++ b/cloudformation/lambda/aws-lambda-eventinvokeconfig.go @@ -40,6 +40,9 @@ type EventInvokeConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -60,19 +63,21 @@ func (r *EventInvokeConfig) AWSCloudFormationType() string { func (r EventInvokeConfig) MarshalJSON() ([]byte, error) { type Properties EventInvokeConfig return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -81,12 +86,13 @@ func (r EventInvokeConfig) MarshalJSON() ([]byte, error) { func (r *EventInvokeConfig) UnmarshalJSON(b []byte) error { type Properties EventInvokeConfig res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -110,6 +116,9 @@ func (r *EventInvokeConfig) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/lambda/aws-lambda-eventinvokeconfig_destinationconfig.go b/cloudformation/lambda/aws-lambda-eventinvokeconfig_destinationconfig.go index ebe4a74096..433ebb4148 100644 --- a/cloudformation/lambda/aws-lambda-eventinvokeconfig_destinationconfig.go +++ b/cloudformation/lambda/aws-lambda-eventinvokeconfig_destinationconfig.go @@ -21,6 +21,9 @@ type EventInvokeConfig_DestinationConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/lambda/aws-lambda-eventinvokeconfig_onfailure.go b/cloudformation/lambda/aws-lambda-eventinvokeconfig_onfailure.go index 2e79e20c4c..405ce80c30 100644 --- a/cloudformation/lambda/aws-lambda-eventinvokeconfig_onfailure.go +++ b/cloudformation/lambda/aws-lambda-eventinvokeconfig_onfailure.go @@ -16,6 +16,9 @@ type EventInvokeConfig_OnFailure struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/lambda/aws-lambda-eventinvokeconfig_onsuccess.go b/cloudformation/lambda/aws-lambda-eventinvokeconfig_onsuccess.go index 781293f5f6..084443aa24 100644 --- a/cloudformation/lambda/aws-lambda-eventinvokeconfig_onsuccess.go +++ b/cloudformation/lambda/aws-lambda-eventinvokeconfig_onsuccess.go @@ -16,6 +16,9 @@ type EventInvokeConfig_OnSuccess struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/lambda/aws-lambda-eventsourcemapping.go b/cloudformation/lambda/aws-lambda-eventsourcemapping.go index db312417c7..3ba1b61bcf 100644 --- a/cloudformation/lambda/aws-lambda-eventsourcemapping.go +++ b/cloudformation/lambda/aws-lambda-eventsourcemapping.go @@ -70,6 +70,9 @@ type EventSourceMapping struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -90,19 +93,21 @@ func (r *EventSourceMapping) AWSCloudFormationType() string { func (r EventSourceMapping) MarshalJSON() ([]byte, error) { type Properties EventSourceMapping return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -111,12 +116,13 @@ func (r EventSourceMapping) MarshalJSON() ([]byte, error) { func (r *EventSourceMapping) UnmarshalJSON(b []byte) error { type Properties EventSourceMapping res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -140,6 +146,9 @@ func (r *EventSourceMapping) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/lambda/aws-lambda-eventsourcemapping_destinationconfig.go b/cloudformation/lambda/aws-lambda-eventsourcemapping_destinationconfig.go index d7aeacebdc..ecf25531a3 100644 --- a/cloudformation/lambda/aws-lambda-eventsourcemapping_destinationconfig.go +++ b/cloudformation/lambda/aws-lambda-eventsourcemapping_destinationconfig.go @@ -16,6 +16,9 @@ type EventSourceMapping_DestinationConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/lambda/aws-lambda-eventsourcemapping_onfailure.go b/cloudformation/lambda/aws-lambda-eventsourcemapping_onfailure.go index eb10ba2ab2..582bd8555b 100644 --- a/cloudformation/lambda/aws-lambda-eventsourcemapping_onfailure.go +++ b/cloudformation/lambda/aws-lambda-eventsourcemapping_onfailure.go @@ -16,6 +16,9 @@ type EventSourceMapping_OnFailure struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/lambda/aws-lambda-function.go b/cloudformation/lambda/aws-lambda-function.go index 5b2cba36bc..9cd5e74d9c 100644 --- a/cloudformation/lambda/aws-lambda-function.go +++ b/cloudformation/lambda/aws-lambda-function.go @@ -96,6 +96,9 @@ type Function struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -116,19 +119,21 @@ func (r *Function) AWSCloudFormationType() string { func (r Function) MarshalJSON() ([]byte, error) { type Properties Function return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -137,12 +142,13 @@ func (r Function) MarshalJSON() ([]byte, error) { func (r *Function) UnmarshalJSON(b []byte) error { type Properties Function res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -166,6 +172,9 @@ func (r *Function) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/lambda/aws-lambda-function_code.go b/cloudformation/lambda/aws-lambda-function_code.go index d0dbc9275f..ec86c5d681 100644 --- a/cloudformation/lambda/aws-lambda-function_code.go +++ b/cloudformation/lambda/aws-lambda-function_code.go @@ -31,6 +31,9 @@ type Function_Code struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/lambda/aws-lambda-function_deadletterconfig.go b/cloudformation/lambda/aws-lambda-function_deadletterconfig.go index 05bd414a26..6f7a7bde7a 100644 --- a/cloudformation/lambda/aws-lambda-function_deadletterconfig.go +++ b/cloudformation/lambda/aws-lambda-function_deadletterconfig.go @@ -16,6 +16,9 @@ type Function_DeadLetterConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/lambda/aws-lambda-function_environment.go b/cloudformation/lambda/aws-lambda-function_environment.go index 5d2927da8d..e0996ec4dc 100644 --- a/cloudformation/lambda/aws-lambda-function_environment.go +++ b/cloudformation/lambda/aws-lambda-function_environment.go @@ -16,6 +16,9 @@ type Function_Environment struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/lambda/aws-lambda-function_tracingconfig.go b/cloudformation/lambda/aws-lambda-function_tracingconfig.go index 632464b355..417f45d4b9 100644 --- a/cloudformation/lambda/aws-lambda-function_tracingconfig.go +++ b/cloudformation/lambda/aws-lambda-function_tracingconfig.go @@ -16,6 +16,9 @@ type Function_TracingConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/lambda/aws-lambda-function_vpcconfig.go b/cloudformation/lambda/aws-lambda-function_vpcconfig.go index f1731b90ec..c3906c330f 100644 --- a/cloudformation/lambda/aws-lambda-function_vpcconfig.go +++ b/cloudformation/lambda/aws-lambda-function_vpcconfig.go @@ -21,6 +21,9 @@ type Function_VpcConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/lambda/aws-lambda-layerversion.go b/cloudformation/lambda/aws-lambda-layerversion.go index a09ade02d1..8082c7de89 100644 --- a/cloudformation/lambda/aws-lambda-layerversion.go +++ b/cloudformation/lambda/aws-lambda-layerversion.go @@ -40,6 +40,9 @@ type LayerVersion struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -60,19 +63,21 @@ func (r *LayerVersion) AWSCloudFormationType() string { func (r LayerVersion) MarshalJSON() ([]byte, error) { type Properties LayerVersion return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -81,12 +86,13 @@ func (r LayerVersion) MarshalJSON() ([]byte, error) { func (r *LayerVersion) UnmarshalJSON(b []byte) error { type Properties LayerVersion res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -110,6 +116,9 @@ func (r *LayerVersion) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/lambda/aws-lambda-layerversion_content.go b/cloudformation/lambda/aws-lambda-layerversion_content.go index 4e8a343c3d..a4a4a3c3dd 100644 --- a/cloudformation/lambda/aws-lambda-layerversion_content.go +++ b/cloudformation/lambda/aws-lambda-layerversion_content.go @@ -26,6 +26,9 @@ type LayerVersion_Content struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/lambda/aws-lambda-layerversionpermission.go b/cloudformation/lambda/aws-lambda-layerversionpermission.go index 3069af1d68..ee0082d17b 100644 --- a/cloudformation/lambda/aws-lambda-layerversionpermission.go +++ b/cloudformation/lambda/aws-lambda-layerversionpermission.go @@ -35,6 +35,9 @@ type LayerVersionPermission struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -55,19 +58,21 @@ func (r *LayerVersionPermission) AWSCloudFormationType() string { func (r LayerVersionPermission) MarshalJSON() ([]byte, error) { type Properties LayerVersionPermission return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -76,12 +81,13 @@ func (r LayerVersionPermission) MarshalJSON() ([]byte, error) { func (r *LayerVersionPermission) UnmarshalJSON(b []byte) error { type Properties LayerVersionPermission res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -105,6 +111,9 @@ func (r *LayerVersionPermission) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/lambda/aws-lambda-permission.go b/cloudformation/lambda/aws-lambda-permission.go index 038ce82f0d..147f7b5927 100644 --- a/cloudformation/lambda/aws-lambda-permission.go +++ b/cloudformation/lambda/aws-lambda-permission.go @@ -45,6 +45,9 @@ type Permission struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -65,19 +68,21 @@ func (r *Permission) AWSCloudFormationType() string { func (r Permission) MarshalJSON() ([]byte, error) { type Properties Permission return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -86,12 +91,13 @@ func (r Permission) MarshalJSON() ([]byte, error) { func (r *Permission) UnmarshalJSON(b []byte) error { type Properties Permission res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -115,6 +121,9 @@ func (r *Permission) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/lambda/aws-lambda-version.go b/cloudformation/lambda/aws-lambda-version.go index 8da1be8d3f..2c04fde4cf 100644 --- a/cloudformation/lambda/aws-lambda-version.go +++ b/cloudformation/lambda/aws-lambda-version.go @@ -35,6 +35,9 @@ type Version struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -55,19 +58,21 @@ func (r *Version) AWSCloudFormationType() string { func (r Version) MarshalJSON() ([]byte, error) { type Properties Version return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -76,12 +81,13 @@ func (r Version) MarshalJSON() ([]byte, error) { func (r *Version) UnmarshalJSON(b []byte) error { type Properties Version res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -105,6 +111,9 @@ func (r *Version) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/lambda/aws-lambda-version_provisionedconcurrencyconfiguration.go b/cloudformation/lambda/aws-lambda-version_provisionedconcurrencyconfiguration.go index bddb90a827..d39da74b12 100644 --- a/cloudformation/lambda/aws-lambda-version_provisionedconcurrencyconfiguration.go +++ b/cloudformation/lambda/aws-lambda-version_provisionedconcurrencyconfiguration.go @@ -16,6 +16,9 @@ type Version_ProvisionedConcurrencyConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/logs/aws-logs-destination.go b/cloudformation/logs/aws-logs-destination.go index 017285af88..0328f373b3 100644 --- a/cloudformation/logs/aws-logs-destination.go +++ b/cloudformation/logs/aws-logs-destination.go @@ -35,6 +35,9 @@ type Destination struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -55,19 +58,21 @@ func (r *Destination) AWSCloudFormationType() string { func (r Destination) MarshalJSON() ([]byte, error) { type Properties Destination return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -76,12 +81,13 @@ func (r Destination) MarshalJSON() ([]byte, error) { func (r *Destination) UnmarshalJSON(b []byte) error { type Properties Destination res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -105,6 +111,9 @@ func (r *Destination) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/logs/aws-logs-loggroup.go b/cloudformation/logs/aws-logs-loggroup.go index 564a2ca099..ab3c8d05b1 100644 --- a/cloudformation/logs/aws-logs-loggroup.go +++ b/cloudformation/logs/aws-logs-loggroup.go @@ -25,6 +25,9 @@ type LogGroup struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *LogGroup) AWSCloudFormationType() string { func (r LogGroup) MarshalJSON() ([]byte, error) { type Properties LogGroup return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r LogGroup) MarshalJSON() ([]byte, error) { func (r *LogGroup) UnmarshalJSON(b []byte) error { type Properties LogGroup res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *LogGroup) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/logs/aws-logs-logstream.go b/cloudformation/logs/aws-logs-logstream.go index 86fb9f84f5..0fe1cc462d 100644 --- a/cloudformation/logs/aws-logs-logstream.go +++ b/cloudformation/logs/aws-logs-logstream.go @@ -25,6 +25,9 @@ type LogStream struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *LogStream) AWSCloudFormationType() string { func (r LogStream) MarshalJSON() ([]byte, error) { type Properties LogStream return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r LogStream) MarshalJSON() ([]byte, error) { func (r *LogStream) UnmarshalJSON(b []byte) error { type Properties LogStream res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *LogStream) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/logs/aws-logs-metricfilter.go b/cloudformation/logs/aws-logs-metricfilter.go index b0181dd8fd..da30468945 100644 --- a/cloudformation/logs/aws-logs-metricfilter.go +++ b/cloudformation/logs/aws-logs-metricfilter.go @@ -30,6 +30,9 @@ type MetricFilter struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *MetricFilter) AWSCloudFormationType() string { func (r MetricFilter) MarshalJSON() ([]byte, error) { type Properties MetricFilter return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r MetricFilter) MarshalJSON() ([]byte, error) { func (r *MetricFilter) UnmarshalJSON(b []byte) error { type Properties MetricFilter res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *MetricFilter) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/logs/aws-logs-metricfilter_metrictransformation.go b/cloudformation/logs/aws-logs-metricfilter_metrictransformation.go index ebbd72dff9..3fb57df87c 100644 --- a/cloudformation/logs/aws-logs-metricfilter_metrictransformation.go +++ b/cloudformation/logs/aws-logs-metricfilter_metrictransformation.go @@ -31,6 +31,9 @@ type MetricFilter_MetricTransformation struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/logs/aws-logs-subscriptionfilter.go b/cloudformation/logs/aws-logs-subscriptionfilter.go index 524c3a169c..1795fe74e6 100644 --- a/cloudformation/logs/aws-logs-subscriptionfilter.go +++ b/cloudformation/logs/aws-logs-subscriptionfilter.go @@ -35,6 +35,9 @@ type SubscriptionFilter struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -55,19 +58,21 @@ func (r *SubscriptionFilter) AWSCloudFormationType() string { func (r SubscriptionFilter) MarshalJSON() ([]byte, error) { type Properties SubscriptionFilter return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -76,12 +81,13 @@ func (r SubscriptionFilter) MarshalJSON() ([]byte, error) { func (r *SubscriptionFilter) UnmarshalJSON(b []byte) error { type Properties SubscriptionFilter res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -105,6 +111,9 @@ func (r *SubscriptionFilter) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/macie/aws-macie-customdataidentifier.go b/cloudformation/macie/aws-macie-customdataidentifier.go new file mode 100644 index 0000000000..325a904808 --- /dev/null +++ b/cloudformation/macie/aws-macie-customdataidentifier.go @@ -0,0 +1,131 @@ +package macie + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// CustomDataIdentifier AWS CloudFormation Resource (AWS::Macie::CustomDataIdentifier) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-customdataidentifier.html +type CustomDataIdentifier struct { + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-customdataidentifier.html#cfn-macie-customdataidentifier-description + Description string `json:"Description,omitempty"` + + // IgnoreWords AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-customdataidentifier.html#cfn-macie-customdataidentifier-ignorewords + IgnoreWords []string `json:"IgnoreWords,omitempty"` + + // Keywords AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-customdataidentifier.html#cfn-macie-customdataidentifier-keywords + Keywords []string `json:"Keywords,omitempty"` + + // MaximumMatchDistance AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-customdataidentifier.html#cfn-macie-customdataidentifier-maximummatchdistance + MaximumMatchDistance int `json:"MaximumMatchDistance,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-customdataidentifier.html#cfn-macie-customdataidentifier-name + Name string `json:"Name,omitempty"` + + // Regex AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-customdataidentifier.html#cfn-macie-customdataidentifier-regex + Regex string `json:"Regex,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *CustomDataIdentifier) AWSCloudFormationType() string { + return "AWS::Macie::CustomDataIdentifier" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r CustomDataIdentifier) MarshalJSON() ([]byte, error) { + type Properties CustomDataIdentifier + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *CustomDataIdentifier) UnmarshalJSON(b []byte) error { + type Properties CustomDataIdentifier + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = CustomDataIdentifier(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/macie/aws-macie-findingsfilter.go b/cloudformation/macie/aws-macie-findingsfilter.go new file mode 100644 index 0000000000..e6141d6dea --- /dev/null +++ b/cloudformation/macie/aws-macie-findingsfilter.go @@ -0,0 +1,126 @@ +package macie + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// FindingsFilter AWS CloudFormation Resource (AWS::Macie::FindingsFilter) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-findingsfilter.html +type FindingsFilter struct { + + // Action AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-findingsfilter.html#cfn-macie-findingsfilter-action + Action string `json:"Action,omitempty"` + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-findingsfilter.html#cfn-macie-findingsfilter-description + Description string `json:"Description,omitempty"` + + // FindingCriteria AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-findingsfilter.html#cfn-macie-findingsfilter-findingcriteria + FindingCriteria *FindingsFilter_FindingCriteria `json:"FindingCriteria,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-findingsfilter.html#cfn-macie-findingsfilter-name + Name string `json:"Name,omitempty"` + + // Position AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-findingsfilter.html#cfn-macie-findingsfilter-position + Position int `json:"Position,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *FindingsFilter) AWSCloudFormationType() string { + return "AWS::Macie::FindingsFilter" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r FindingsFilter) MarshalJSON() ([]byte, error) { + type Properties FindingsFilter + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *FindingsFilter) UnmarshalJSON(b []byte) error { + type Properties FindingsFilter + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = FindingsFilter(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/macie/aws-macie-findingsfilter_criterion.go b/cloudformation/macie/aws-macie-findingsfilter_criterion.go new file mode 100644 index 0000000000..827e70f8e0 --- /dev/null +++ b/cloudformation/macie/aws-macie-findingsfilter_criterion.go @@ -0,0 +1,30 @@ +package macie + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// FindingsFilter_Criterion AWS CloudFormation Resource (AWS::Macie::FindingsFilter.Criterion) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-macie-findingsfilter-criterion.html +type FindingsFilter_Criterion struct { + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *FindingsFilter_Criterion) AWSCloudFormationType() string { + return "AWS::Macie::FindingsFilter.Criterion" +} diff --git a/cloudformation/macie/aws-macie-findingsfilter_findingcriteria.go b/cloudformation/macie/aws-macie-findingsfilter_findingcriteria.go new file mode 100644 index 0000000000..a30e8f616b --- /dev/null +++ b/cloudformation/macie/aws-macie-findingsfilter_findingcriteria.go @@ -0,0 +1,35 @@ +package macie + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// FindingsFilter_FindingCriteria AWS CloudFormation Resource (AWS::Macie::FindingsFilter.FindingCriteria) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-macie-findingsfilter-findingcriteria.html +type FindingsFilter_FindingCriteria struct { + + // Criterion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-macie-findingsfilter-findingcriteria.html#cfn-macie-findingsfilter-findingcriteria-criterion + Criterion *FindingsFilter_Criterion `json:"Criterion,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *FindingsFilter_FindingCriteria) AWSCloudFormationType() string { + return "AWS::Macie::FindingsFilter.FindingCriteria" +} diff --git a/cloudformation/macie/aws-macie-session.go b/cloudformation/macie/aws-macie-session.go new file mode 100644 index 0000000000..087b1c66ff --- /dev/null +++ b/cloudformation/macie/aws-macie-session.go @@ -0,0 +1,111 @@ +package macie + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Session AWS CloudFormation Resource (AWS::Macie::Session) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-session.html +type Session struct { + + // FindingPublishingFrequency AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-session.html#cfn-macie-session-findingpublishingfrequency + FindingPublishingFrequency string `json:"FindingPublishingFrequency,omitempty"` + + // Status AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-session.html#cfn-macie-session-status + Status string `json:"Status,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Session) AWSCloudFormationType() string { + return "AWS::Macie::Session" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r Session) MarshalJSON() ([]byte, error) { + type Properties Session + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *Session) UnmarshalJSON(b []byte) error { + type Properties Session + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = Session(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/managedblockchain/aws-managedblockchain-member.go b/cloudformation/managedblockchain/aws-managedblockchain-member.go index 07b6d5701d..3cd8c473b7 100644 --- a/cloudformation/managedblockchain/aws-managedblockchain-member.go +++ b/cloudformation/managedblockchain/aws-managedblockchain-member.go @@ -35,6 +35,9 @@ type Member struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -55,19 +58,21 @@ func (r *Member) AWSCloudFormationType() string { func (r Member) MarshalJSON() ([]byte, error) { type Properties Member return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -76,12 +81,13 @@ func (r Member) MarshalJSON() ([]byte, error) { func (r *Member) UnmarshalJSON(b []byte) error { type Properties Member res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -105,6 +111,9 @@ func (r *Member) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/managedblockchain/aws-managedblockchain-member_approvalthresholdpolicy.go b/cloudformation/managedblockchain/aws-managedblockchain-member_approvalthresholdpolicy.go index 86f2625b4d..b2efdfb094 100644 --- a/cloudformation/managedblockchain/aws-managedblockchain-member_approvalthresholdpolicy.go +++ b/cloudformation/managedblockchain/aws-managedblockchain-member_approvalthresholdpolicy.go @@ -26,6 +26,9 @@ type Member_ApprovalThresholdPolicy struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/managedblockchain/aws-managedblockchain-member_memberconfiguration.go b/cloudformation/managedblockchain/aws-managedblockchain-member_memberconfiguration.go index 9ae645d556..18388b5de4 100644 --- a/cloudformation/managedblockchain/aws-managedblockchain-member_memberconfiguration.go +++ b/cloudformation/managedblockchain/aws-managedblockchain-member_memberconfiguration.go @@ -26,6 +26,9 @@ type Member_MemberConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/managedblockchain/aws-managedblockchain-member_memberfabricconfiguration.go b/cloudformation/managedblockchain/aws-managedblockchain-member_memberfabricconfiguration.go index 00b4346835..3ee31c53e5 100644 --- a/cloudformation/managedblockchain/aws-managedblockchain-member_memberfabricconfiguration.go +++ b/cloudformation/managedblockchain/aws-managedblockchain-member_memberfabricconfiguration.go @@ -21,6 +21,9 @@ type Member_MemberFabricConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/managedblockchain/aws-managedblockchain-member_memberframeworkconfiguration.go b/cloudformation/managedblockchain/aws-managedblockchain-member_memberframeworkconfiguration.go index f428f24062..669d3f27d9 100644 --- a/cloudformation/managedblockchain/aws-managedblockchain-member_memberframeworkconfiguration.go +++ b/cloudformation/managedblockchain/aws-managedblockchain-member_memberframeworkconfiguration.go @@ -16,6 +16,9 @@ type Member_MemberFrameworkConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/managedblockchain/aws-managedblockchain-member_networkconfiguration.go b/cloudformation/managedblockchain/aws-managedblockchain-member_networkconfiguration.go index 76dc20cba5..65caa73713 100644 --- a/cloudformation/managedblockchain/aws-managedblockchain-member_networkconfiguration.go +++ b/cloudformation/managedblockchain/aws-managedblockchain-member_networkconfiguration.go @@ -41,6 +41,9 @@ type Member_NetworkConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/managedblockchain/aws-managedblockchain-member_networkfabricconfiguration.go b/cloudformation/managedblockchain/aws-managedblockchain-member_networkfabricconfiguration.go index a2703767a5..981c594bcb 100644 --- a/cloudformation/managedblockchain/aws-managedblockchain-member_networkfabricconfiguration.go +++ b/cloudformation/managedblockchain/aws-managedblockchain-member_networkfabricconfiguration.go @@ -16,6 +16,9 @@ type Member_NetworkFabricConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/managedblockchain/aws-managedblockchain-member_networkframeworkconfiguration.go b/cloudformation/managedblockchain/aws-managedblockchain-member_networkframeworkconfiguration.go index cdfd592d29..4c4314727c 100644 --- a/cloudformation/managedblockchain/aws-managedblockchain-member_networkframeworkconfiguration.go +++ b/cloudformation/managedblockchain/aws-managedblockchain-member_networkframeworkconfiguration.go @@ -16,6 +16,9 @@ type Member_NetworkFrameworkConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/managedblockchain/aws-managedblockchain-member_votingpolicy.go b/cloudformation/managedblockchain/aws-managedblockchain-member_votingpolicy.go index c2b710e971..8517a22bd7 100644 --- a/cloudformation/managedblockchain/aws-managedblockchain-member_votingpolicy.go +++ b/cloudformation/managedblockchain/aws-managedblockchain-member_votingpolicy.go @@ -16,6 +16,9 @@ type Member_VotingPolicy struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/managedblockchain/aws-managedblockchain-node.go b/cloudformation/managedblockchain/aws-managedblockchain-node.go index c26f024364..303f9fa4f7 100644 --- a/cloudformation/managedblockchain/aws-managedblockchain-node.go +++ b/cloudformation/managedblockchain/aws-managedblockchain-node.go @@ -30,6 +30,9 @@ type Node struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *Node) AWSCloudFormationType() string { func (r Node) MarshalJSON() ([]byte, error) { type Properties Node return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r Node) MarshalJSON() ([]byte, error) { func (r *Node) UnmarshalJSON(b []byte) error { type Properties Node res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *Node) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/managedblockchain/aws-managedblockchain-node_nodeconfiguration.go b/cloudformation/managedblockchain/aws-managedblockchain-node_nodeconfiguration.go index 466d3f4e3f..790a21d6f7 100644 --- a/cloudformation/managedblockchain/aws-managedblockchain-node_nodeconfiguration.go +++ b/cloudformation/managedblockchain/aws-managedblockchain-node_nodeconfiguration.go @@ -21,6 +21,9 @@ type Node_NodeConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/mediaconvert/aws-mediaconvert-jobtemplate.go b/cloudformation/mediaconvert/aws-mediaconvert-jobtemplate.go index 1904facd55..7c64cd528e 100644 --- a/cloudformation/mediaconvert/aws-mediaconvert-jobtemplate.go +++ b/cloudformation/mediaconvert/aws-mediaconvert-jobtemplate.go @@ -27,6 +27,11 @@ type JobTemplate struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-jobtemplate.html#cfn-mediaconvert-jobtemplate-description Description string `json:"Description,omitempty"` + // HopDestinations AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-jobtemplate.html#cfn-mediaconvert-jobtemplate-hopdestinations + HopDestinations []JobTemplate_HopDestination `json:"HopDestinations,omitempty"` + // Name AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-jobtemplate.html#cfn-mediaconvert-jobtemplate-name @@ -60,6 +65,9 @@ type JobTemplate struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -80,19 +88,21 @@ func (r *JobTemplate) AWSCloudFormationType() string { func (r JobTemplate) MarshalJSON() ([]byte, error) { type Properties JobTemplate return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -101,12 +111,13 @@ func (r JobTemplate) MarshalJSON() ([]byte, error) { func (r *JobTemplate) UnmarshalJSON(b []byte) error { type Properties JobTemplate res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -130,6 +141,9 @@ func (r *JobTemplate) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/mediaconvert/aws-mediaconvert-jobtemplate_accelerationsettings.go b/cloudformation/mediaconvert/aws-mediaconvert-jobtemplate_accelerationsettings.go index 2bc9b918b1..829c804b83 100644 --- a/cloudformation/mediaconvert/aws-mediaconvert-jobtemplate_accelerationsettings.go +++ b/cloudformation/mediaconvert/aws-mediaconvert-jobtemplate_accelerationsettings.go @@ -16,6 +16,9 @@ type JobTemplate_AccelerationSettings struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/mediaconvert/aws-mediaconvert-jobtemplate_hopdestination.go b/cloudformation/mediaconvert/aws-mediaconvert-jobtemplate_hopdestination.go new file mode 100644 index 0000000000..d407656eed --- /dev/null +++ b/cloudformation/mediaconvert/aws-mediaconvert-jobtemplate_hopdestination.go @@ -0,0 +1,45 @@ +package mediaconvert + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// JobTemplate_HopDestination AWS CloudFormation Resource (AWS::MediaConvert::JobTemplate.HopDestination) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconvert-jobtemplate-hopdestination.html +type JobTemplate_HopDestination struct { + + // Priority AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconvert-jobtemplate-hopdestination.html#cfn-mediaconvert-jobtemplate-hopdestination-priority + Priority int `json:"Priority,omitempty"` + + // Queue AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconvert-jobtemplate-hopdestination.html#cfn-mediaconvert-jobtemplate-hopdestination-queue + Queue string `json:"Queue,omitempty"` + + // WaitMinutes AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconvert-jobtemplate-hopdestination.html#cfn-mediaconvert-jobtemplate-hopdestination-waitminutes + WaitMinutes int `json:"WaitMinutes,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *JobTemplate_HopDestination) AWSCloudFormationType() string { + return "AWS::MediaConvert::JobTemplate.HopDestination" +} diff --git a/cloudformation/mediaconvert/aws-mediaconvert-preset.go b/cloudformation/mediaconvert/aws-mediaconvert-preset.go index eca900706c..b95f577b1e 100644 --- a/cloudformation/mediaconvert/aws-mediaconvert-preset.go +++ b/cloudformation/mediaconvert/aws-mediaconvert-preset.go @@ -40,6 +40,9 @@ type Preset struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -60,19 +63,21 @@ func (r *Preset) AWSCloudFormationType() string { func (r Preset) MarshalJSON() ([]byte, error) { type Properties Preset return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -81,12 +86,13 @@ func (r Preset) MarshalJSON() ([]byte, error) { func (r *Preset) UnmarshalJSON(b []byte) error { type Properties Preset res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -110,6 +116,9 @@ func (r *Preset) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/mediaconvert/aws-mediaconvert-queue.go b/cloudformation/mediaconvert/aws-mediaconvert-queue.go index 857dbc3b88..e801a59369 100644 --- a/cloudformation/mediaconvert/aws-mediaconvert-queue.go +++ b/cloudformation/mediaconvert/aws-mediaconvert-queue.go @@ -40,6 +40,9 @@ type Queue struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -60,19 +63,21 @@ func (r *Queue) AWSCloudFormationType() string { func (r Queue) MarshalJSON() ([]byte, error) { type Properties Queue return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -81,12 +86,13 @@ func (r Queue) MarshalJSON() ([]byte, error) { func (r *Queue) UnmarshalJSON(b []byte) error { type Properties Queue res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -110,6 +116,9 @@ func (r *Queue) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/medialive/aws-medialive-channel.go b/cloudformation/medialive/aws-medialive-channel.go index 1f9d64c0c2..bde5afa267 100644 --- a/cloudformation/medialive/aws-medialive-channel.go +++ b/cloudformation/medialive/aws-medialive-channel.go @@ -60,6 +60,9 @@ type Channel struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -80,19 +83,21 @@ func (r *Channel) AWSCloudFormationType() string { func (r Channel) MarshalJSON() ([]byte, error) { type Properties Channel return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -101,12 +106,13 @@ func (r Channel) MarshalJSON() ([]byte, error) { func (r *Channel) UnmarshalJSON(b []byte) error { type Properties Channel res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -130,6 +136,9 @@ func (r *Channel) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/medialive/aws-medialive-channel_aribsourcesettings.go b/cloudformation/medialive/aws-medialive-channel_aribsourcesettings.go index 6e876a6eb7..67d2ed2b29 100644 --- a/cloudformation/medialive/aws-medialive-channel_aribsourcesettings.go +++ b/cloudformation/medialive/aws-medialive-channel_aribsourcesettings.go @@ -11,6 +11,9 @@ type Channel_AribSourceSettings struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/medialive/aws-medialive-channel_audiolanguageselection.go b/cloudformation/medialive/aws-medialive-channel_audiolanguageselection.go index 84b4c6eb26..a99fd99f0f 100644 --- a/cloudformation/medialive/aws-medialive-channel_audiolanguageselection.go +++ b/cloudformation/medialive/aws-medialive-channel_audiolanguageselection.go @@ -21,6 +21,9 @@ type Channel_AudioLanguageSelection struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/medialive/aws-medialive-channel_audiopidselection.go b/cloudformation/medialive/aws-medialive-channel_audiopidselection.go index 31b7ec6212..8356c1c6a7 100644 --- a/cloudformation/medialive/aws-medialive-channel_audiopidselection.go +++ b/cloudformation/medialive/aws-medialive-channel_audiopidselection.go @@ -16,6 +16,9 @@ type Channel_AudioPidSelection struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/medialive/aws-medialive-channel_audioselector.go b/cloudformation/medialive/aws-medialive-channel_audioselector.go index 57872aca04..533f604c7f 100644 --- a/cloudformation/medialive/aws-medialive-channel_audioselector.go +++ b/cloudformation/medialive/aws-medialive-channel_audioselector.go @@ -21,6 +21,9 @@ type Channel_AudioSelector struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/medialive/aws-medialive-channel_audioselectorsettings.go b/cloudformation/medialive/aws-medialive-channel_audioselectorsettings.go index 97aaf8f919..f94e830fb6 100644 --- a/cloudformation/medialive/aws-medialive-channel_audioselectorsettings.go +++ b/cloudformation/medialive/aws-medialive-channel_audioselectorsettings.go @@ -21,6 +21,9 @@ type Channel_AudioSelectorSettings struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/medialive/aws-medialive-channel_captionselector.go b/cloudformation/medialive/aws-medialive-channel_captionselector.go index 898592c3b6..9853c32e52 100644 --- a/cloudformation/medialive/aws-medialive-channel_captionselector.go +++ b/cloudformation/medialive/aws-medialive-channel_captionselector.go @@ -26,6 +26,9 @@ type Channel_CaptionSelector struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/medialive/aws-medialive-channel_captionselectorsettings.go b/cloudformation/medialive/aws-medialive-channel_captionselectorsettings.go index 5f695029f5..a763eddebd 100644 --- a/cloudformation/medialive/aws-medialive-channel_captionselectorsettings.go +++ b/cloudformation/medialive/aws-medialive-channel_captionselectorsettings.go @@ -41,6 +41,9 @@ type Channel_CaptionSelectorSettings struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/medialive/aws-medialive-channel_dvbsubsourcesettings.go b/cloudformation/medialive/aws-medialive-channel_dvbsubsourcesettings.go index 75eb0ed1fb..8b5be4505f 100644 --- a/cloudformation/medialive/aws-medialive-channel_dvbsubsourcesettings.go +++ b/cloudformation/medialive/aws-medialive-channel_dvbsubsourcesettings.go @@ -16,6 +16,9 @@ type Channel_DvbSubSourceSettings struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/medialive/aws-medialive-channel_embeddedsourcesettings.go b/cloudformation/medialive/aws-medialive-channel_embeddedsourcesettings.go index 1d4d3ce02e..389a698771 100644 --- a/cloudformation/medialive/aws-medialive-channel_embeddedsourcesettings.go +++ b/cloudformation/medialive/aws-medialive-channel_embeddedsourcesettings.go @@ -31,6 +31,9 @@ type Channel_EmbeddedSourceSettings struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/medialive/aws-medialive-channel_hlsinputsettings.go b/cloudformation/medialive/aws-medialive-channel_hlsinputsettings.go index dbb200dbe1..19ba0dfd24 100644 --- a/cloudformation/medialive/aws-medialive-channel_hlsinputsettings.go +++ b/cloudformation/medialive/aws-medialive-channel_hlsinputsettings.go @@ -31,6 +31,9 @@ type Channel_HlsInputSettings struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/medialive/aws-medialive-channel_inputattachment.go b/cloudformation/medialive/aws-medialive-channel_inputattachment.go index ad1b49f997..8206760be2 100644 --- a/cloudformation/medialive/aws-medialive-channel_inputattachment.go +++ b/cloudformation/medialive/aws-medialive-channel_inputattachment.go @@ -26,6 +26,9 @@ type Channel_InputAttachment struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/medialive/aws-medialive-channel_inputsettings.go b/cloudformation/medialive/aws-medialive-channel_inputsettings.go index d7042f194d..4c3c51f966 100644 --- a/cloudformation/medialive/aws-medialive-channel_inputsettings.go +++ b/cloudformation/medialive/aws-medialive-channel_inputsettings.go @@ -56,6 +56,9 @@ type Channel_InputSettings struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/medialive/aws-medialive-channel_inputspecification.go b/cloudformation/medialive/aws-medialive-channel_inputspecification.go index cf568bee22..4229be9386 100644 --- a/cloudformation/medialive/aws-medialive-channel_inputspecification.go +++ b/cloudformation/medialive/aws-medialive-channel_inputspecification.go @@ -26,6 +26,9 @@ type Channel_InputSpecification struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/medialive/aws-medialive-channel_mediapackageoutputdestinationsettings.go b/cloudformation/medialive/aws-medialive-channel_mediapackageoutputdestinationsettings.go index 669b360dcb..554b732f5d 100644 --- a/cloudformation/medialive/aws-medialive-channel_mediapackageoutputdestinationsettings.go +++ b/cloudformation/medialive/aws-medialive-channel_mediapackageoutputdestinationsettings.go @@ -16,6 +16,9 @@ type Channel_MediaPackageOutputDestinationSettings struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/medialive/aws-medialive-channel_multiplexprogramchanneldestinationsettings.go b/cloudformation/medialive/aws-medialive-channel_multiplexprogramchanneldestinationsettings.go index 6fef4f55e7..6b2331b951 100644 --- a/cloudformation/medialive/aws-medialive-channel_multiplexprogramchanneldestinationsettings.go +++ b/cloudformation/medialive/aws-medialive-channel_multiplexprogramchanneldestinationsettings.go @@ -21,6 +21,9 @@ type Channel_MultiplexProgramChannelDestinationSettings struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/medialive/aws-medialive-channel_networkinputsettings.go b/cloudformation/medialive/aws-medialive-channel_networkinputsettings.go index 33b2d7e746..5a8baf2f34 100644 --- a/cloudformation/medialive/aws-medialive-channel_networkinputsettings.go +++ b/cloudformation/medialive/aws-medialive-channel_networkinputsettings.go @@ -21,6 +21,9 @@ type Channel_NetworkInputSettings struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/medialive/aws-medialive-channel_outputdestination.go b/cloudformation/medialive/aws-medialive-channel_outputdestination.go index cd92198397..36a305e721 100644 --- a/cloudformation/medialive/aws-medialive-channel_outputdestination.go +++ b/cloudformation/medialive/aws-medialive-channel_outputdestination.go @@ -31,6 +31,9 @@ type Channel_OutputDestination struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/medialive/aws-medialive-channel_outputdestinationsettings.go b/cloudformation/medialive/aws-medialive-channel_outputdestinationsettings.go index 5d61c27367..e33cb4c389 100644 --- a/cloudformation/medialive/aws-medialive-channel_outputdestinationsettings.go +++ b/cloudformation/medialive/aws-medialive-channel_outputdestinationsettings.go @@ -31,6 +31,9 @@ type Channel_OutputDestinationSettings struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/medialive/aws-medialive-channel_scte20sourcesettings.go b/cloudformation/medialive/aws-medialive-channel_scte20sourcesettings.go index 8924300739..e606dfd719 100644 --- a/cloudformation/medialive/aws-medialive-channel_scte20sourcesettings.go +++ b/cloudformation/medialive/aws-medialive-channel_scte20sourcesettings.go @@ -21,6 +21,9 @@ type Channel_Scte20SourceSettings struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/medialive/aws-medialive-channel_scte27sourcesettings.go b/cloudformation/medialive/aws-medialive-channel_scte27sourcesettings.go index 4033a85fdd..60741e19fc 100644 --- a/cloudformation/medialive/aws-medialive-channel_scte27sourcesettings.go +++ b/cloudformation/medialive/aws-medialive-channel_scte27sourcesettings.go @@ -16,6 +16,9 @@ type Channel_Scte27SourceSettings struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/medialive/aws-medialive-channel_teletextsourcesettings.go b/cloudformation/medialive/aws-medialive-channel_teletextsourcesettings.go index 7626cf6014..eb1f6267a8 100644 --- a/cloudformation/medialive/aws-medialive-channel_teletextsourcesettings.go +++ b/cloudformation/medialive/aws-medialive-channel_teletextsourcesettings.go @@ -16,6 +16,9 @@ type Channel_TeletextSourceSettings struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/medialive/aws-medialive-channel_videoselector.go b/cloudformation/medialive/aws-medialive-channel_videoselector.go index 1002abb66f..fe2dc4109c 100644 --- a/cloudformation/medialive/aws-medialive-channel_videoselector.go +++ b/cloudformation/medialive/aws-medialive-channel_videoselector.go @@ -26,6 +26,9 @@ type Channel_VideoSelector struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/medialive/aws-medialive-channel_videoselectorpid.go b/cloudformation/medialive/aws-medialive-channel_videoselectorpid.go index ff1c4da67e..9ac42d3111 100644 --- a/cloudformation/medialive/aws-medialive-channel_videoselectorpid.go +++ b/cloudformation/medialive/aws-medialive-channel_videoselectorpid.go @@ -16,6 +16,9 @@ type Channel_VideoSelectorPid struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/medialive/aws-medialive-channel_videoselectorprogramid.go b/cloudformation/medialive/aws-medialive-channel_videoselectorprogramid.go index 0ebc2a9749..efb98b3b8a 100644 --- a/cloudformation/medialive/aws-medialive-channel_videoselectorprogramid.go +++ b/cloudformation/medialive/aws-medialive-channel_videoselectorprogramid.go @@ -16,6 +16,9 @@ type Channel_VideoSelectorProgramId struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/medialive/aws-medialive-channel_videoselectorsettings.go b/cloudformation/medialive/aws-medialive-channel_videoselectorsettings.go index 12b0567fc0..b02c296a5f 100644 --- a/cloudformation/medialive/aws-medialive-channel_videoselectorsettings.go +++ b/cloudformation/medialive/aws-medialive-channel_videoselectorsettings.go @@ -21,6 +21,9 @@ type Channel_VideoSelectorSettings struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/medialive/aws-medialive-input.go b/cloudformation/medialive/aws-medialive-input.go index 3a27c7980c..f14dd048a0 100644 --- a/cloudformation/medialive/aws-medialive-input.go +++ b/cloudformation/medialive/aws-medialive-input.go @@ -60,6 +60,9 @@ type Input struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -80,19 +83,21 @@ func (r *Input) AWSCloudFormationType() string { func (r Input) MarshalJSON() ([]byte, error) { type Properties Input return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -101,12 +106,13 @@ func (r Input) MarshalJSON() ([]byte, error) { func (r *Input) UnmarshalJSON(b []byte) error { type Properties Input res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -130,6 +136,9 @@ func (r *Input) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/medialive/aws-medialive-input_inputdestinationrequest.go b/cloudformation/medialive/aws-medialive-input_inputdestinationrequest.go index 3d6f832199..4dbca5d419 100644 --- a/cloudformation/medialive/aws-medialive-input_inputdestinationrequest.go +++ b/cloudformation/medialive/aws-medialive-input_inputdestinationrequest.go @@ -16,6 +16,9 @@ type Input_InputDestinationRequest struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/medialive/aws-medialive-input_inputsourcerequest.go b/cloudformation/medialive/aws-medialive-input_inputsourcerequest.go index 643a96ae87..c73283ed96 100644 --- a/cloudformation/medialive/aws-medialive-input_inputsourcerequest.go +++ b/cloudformation/medialive/aws-medialive-input_inputsourcerequest.go @@ -26,6 +26,9 @@ type Input_InputSourceRequest struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/medialive/aws-medialive-input_inputvpcrequest.go b/cloudformation/medialive/aws-medialive-input_inputvpcrequest.go index 5d4374146d..5258609c12 100644 --- a/cloudformation/medialive/aws-medialive-input_inputvpcrequest.go +++ b/cloudformation/medialive/aws-medialive-input_inputvpcrequest.go @@ -21,6 +21,9 @@ type Input_InputVpcRequest struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/medialive/aws-medialive-input_mediaconnectflowrequest.go b/cloudformation/medialive/aws-medialive-input_mediaconnectflowrequest.go index 48313051c8..e8e3978d34 100644 --- a/cloudformation/medialive/aws-medialive-input_mediaconnectflowrequest.go +++ b/cloudformation/medialive/aws-medialive-input_mediaconnectflowrequest.go @@ -16,6 +16,9 @@ type Input_MediaConnectFlowRequest struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/medialive/aws-medialive-inputsecuritygroup.go b/cloudformation/medialive/aws-medialive-inputsecuritygroup.go index b01017d933..10040afe72 100644 --- a/cloudformation/medialive/aws-medialive-inputsecuritygroup.go +++ b/cloudformation/medialive/aws-medialive-inputsecuritygroup.go @@ -25,6 +25,9 @@ type InputSecurityGroup struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *InputSecurityGroup) AWSCloudFormationType() string { func (r InputSecurityGroup) MarshalJSON() ([]byte, error) { type Properties InputSecurityGroup return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r InputSecurityGroup) MarshalJSON() ([]byte, error) { func (r *InputSecurityGroup) UnmarshalJSON(b []byte) error { type Properties InputSecurityGroup res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *InputSecurityGroup) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/medialive/aws-medialive-inputsecuritygroup_inputwhitelistrulecidr.go b/cloudformation/medialive/aws-medialive-inputsecuritygroup_inputwhitelistrulecidr.go index 6e3b8887ee..d345da559e 100644 --- a/cloudformation/medialive/aws-medialive-inputsecuritygroup_inputwhitelistrulecidr.go +++ b/cloudformation/medialive/aws-medialive-inputsecuritygroup_inputwhitelistrulecidr.go @@ -16,6 +16,9 @@ type InputSecurityGroup_InputWhitelistRuleCidr struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/mediastore/aws-mediastore-container.go b/cloudformation/mediastore/aws-mediastore-container.go index 7cc8626f4d..51e19effb3 100644 --- a/cloudformation/mediastore/aws-mediastore-container.go +++ b/cloudformation/mediastore/aws-mediastore-container.go @@ -6,6 +6,7 @@ import ( "fmt" "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" ) // Container AWS CloudFormation Resource (AWS::MediaStore::Container) @@ -32,14 +33,27 @@ type Container struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediastore-container.html#cfn-mediastore-container-lifecyclepolicy LifecyclePolicy string `json:"LifecyclePolicy,omitempty"` + // MetricPolicy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediastore-container.html#cfn-mediastore-container-metricpolicy + MetricPolicy *Container_MetricPolicy `json:"MetricPolicy,omitempty"` + // Policy AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediastore-container.html#cfn-mediastore-container-policy Policy string `json:"Policy,omitempty"` + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediastore-container.html#cfn-mediastore-container-tags + Tags []tags.Tag `json:"Tags,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -60,19 +74,21 @@ func (r *Container) AWSCloudFormationType() string { func (r Container) MarshalJSON() ([]byte, error) { type Properties Container return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -81,12 +97,13 @@ func (r Container) MarshalJSON() ([]byte, error) { func (r *Container) UnmarshalJSON(b []byte) error { type Properties Container res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -110,6 +127,9 @@ func (r *Container) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/mediastore/aws-mediastore-container_corsrule.go b/cloudformation/mediastore/aws-mediastore-container_corsrule.go index 20a8cf5b30..e3d2db33c8 100644 --- a/cloudformation/mediastore/aws-mediastore-container_corsrule.go +++ b/cloudformation/mediastore/aws-mediastore-container_corsrule.go @@ -36,6 +36,9 @@ type Container_CorsRule struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/mediastore/aws-mediastore-container_metricpolicy.go b/cloudformation/mediastore/aws-mediastore-container_metricpolicy.go new file mode 100644 index 0000000000..7116563d36 --- /dev/null +++ b/cloudformation/mediastore/aws-mediastore-container_metricpolicy.go @@ -0,0 +1,40 @@ +package mediastore + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Container_MetricPolicy AWS CloudFormation Resource (AWS::MediaStore::Container.MetricPolicy) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediastore-container-metricpolicy.html +type Container_MetricPolicy struct { + + // ContainerLevelMetrics AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediastore-container-metricpolicy.html#cfn-mediastore-container-metricpolicy-containerlevelmetrics + ContainerLevelMetrics string `json:"ContainerLevelMetrics,omitempty"` + + // MetricPolicyRules AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediastore-container-metricpolicy.html#cfn-mediastore-container-metricpolicy-metricpolicyrules + MetricPolicyRules []Container_MetricPolicyRule `json:"MetricPolicyRules,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Container_MetricPolicy) AWSCloudFormationType() string { + return "AWS::MediaStore::Container.MetricPolicy" +} diff --git a/cloudformation/mediastore/aws-mediastore-container_metricpolicyrule.go b/cloudformation/mediastore/aws-mediastore-container_metricpolicyrule.go new file mode 100644 index 0000000000..deb50da5d2 --- /dev/null +++ b/cloudformation/mediastore/aws-mediastore-container_metricpolicyrule.go @@ -0,0 +1,40 @@ +package mediastore + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Container_MetricPolicyRule AWS CloudFormation Resource (AWS::MediaStore::Container.MetricPolicyRule) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediastore-container-metricpolicyrule.html +type Container_MetricPolicyRule struct { + + // ObjectGroup AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediastore-container-metricpolicyrule.html#cfn-mediastore-container-metricpolicyrule-objectgroup + ObjectGroup string `json:"ObjectGroup,omitempty"` + + // ObjectGroupName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediastore-container-metricpolicyrule.html#cfn-mediastore-container-metricpolicyrule-objectgroupname + ObjectGroupName string `json:"ObjectGroupName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Container_MetricPolicyRule) AWSCloudFormationType() string { + return "AWS::MediaStore::Container.MetricPolicyRule" +} diff --git a/cloudformation/msk/aws-msk-cluster.go b/cloudformation/msk/aws-msk-cluster.go index dc8ba78671..4208ae677d 100644 --- a/cloudformation/msk/aws-msk-cluster.go +++ b/cloudformation/msk/aws-msk-cluster.go @@ -47,6 +47,11 @@ type Cluster struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-kafkaversion KafkaVersion string `json:"KafkaVersion,omitempty"` + // LoggingInfo AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-logginginfo + LoggingInfo *Cluster_LoggingInfo `json:"LoggingInfo,omitempty"` + // NumberOfBrokerNodes AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-numberofbrokernodes @@ -65,6 +70,9 @@ type Cluster struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -85,19 +93,21 @@ func (r *Cluster) AWSCloudFormationType() string { func (r Cluster) MarshalJSON() ([]byte, error) { type Properties Cluster return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -106,12 +116,13 @@ func (r Cluster) MarshalJSON() ([]byte, error) { func (r *Cluster) UnmarshalJSON(b []byte) error { type Properties Cluster res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -135,6 +146,9 @@ func (r *Cluster) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/msk/aws-msk-cluster_brokerlogs.go b/cloudformation/msk/aws-msk-cluster_brokerlogs.go new file mode 100644 index 0000000000..b2ff0b49a6 --- /dev/null +++ b/cloudformation/msk/aws-msk-cluster_brokerlogs.go @@ -0,0 +1,45 @@ +package msk + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Cluster_BrokerLogs AWS CloudFormation Resource (AWS::MSK::Cluster.BrokerLogs) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokerlogs.html +type Cluster_BrokerLogs struct { + + // CloudWatchLogs AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokerlogs.html#cfn-msk-cluster-brokerlogs-cloudwatchlogs + CloudWatchLogs *Cluster_CloudWatchLogs `json:"CloudWatchLogs,omitempty"` + + // Firehose AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokerlogs.html#cfn-msk-cluster-brokerlogs-firehose + Firehose *Cluster_Firehose `json:"Firehose,omitempty"` + + // S3 AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokerlogs.html#cfn-msk-cluster-brokerlogs-s3 + S3 *Cluster_S3 `json:"S3,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Cluster_BrokerLogs) AWSCloudFormationType() string { + return "AWS::MSK::Cluster.BrokerLogs" +} diff --git a/cloudformation/msk/aws-msk-cluster_brokernodegroupinfo.go b/cloudformation/msk/aws-msk-cluster_brokernodegroupinfo.go index 8822b14b6e..f4663ae488 100644 --- a/cloudformation/msk/aws-msk-cluster_brokernodegroupinfo.go +++ b/cloudformation/msk/aws-msk-cluster_brokernodegroupinfo.go @@ -36,6 +36,9 @@ type Cluster_BrokerNodeGroupInfo struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/msk/aws-msk-cluster_clientauthentication.go b/cloudformation/msk/aws-msk-cluster_clientauthentication.go index 54df6d4f5b..c4049d387c 100644 --- a/cloudformation/msk/aws-msk-cluster_clientauthentication.go +++ b/cloudformation/msk/aws-msk-cluster_clientauthentication.go @@ -16,6 +16,9 @@ type Cluster_ClientAuthentication struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/msk/aws-msk-cluster_cloudwatchlogs.go b/cloudformation/msk/aws-msk-cluster_cloudwatchlogs.go new file mode 100644 index 0000000000..75447286e7 --- /dev/null +++ b/cloudformation/msk/aws-msk-cluster_cloudwatchlogs.go @@ -0,0 +1,40 @@ +package msk + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Cluster_CloudWatchLogs AWS CloudFormation Resource (AWS::MSK::Cluster.CloudWatchLogs) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-cloudwatchlogs.html +type Cluster_CloudWatchLogs struct { + + // Enabled AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-cloudwatchlogs.html#cfn-msk-cluster-cloudwatchlogs-enabled + Enabled bool `json:"Enabled"` + + // LogGroup AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-cloudwatchlogs.html#cfn-msk-cluster-cloudwatchlogs-loggroup + LogGroup string `json:"LogGroup,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Cluster_CloudWatchLogs) AWSCloudFormationType() string { + return "AWS::MSK::Cluster.CloudWatchLogs" +} diff --git a/cloudformation/msk/aws-msk-cluster_configurationinfo.go b/cloudformation/msk/aws-msk-cluster_configurationinfo.go index ad31cd0ce8..de5743214a 100644 --- a/cloudformation/msk/aws-msk-cluster_configurationinfo.go +++ b/cloudformation/msk/aws-msk-cluster_configurationinfo.go @@ -21,6 +21,9 @@ type Cluster_ConfigurationInfo struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/msk/aws-msk-cluster_ebsstorageinfo.go b/cloudformation/msk/aws-msk-cluster_ebsstorageinfo.go index 0dd39cdda2..e4fa1910ea 100644 --- a/cloudformation/msk/aws-msk-cluster_ebsstorageinfo.go +++ b/cloudformation/msk/aws-msk-cluster_ebsstorageinfo.go @@ -16,6 +16,9 @@ type Cluster_EBSStorageInfo struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/msk/aws-msk-cluster_encryptionatrest.go b/cloudformation/msk/aws-msk-cluster_encryptionatrest.go index 242f9aab15..14aaf48b36 100644 --- a/cloudformation/msk/aws-msk-cluster_encryptionatrest.go +++ b/cloudformation/msk/aws-msk-cluster_encryptionatrest.go @@ -16,6 +16,9 @@ type Cluster_EncryptionAtRest struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/msk/aws-msk-cluster_encryptioninfo.go b/cloudformation/msk/aws-msk-cluster_encryptioninfo.go index 38c2e754bf..e98ed6e37e 100644 --- a/cloudformation/msk/aws-msk-cluster_encryptioninfo.go +++ b/cloudformation/msk/aws-msk-cluster_encryptioninfo.go @@ -21,6 +21,9 @@ type Cluster_EncryptionInfo struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/msk/aws-msk-cluster_encryptionintransit.go b/cloudformation/msk/aws-msk-cluster_encryptionintransit.go index 1b5d30721f..d57d3b73c7 100644 --- a/cloudformation/msk/aws-msk-cluster_encryptionintransit.go +++ b/cloudformation/msk/aws-msk-cluster_encryptionintransit.go @@ -21,6 +21,9 @@ type Cluster_EncryptionInTransit struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/msk/aws-msk-cluster_firehose.go b/cloudformation/msk/aws-msk-cluster_firehose.go new file mode 100644 index 0000000000..ddc0c90b70 --- /dev/null +++ b/cloudformation/msk/aws-msk-cluster_firehose.go @@ -0,0 +1,40 @@ +package msk + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Cluster_Firehose AWS CloudFormation Resource (AWS::MSK::Cluster.Firehose) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-firehose.html +type Cluster_Firehose struct { + + // DeliveryStream AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-firehose.html#cfn-msk-cluster-firehose-deliverystream + DeliveryStream string `json:"DeliveryStream,omitempty"` + + // Enabled AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-firehose.html#cfn-msk-cluster-firehose-enabled + Enabled bool `json:"Enabled"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Cluster_Firehose) AWSCloudFormationType() string { + return "AWS::MSK::Cluster.Firehose" +} diff --git a/cloudformation/msk/aws-msk-cluster_jmxexporter.go b/cloudformation/msk/aws-msk-cluster_jmxexporter.go index 501e90ae37..7421251ed0 100644 --- a/cloudformation/msk/aws-msk-cluster_jmxexporter.go +++ b/cloudformation/msk/aws-msk-cluster_jmxexporter.go @@ -16,6 +16,9 @@ type Cluster_JmxExporter struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/msk/aws-msk-cluster_logginginfo.go b/cloudformation/msk/aws-msk-cluster_logginginfo.go new file mode 100644 index 0000000000..6cb65e2110 --- /dev/null +++ b/cloudformation/msk/aws-msk-cluster_logginginfo.go @@ -0,0 +1,35 @@ +package msk + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Cluster_LoggingInfo AWS CloudFormation Resource (AWS::MSK::Cluster.LoggingInfo) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-logginginfo.html +type Cluster_LoggingInfo struct { + + // BrokerLogs AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-logginginfo.html#cfn-msk-cluster-logginginfo-brokerlogs + BrokerLogs *Cluster_BrokerLogs `json:"BrokerLogs,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Cluster_LoggingInfo) AWSCloudFormationType() string { + return "AWS::MSK::Cluster.LoggingInfo" +} diff --git a/cloudformation/msk/aws-msk-cluster_nodeexporter.go b/cloudformation/msk/aws-msk-cluster_nodeexporter.go index 8b4cdbf84a..c1c63340e5 100644 --- a/cloudformation/msk/aws-msk-cluster_nodeexporter.go +++ b/cloudformation/msk/aws-msk-cluster_nodeexporter.go @@ -16,6 +16,9 @@ type Cluster_NodeExporter struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/msk/aws-msk-cluster_openmonitoring.go b/cloudformation/msk/aws-msk-cluster_openmonitoring.go index 00f44e0209..5e6d5ab4f5 100644 --- a/cloudformation/msk/aws-msk-cluster_openmonitoring.go +++ b/cloudformation/msk/aws-msk-cluster_openmonitoring.go @@ -16,6 +16,9 @@ type Cluster_OpenMonitoring struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/msk/aws-msk-cluster_prometheus.go b/cloudformation/msk/aws-msk-cluster_prometheus.go index e4ae6aaf86..0f9ac6cb91 100644 --- a/cloudformation/msk/aws-msk-cluster_prometheus.go +++ b/cloudformation/msk/aws-msk-cluster_prometheus.go @@ -21,6 +21,9 @@ type Cluster_Prometheus struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/msk/aws-msk-cluster_s3.go b/cloudformation/msk/aws-msk-cluster_s3.go new file mode 100644 index 0000000000..324cb2f69a --- /dev/null +++ b/cloudformation/msk/aws-msk-cluster_s3.go @@ -0,0 +1,45 @@ +package msk + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Cluster_S3 AWS CloudFormation Resource (AWS::MSK::Cluster.S3) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-s3.html +type Cluster_S3 struct { + + // Bucket AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-s3.html#cfn-msk-cluster-s3-bucket + Bucket string `json:"Bucket,omitempty"` + + // Enabled AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-s3.html#cfn-msk-cluster-s3-enabled + Enabled bool `json:"Enabled"` + + // Prefix AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-s3.html#cfn-msk-cluster-s3-prefix + Prefix string `json:"Prefix,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Cluster_S3) AWSCloudFormationType() string { + return "AWS::MSK::Cluster.S3" +} diff --git a/cloudformation/msk/aws-msk-cluster_storageinfo.go b/cloudformation/msk/aws-msk-cluster_storageinfo.go index d65e08b3b3..e20db08710 100644 --- a/cloudformation/msk/aws-msk-cluster_storageinfo.go +++ b/cloudformation/msk/aws-msk-cluster_storageinfo.go @@ -16,6 +16,9 @@ type Cluster_StorageInfo struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/msk/aws-msk-cluster_tls.go b/cloudformation/msk/aws-msk-cluster_tls.go index 9a018a79e0..f4d37f2f46 100644 --- a/cloudformation/msk/aws-msk-cluster_tls.go +++ b/cloudformation/msk/aws-msk-cluster_tls.go @@ -16,6 +16,9 @@ type Cluster_Tls struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/neptune/aws-neptune-dbcluster.go b/cloudformation/neptune/aws-neptune-dbcluster.go index 9c030185c8..77f169f769 100644 --- a/cloudformation/neptune/aws-neptune-dbcluster.go +++ b/cloudformation/neptune/aws-neptune-dbcluster.go @@ -78,11 +78,26 @@ type DBCluster struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-preferredmaintenancewindow PreferredMaintenanceWindow string `json:"PreferredMaintenanceWindow,omitempty"` + // RestoreToTime AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-restoretotime + RestoreToTime string `json:"RestoreToTime,omitempty"` + + // RestoreType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-restoretype + RestoreType string `json:"RestoreType,omitempty"` + // SnapshotIdentifier AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-snapshotidentifier SnapshotIdentifier string `json:"SnapshotIdentifier,omitempty"` + // SourceDBClusterIdentifier AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-sourcedbclusteridentifier + SourceDBClusterIdentifier string `json:"SourceDBClusterIdentifier,omitempty"` + // StorageEncrypted AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-storageencrypted @@ -93,6 +108,11 @@ type DBCluster struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-tags Tags []tags.Tag `json:"Tags,omitempty"` + // UseLatestRestorableTime AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-uselatestrestorabletime + UseLatestRestorableTime bool `json:"UseLatestRestorableTime,omitempty"` + // VpcSecurityGroupIds AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-vpcsecuritygroupids @@ -101,6 +121,9 @@ type DBCluster struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -121,19 +144,21 @@ func (r *DBCluster) AWSCloudFormationType() string { func (r DBCluster) MarshalJSON() ([]byte, error) { type Properties DBCluster return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -142,12 +167,13 @@ func (r DBCluster) MarshalJSON() ([]byte, error) { func (r *DBCluster) UnmarshalJSON(b []byte) error { type Properties DBCluster res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -171,6 +197,9 @@ func (r *DBCluster) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/neptune/aws-neptune-dbclusterparametergroup.go b/cloudformation/neptune/aws-neptune-dbclusterparametergroup.go index ac829e3836..d55e8e90f3 100644 --- a/cloudformation/neptune/aws-neptune-dbclusterparametergroup.go +++ b/cloudformation/neptune/aws-neptune-dbclusterparametergroup.go @@ -41,6 +41,9 @@ type DBClusterParameterGroup struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -61,19 +64,21 @@ func (r *DBClusterParameterGroup) AWSCloudFormationType() string { func (r DBClusterParameterGroup) MarshalJSON() ([]byte, error) { type Properties DBClusterParameterGroup return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -82,12 +87,13 @@ func (r DBClusterParameterGroup) MarshalJSON() ([]byte, error) { func (r *DBClusterParameterGroup) UnmarshalJSON(b []byte) error { type Properties DBClusterParameterGroup res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -111,6 +117,9 @@ func (r *DBClusterParameterGroup) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/neptune/aws-neptune-dbinstance.go b/cloudformation/neptune/aws-neptune-dbinstance.go index e259436957..e76053b681 100644 --- a/cloudformation/neptune/aws-neptune-dbinstance.go +++ b/cloudformation/neptune/aws-neptune-dbinstance.go @@ -71,6 +71,9 @@ type DBInstance struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -91,19 +94,21 @@ func (r *DBInstance) AWSCloudFormationType() string { func (r DBInstance) MarshalJSON() ([]byte, error) { type Properties DBInstance return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -112,12 +117,13 @@ func (r DBInstance) MarshalJSON() ([]byte, error) { func (r *DBInstance) UnmarshalJSON(b []byte) error { type Properties DBInstance res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -141,6 +147,9 @@ func (r *DBInstance) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/neptune/aws-neptune-dbparametergroup.go b/cloudformation/neptune/aws-neptune-dbparametergroup.go index e1135cc7bd..e8bdb3181e 100644 --- a/cloudformation/neptune/aws-neptune-dbparametergroup.go +++ b/cloudformation/neptune/aws-neptune-dbparametergroup.go @@ -41,6 +41,9 @@ type DBParameterGroup struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -61,19 +64,21 @@ func (r *DBParameterGroup) AWSCloudFormationType() string { func (r DBParameterGroup) MarshalJSON() ([]byte, error) { type Properties DBParameterGroup return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -82,12 +87,13 @@ func (r DBParameterGroup) MarshalJSON() ([]byte, error) { func (r *DBParameterGroup) UnmarshalJSON(b []byte) error { type Properties DBParameterGroup res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -111,6 +117,9 @@ func (r *DBParameterGroup) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/neptune/aws-neptune-dbsubnetgroup.go b/cloudformation/neptune/aws-neptune-dbsubnetgroup.go index 35f27d42f8..6018e569bf 100644 --- a/cloudformation/neptune/aws-neptune-dbsubnetgroup.go +++ b/cloudformation/neptune/aws-neptune-dbsubnetgroup.go @@ -36,6 +36,9 @@ type DBSubnetGroup struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -56,19 +59,21 @@ func (r *DBSubnetGroup) AWSCloudFormationType() string { func (r DBSubnetGroup) MarshalJSON() ([]byte, error) { type Properties DBSubnetGroup return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -77,12 +82,13 @@ func (r DBSubnetGroup) MarshalJSON() ([]byte, error) { func (r *DBSubnetGroup) UnmarshalJSON(b []byte) error { type Properties DBSubnetGroup res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -106,6 +112,9 @@ func (r *DBSubnetGroup) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/networkmanager/aws-networkmanager-customergatewayassociation.go b/cloudformation/networkmanager/aws-networkmanager-customergatewayassociation.go new file mode 100644 index 0000000000..5159ae482c --- /dev/null +++ b/cloudformation/networkmanager/aws-networkmanager-customergatewayassociation.go @@ -0,0 +1,121 @@ +package networkmanager + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// CustomerGatewayAssociation AWS CloudFormation Resource (AWS::NetworkManager::CustomerGatewayAssociation) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-customergatewayassociation.html +type CustomerGatewayAssociation struct { + + // CustomerGatewayArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-customergatewayassociation.html#cfn-networkmanager-customergatewayassociation-customergatewayarn + CustomerGatewayArn string `json:"CustomerGatewayArn,omitempty"` + + // DeviceId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-customergatewayassociation.html#cfn-networkmanager-customergatewayassociation-deviceid + DeviceId string `json:"DeviceId,omitempty"` + + // GlobalNetworkId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-customergatewayassociation.html#cfn-networkmanager-customergatewayassociation-globalnetworkid + GlobalNetworkId string `json:"GlobalNetworkId,omitempty"` + + // LinkId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-customergatewayassociation.html#cfn-networkmanager-customergatewayassociation-linkid + LinkId string `json:"LinkId,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *CustomerGatewayAssociation) AWSCloudFormationType() string { + return "AWS::NetworkManager::CustomerGatewayAssociation" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r CustomerGatewayAssociation) MarshalJSON() ([]byte, error) { + type Properties CustomerGatewayAssociation + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *CustomerGatewayAssociation) UnmarshalJSON(b []byte) error { + type Properties CustomerGatewayAssociation + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = CustomerGatewayAssociation(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/networkmanager/aws-networkmanager-device.go b/cloudformation/networkmanager/aws-networkmanager-device.go new file mode 100644 index 0000000000..7d7920e4bf --- /dev/null +++ b/cloudformation/networkmanager/aws-networkmanager-device.go @@ -0,0 +1,147 @@ +package networkmanager + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// Device AWS CloudFormation Resource (AWS::NetworkManager::Device) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html +type Device struct { + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html#cfn-networkmanager-device-description + Description string `json:"Description,omitempty"` + + // GlobalNetworkId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html#cfn-networkmanager-device-globalnetworkid + GlobalNetworkId string `json:"GlobalNetworkId,omitempty"` + + // Location AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html#cfn-networkmanager-device-location + Location *Device_Location `json:"Location,omitempty"` + + // Model AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html#cfn-networkmanager-device-model + Model string `json:"Model,omitempty"` + + // SerialNumber AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html#cfn-networkmanager-device-serialnumber + SerialNumber string `json:"SerialNumber,omitempty"` + + // SiteId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html#cfn-networkmanager-device-siteid + SiteId string `json:"SiteId,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html#cfn-networkmanager-device-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // Type AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html#cfn-networkmanager-device-type + Type string `json:"Type,omitempty"` + + // Vendor AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html#cfn-networkmanager-device-vendor + Vendor string `json:"Vendor,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Device) AWSCloudFormationType() string { + return "AWS::NetworkManager::Device" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r Device) MarshalJSON() ([]byte, error) { + type Properties Device + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *Device) UnmarshalJSON(b []byte) error { + type Properties Device + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = Device(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/networkmanager/aws-networkmanager-device_location.go b/cloudformation/networkmanager/aws-networkmanager-device_location.go new file mode 100644 index 0000000000..03f94869f7 --- /dev/null +++ b/cloudformation/networkmanager/aws-networkmanager-device_location.go @@ -0,0 +1,45 @@ +package networkmanager + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Device_Location AWS CloudFormation Resource (AWS::NetworkManager::Device.Location) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-device-location.html +type Device_Location struct { + + // Address AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-device-location.html#cfn-networkmanager-device-location-address + Address string `json:"Address,omitempty"` + + // Latitude AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-device-location.html#cfn-networkmanager-device-location-latitude + Latitude string `json:"Latitude,omitempty"` + + // Longitude AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-device-location.html#cfn-networkmanager-device-location-longitude + Longitude string `json:"Longitude,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Device_Location) AWSCloudFormationType() string { + return "AWS::NetworkManager::Device.Location" +} diff --git a/cloudformation/networkmanager/aws-networkmanager-globalnetwork.go b/cloudformation/networkmanager/aws-networkmanager-globalnetwork.go new file mode 100644 index 0000000000..3614acf71c --- /dev/null +++ b/cloudformation/networkmanager/aws-networkmanager-globalnetwork.go @@ -0,0 +1,112 @@ +package networkmanager + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// GlobalNetwork AWS CloudFormation Resource (AWS::NetworkManager::GlobalNetwork) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-globalnetwork.html +type GlobalNetwork struct { + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-globalnetwork.html#cfn-networkmanager-globalnetwork-description + Description string `json:"Description,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-globalnetwork.html#cfn-networkmanager-globalnetwork-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *GlobalNetwork) AWSCloudFormationType() string { + return "AWS::NetworkManager::GlobalNetwork" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r GlobalNetwork) MarshalJSON() ([]byte, error) { + type Properties GlobalNetwork + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *GlobalNetwork) UnmarshalJSON(b []byte) error { + type Properties GlobalNetwork + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = GlobalNetwork(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/networkmanager/aws-networkmanager-link.go b/cloudformation/networkmanager/aws-networkmanager-link.go new file mode 100644 index 0000000000..3505ed8149 --- /dev/null +++ b/cloudformation/networkmanager/aws-networkmanager-link.go @@ -0,0 +1,137 @@ +package networkmanager + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// Link AWS CloudFormation Resource (AWS::NetworkManager::Link) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-link.html +type Link struct { + + // Bandwidth AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-link.html#cfn-networkmanager-link-bandwidth + Bandwidth *Link_Bandwidth `json:"Bandwidth,omitempty"` + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-link.html#cfn-networkmanager-link-description + Description string `json:"Description,omitempty"` + + // GlobalNetworkId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-link.html#cfn-networkmanager-link-globalnetworkid + GlobalNetworkId string `json:"GlobalNetworkId,omitempty"` + + // Provider AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-link.html#cfn-networkmanager-link-provider + Provider string `json:"Provider,omitempty"` + + // SiteId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-link.html#cfn-networkmanager-link-siteid + SiteId string `json:"SiteId,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-link.html#cfn-networkmanager-link-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // Type AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-link.html#cfn-networkmanager-link-type + Type string `json:"Type,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Link) AWSCloudFormationType() string { + return "AWS::NetworkManager::Link" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r Link) MarshalJSON() ([]byte, error) { + type Properties Link + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *Link) UnmarshalJSON(b []byte) error { + type Properties Link + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = Link(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/networkmanager/aws-networkmanager-link_bandwidth.go b/cloudformation/networkmanager/aws-networkmanager-link_bandwidth.go new file mode 100644 index 0000000000..73f7a023e3 --- /dev/null +++ b/cloudformation/networkmanager/aws-networkmanager-link_bandwidth.go @@ -0,0 +1,40 @@ +package networkmanager + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Link_Bandwidth AWS CloudFormation Resource (AWS::NetworkManager::Link.Bandwidth) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-link-bandwidth.html +type Link_Bandwidth struct { + + // DownloadSpeed AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-link-bandwidth.html#cfn-networkmanager-link-bandwidth-downloadspeed + DownloadSpeed int `json:"DownloadSpeed,omitempty"` + + // UploadSpeed AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-link-bandwidth.html#cfn-networkmanager-link-bandwidth-uploadspeed + UploadSpeed int `json:"UploadSpeed,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Link_Bandwidth) AWSCloudFormationType() string { + return "AWS::NetworkManager::Link.Bandwidth" +} diff --git a/cloudformation/networkmanager/aws-networkmanager-linkassociation.go b/cloudformation/networkmanager/aws-networkmanager-linkassociation.go new file mode 100644 index 0000000000..d3c26dc3fc --- /dev/null +++ b/cloudformation/networkmanager/aws-networkmanager-linkassociation.go @@ -0,0 +1,116 @@ +package networkmanager + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// LinkAssociation AWS CloudFormation Resource (AWS::NetworkManager::LinkAssociation) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-linkassociation.html +type LinkAssociation struct { + + // DeviceId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-linkassociation.html#cfn-networkmanager-linkassociation-deviceid + DeviceId string `json:"DeviceId,omitempty"` + + // GlobalNetworkId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-linkassociation.html#cfn-networkmanager-linkassociation-globalnetworkid + GlobalNetworkId string `json:"GlobalNetworkId,omitempty"` + + // LinkId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-linkassociation.html#cfn-networkmanager-linkassociation-linkid + LinkId string `json:"LinkId,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *LinkAssociation) AWSCloudFormationType() string { + return "AWS::NetworkManager::LinkAssociation" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r LinkAssociation) MarshalJSON() ([]byte, error) { + type Properties LinkAssociation + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *LinkAssociation) UnmarshalJSON(b []byte) error { + type Properties LinkAssociation + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = LinkAssociation(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/networkmanager/aws-networkmanager-site.go b/cloudformation/networkmanager/aws-networkmanager-site.go new file mode 100644 index 0000000000..c891320471 --- /dev/null +++ b/cloudformation/networkmanager/aws-networkmanager-site.go @@ -0,0 +1,122 @@ +package networkmanager + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// Site AWS CloudFormation Resource (AWS::NetworkManager::Site) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-site.html +type Site struct { + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-site.html#cfn-networkmanager-site-description + Description string `json:"Description,omitempty"` + + // GlobalNetworkId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-site.html#cfn-networkmanager-site-globalnetworkid + GlobalNetworkId string `json:"GlobalNetworkId,omitempty"` + + // Location AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-site.html#cfn-networkmanager-site-location + Location *Site_Location `json:"Location,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-site.html#cfn-networkmanager-site-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Site) AWSCloudFormationType() string { + return "AWS::NetworkManager::Site" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r Site) MarshalJSON() ([]byte, error) { + type Properties Site + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *Site) UnmarshalJSON(b []byte) error { + type Properties Site + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = Site(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/networkmanager/aws-networkmanager-site_location.go b/cloudformation/networkmanager/aws-networkmanager-site_location.go new file mode 100644 index 0000000000..a4664e244f --- /dev/null +++ b/cloudformation/networkmanager/aws-networkmanager-site_location.go @@ -0,0 +1,45 @@ +package networkmanager + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Site_Location AWS CloudFormation Resource (AWS::NetworkManager::Site.Location) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-site-location.html +type Site_Location struct { + + // Address AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-site-location.html#cfn-networkmanager-site-location-address + Address string `json:"Address,omitempty"` + + // Latitude AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-site-location.html#cfn-networkmanager-site-location-latitude + Latitude string `json:"Latitude,omitempty"` + + // Longitude AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-site-location.html#cfn-networkmanager-site-location-longitude + Longitude string `json:"Longitude,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Site_Location) AWSCloudFormationType() string { + return "AWS::NetworkManager::Site.Location" +} diff --git a/cloudformation/networkmanager/aws-networkmanager-transitgatewayregistration.go b/cloudformation/networkmanager/aws-networkmanager-transitgatewayregistration.go new file mode 100644 index 0000000000..f451c2771e --- /dev/null +++ b/cloudformation/networkmanager/aws-networkmanager-transitgatewayregistration.go @@ -0,0 +1,111 @@ +package networkmanager + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// TransitGatewayRegistration AWS CloudFormation Resource (AWS::NetworkManager::TransitGatewayRegistration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayregistration.html +type TransitGatewayRegistration struct { + + // GlobalNetworkId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayregistration.html#cfn-networkmanager-transitgatewayregistration-globalnetworkid + GlobalNetworkId string `json:"GlobalNetworkId,omitempty"` + + // TransitGatewayArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayregistration.html#cfn-networkmanager-transitgatewayregistration-transitgatewayarn + TransitGatewayArn string `json:"TransitGatewayArn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *TransitGatewayRegistration) AWSCloudFormationType() string { + return "AWS::NetworkManager::TransitGatewayRegistration" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r TransitGatewayRegistration) MarshalJSON() ([]byte, error) { + type Properties TransitGatewayRegistration + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *TransitGatewayRegistration) UnmarshalJSON(b []byte) error { + type Properties TransitGatewayRegistration + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = TransitGatewayRegistration(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/opsworks/aws-opsworks-app.go b/cloudformation/opsworks/aws-opsworks-app.go index 7f0648714e..4db6ffd57a 100644 --- a/cloudformation/opsworks/aws-opsworks-app.go +++ b/cloudformation/opsworks/aws-opsworks-app.go @@ -75,6 +75,9 @@ type App struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -95,19 +98,21 @@ func (r *App) AWSCloudFormationType() string { func (r App) MarshalJSON() ([]byte, error) { type Properties App return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -116,12 +121,13 @@ func (r App) MarshalJSON() ([]byte, error) { func (r *App) UnmarshalJSON(b []byte) error { type Properties App res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -145,6 +151,9 @@ func (r *App) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/opsworks/aws-opsworks-app_datasource.go b/cloudformation/opsworks/aws-opsworks-app_datasource.go index 3151972fa1..c27d222886 100644 --- a/cloudformation/opsworks/aws-opsworks-app_datasource.go +++ b/cloudformation/opsworks/aws-opsworks-app_datasource.go @@ -26,6 +26,9 @@ type App_DataSource struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/opsworks/aws-opsworks-app_environmentvariable.go b/cloudformation/opsworks/aws-opsworks-app_environmentvariable.go index ec9b9efa02..f2b49d20e7 100644 --- a/cloudformation/opsworks/aws-opsworks-app_environmentvariable.go +++ b/cloudformation/opsworks/aws-opsworks-app_environmentvariable.go @@ -26,6 +26,9 @@ type App_EnvironmentVariable struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/opsworks/aws-opsworks-app_source.go b/cloudformation/opsworks/aws-opsworks-app_source.go index 65fa73f75a..496ef681f6 100644 --- a/cloudformation/opsworks/aws-opsworks-app_source.go +++ b/cloudformation/opsworks/aws-opsworks-app_source.go @@ -41,6 +41,9 @@ type App_Source struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/opsworks/aws-opsworks-app_sslconfiguration.go b/cloudformation/opsworks/aws-opsworks-app_sslconfiguration.go index 52eafcb4b8..42df3b9a2b 100644 --- a/cloudformation/opsworks/aws-opsworks-app_sslconfiguration.go +++ b/cloudformation/opsworks/aws-opsworks-app_sslconfiguration.go @@ -26,6 +26,9 @@ type App_SslConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/opsworks/aws-opsworks-elasticloadbalancerattachment.go b/cloudformation/opsworks/aws-opsworks-elasticloadbalancerattachment.go index 7c025b9891..ae7359bc70 100644 --- a/cloudformation/opsworks/aws-opsworks-elasticloadbalancerattachment.go +++ b/cloudformation/opsworks/aws-opsworks-elasticloadbalancerattachment.go @@ -25,6 +25,9 @@ type ElasticLoadBalancerAttachment struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *ElasticLoadBalancerAttachment) AWSCloudFormationType() string { func (r ElasticLoadBalancerAttachment) MarshalJSON() ([]byte, error) { type Properties ElasticLoadBalancerAttachment return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r ElasticLoadBalancerAttachment) MarshalJSON() ([]byte, error) { func (r *ElasticLoadBalancerAttachment) UnmarshalJSON(b []byte) error { type Properties ElasticLoadBalancerAttachment res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *ElasticLoadBalancerAttachment) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/opsworks/aws-opsworks-instance.go b/cloudformation/opsworks/aws-opsworks-instance.go index bd1c239a42..a6a0f712cd 100644 --- a/cloudformation/opsworks/aws-opsworks-instance.go +++ b/cloudformation/opsworks/aws-opsworks-instance.go @@ -120,6 +120,9 @@ type Instance struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -140,19 +143,21 @@ func (r *Instance) AWSCloudFormationType() string { func (r Instance) MarshalJSON() ([]byte, error) { type Properties Instance return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -161,12 +166,13 @@ func (r Instance) MarshalJSON() ([]byte, error) { func (r *Instance) UnmarshalJSON(b []byte) error { type Properties Instance res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -190,6 +196,9 @@ func (r *Instance) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/opsworks/aws-opsworks-instance_blockdevicemapping.go b/cloudformation/opsworks/aws-opsworks-instance_blockdevicemapping.go index bbd1b84eeb..c40e3f5c23 100644 --- a/cloudformation/opsworks/aws-opsworks-instance_blockdevicemapping.go +++ b/cloudformation/opsworks/aws-opsworks-instance_blockdevicemapping.go @@ -31,6 +31,9 @@ type Instance_BlockDeviceMapping struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/opsworks/aws-opsworks-instance_ebsblockdevice.go b/cloudformation/opsworks/aws-opsworks-instance_ebsblockdevice.go index aae7996665..e265973895 100644 --- a/cloudformation/opsworks/aws-opsworks-instance_ebsblockdevice.go +++ b/cloudformation/opsworks/aws-opsworks-instance_ebsblockdevice.go @@ -36,6 +36,9 @@ type Instance_EbsBlockDevice struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/opsworks/aws-opsworks-instance_timebasedautoscaling.go b/cloudformation/opsworks/aws-opsworks-instance_timebasedautoscaling.go index 946cf98ccd..a4ed47966b 100644 --- a/cloudformation/opsworks/aws-opsworks-instance_timebasedautoscaling.go +++ b/cloudformation/opsworks/aws-opsworks-instance_timebasedautoscaling.go @@ -46,6 +46,9 @@ type Instance_TimeBasedAutoScaling struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/opsworks/aws-opsworks-layer.go b/cloudformation/opsworks/aws-opsworks-layer.go index 64b54873e8..30dc6c922a 100644 --- a/cloudformation/opsworks/aws-opsworks-layer.go +++ b/cloudformation/opsworks/aws-opsworks-layer.go @@ -111,6 +111,9 @@ type Layer struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -131,19 +134,21 @@ func (r *Layer) AWSCloudFormationType() string { func (r Layer) MarshalJSON() ([]byte, error) { type Properties Layer return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -152,12 +157,13 @@ func (r Layer) MarshalJSON() ([]byte, error) { func (r *Layer) UnmarshalJSON(b []byte) error { type Properties Layer res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -181,6 +187,9 @@ func (r *Layer) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/opsworks/aws-opsworks-layer_autoscalingthresholds.go b/cloudformation/opsworks/aws-opsworks-layer_autoscalingthresholds.go index 93b7259c95..d25b4694f4 100644 --- a/cloudformation/opsworks/aws-opsworks-layer_autoscalingthresholds.go +++ b/cloudformation/opsworks/aws-opsworks-layer_autoscalingthresholds.go @@ -41,6 +41,9 @@ type Layer_AutoScalingThresholds struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/opsworks/aws-opsworks-layer_lifecycleeventconfiguration.go b/cloudformation/opsworks/aws-opsworks-layer_lifecycleeventconfiguration.go index c68b69b268..94209058ba 100644 --- a/cloudformation/opsworks/aws-opsworks-layer_lifecycleeventconfiguration.go +++ b/cloudformation/opsworks/aws-opsworks-layer_lifecycleeventconfiguration.go @@ -16,6 +16,9 @@ type Layer_LifecycleEventConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/opsworks/aws-opsworks-layer_loadbasedautoscaling.go b/cloudformation/opsworks/aws-opsworks-layer_loadbasedautoscaling.go index e191ba8382..d251dd4c28 100644 --- a/cloudformation/opsworks/aws-opsworks-layer_loadbasedautoscaling.go +++ b/cloudformation/opsworks/aws-opsworks-layer_loadbasedautoscaling.go @@ -26,6 +26,9 @@ type Layer_LoadBasedAutoScaling struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/opsworks/aws-opsworks-layer_recipes.go b/cloudformation/opsworks/aws-opsworks-layer_recipes.go index 0d0bb6e80c..4b0db51bd1 100644 --- a/cloudformation/opsworks/aws-opsworks-layer_recipes.go +++ b/cloudformation/opsworks/aws-opsworks-layer_recipes.go @@ -36,6 +36,9 @@ type Layer_Recipes struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/opsworks/aws-opsworks-layer_shutdowneventconfiguration.go b/cloudformation/opsworks/aws-opsworks-layer_shutdowneventconfiguration.go index 83534c4016..2959727d85 100644 --- a/cloudformation/opsworks/aws-opsworks-layer_shutdowneventconfiguration.go +++ b/cloudformation/opsworks/aws-opsworks-layer_shutdowneventconfiguration.go @@ -21,6 +21,9 @@ type Layer_ShutdownEventConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/opsworks/aws-opsworks-layer_volumeconfiguration.go b/cloudformation/opsworks/aws-opsworks-layer_volumeconfiguration.go index 22ae707fb6..cc6484118b 100644 --- a/cloudformation/opsworks/aws-opsworks-layer_volumeconfiguration.go +++ b/cloudformation/opsworks/aws-opsworks-layer_volumeconfiguration.go @@ -46,6 +46,9 @@ type Layer_VolumeConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/opsworks/aws-opsworks-stack.go b/cloudformation/opsworks/aws-opsworks-stack.go index 88fe5a9a79..4900609adb 100644 --- a/cloudformation/opsworks/aws-opsworks-stack.go +++ b/cloudformation/opsworks/aws-opsworks-stack.go @@ -141,6 +141,9 @@ type Stack struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -161,19 +164,21 @@ func (r *Stack) AWSCloudFormationType() string { func (r Stack) MarshalJSON() ([]byte, error) { type Properties Stack return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -182,12 +187,13 @@ func (r Stack) MarshalJSON() ([]byte, error) { func (r *Stack) UnmarshalJSON(b []byte) error { type Properties Stack res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -211,6 +217,9 @@ func (r *Stack) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/opsworks/aws-opsworks-stack_chefconfiguration.go b/cloudformation/opsworks/aws-opsworks-stack_chefconfiguration.go index c1ca7b181b..bbda6f498a 100644 --- a/cloudformation/opsworks/aws-opsworks-stack_chefconfiguration.go +++ b/cloudformation/opsworks/aws-opsworks-stack_chefconfiguration.go @@ -21,6 +21,9 @@ type Stack_ChefConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/opsworks/aws-opsworks-stack_elasticip.go b/cloudformation/opsworks/aws-opsworks-stack_elasticip.go index 29648a1996..e71f31601d 100644 --- a/cloudformation/opsworks/aws-opsworks-stack_elasticip.go +++ b/cloudformation/opsworks/aws-opsworks-stack_elasticip.go @@ -21,6 +21,9 @@ type Stack_ElasticIp struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/opsworks/aws-opsworks-stack_rdsdbinstance.go b/cloudformation/opsworks/aws-opsworks-stack_rdsdbinstance.go index 4720ff20bf..be44fadc5b 100644 --- a/cloudformation/opsworks/aws-opsworks-stack_rdsdbinstance.go +++ b/cloudformation/opsworks/aws-opsworks-stack_rdsdbinstance.go @@ -26,6 +26,9 @@ type Stack_RdsDbInstance struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/opsworks/aws-opsworks-stack_source.go b/cloudformation/opsworks/aws-opsworks-stack_source.go index 0601f2ad7f..5629d83516 100644 --- a/cloudformation/opsworks/aws-opsworks-stack_source.go +++ b/cloudformation/opsworks/aws-opsworks-stack_source.go @@ -41,6 +41,9 @@ type Stack_Source struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/opsworks/aws-opsworks-stack_stackconfigurationmanager.go b/cloudformation/opsworks/aws-opsworks-stack_stackconfigurationmanager.go index 3b8c09b290..6a4e3867a4 100644 --- a/cloudformation/opsworks/aws-opsworks-stack_stackconfigurationmanager.go +++ b/cloudformation/opsworks/aws-opsworks-stack_stackconfigurationmanager.go @@ -21,6 +21,9 @@ type Stack_StackConfigurationManager struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/opsworks/aws-opsworks-userprofile.go b/cloudformation/opsworks/aws-opsworks-userprofile.go index 57b2977bd2..1847534637 100644 --- a/cloudformation/opsworks/aws-opsworks-userprofile.go +++ b/cloudformation/opsworks/aws-opsworks-userprofile.go @@ -35,6 +35,9 @@ type UserProfile struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -55,19 +58,21 @@ func (r *UserProfile) AWSCloudFormationType() string { func (r UserProfile) MarshalJSON() ([]byte, error) { type Properties UserProfile return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -76,12 +81,13 @@ func (r UserProfile) MarshalJSON() ([]byte, error) { func (r *UserProfile) UnmarshalJSON(b []byte) error { type Properties UserProfile res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -105,6 +111,9 @@ func (r *UserProfile) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/opsworks/aws-opsworks-volume.go b/cloudformation/opsworks/aws-opsworks-volume.go index 8f47d434ea..686dbc4986 100644 --- a/cloudformation/opsworks/aws-opsworks-volume.go +++ b/cloudformation/opsworks/aws-opsworks-volume.go @@ -35,6 +35,9 @@ type Volume struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -55,19 +58,21 @@ func (r *Volume) AWSCloudFormationType() string { func (r Volume) MarshalJSON() ([]byte, error) { type Properties Volume return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -76,12 +81,13 @@ func (r Volume) MarshalJSON() ([]byte, error) { func (r *Volume) UnmarshalJSON(b []byte) error { type Properties Volume res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -105,6 +111,9 @@ func (r *Volume) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/opsworkscm/aws-opsworkscm-server.go b/cloudformation/opsworkscm/aws-opsworkscm-server.go index 0542b55f29..7a9f0ffb5c 100644 --- a/cloudformation/opsworkscm/aws-opsworkscm-server.go +++ b/cloudformation/opsworkscm/aws-opsworkscm-server.go @@ -121,6 +121,9 @@ type Server struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -141,19 +144,21 @@ func (r *Server) AWSCloudFormationType() string { func (r Server) MarshalJSON() ([]byte, error) { type Properties Server return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -162,12 +167,13 @@ func (r Server) MarshalJSON() ([]byte, error) { func (r *Server) UnmarshalJSON(b []byte) error { type Properties Server res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -191,6 +197,9 @@ func (r *Server) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/opsworkscm/aws-opsworkscm-server_engineattribute.go b/cloudformation/opsworkscm/aws-opsworkscm-server_engineattribute.go index 721a6446aa..6a5513c538 100644 --- a/cloudformation/opsworkscm/aws-opsworkscm-server_engineattribute.go +++ b/cloudformation/opsworkscm/aws-opsworkscm-server_engineattribute.go @@ -21,6 +21,9 @@ type Server_EngineAttribute struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/pinpoint/aws-pinpoint-admchannel.go b/cloudformation/pinpoint/aws-pinpoint-admchannel.go index c89382c09a..318df9b18b 100644 --- a/cloudformation/pinpoint/aws-pinpoint-admchannel.go +++ b/cloudformation/pinpoint/aws-pinpoint-admchannel.go @@ -35,6 +35,9 @@ type ADMChannel struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -55,19 +58,21 @@ func (r *ADMChannel) AWSCloudFormationType() string { func (r ADMChannel) MarshalJSON() ([]byte, error) { type Properties ADMChannel return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -76,12 +81,13 @@ func (r ADMChannel) MarshalJSON() ([]byte, error) { func (r *ADMChannel) UnmarshalJSON(b []byte) error { type Properties ADMChannel res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -105,6 +111,9 @@ func (r *ADMChannel) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/pinpoint/aws-pinpoint-apnschannel.go b/cloudformation/pinpoint/aws-pinpoint-apnschannel.go index bd851c34c2..2ff5bd9078 100644 --- a/cloudformation/pinpoint/aws-pinpoint-apnschannel.go +++ b/cloudformation/pinpoint/aws-pinpoint-apnschannel.go @@ -60,6 +60,9 @@ type APNSChannel struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -80,19 +83,21 @@ func (r *APNSChannel) AWSCloudFormationType() string { func (r APNSChannel) MarshalJSON() ([]byte, error) { type Properties APNSChannel return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -101,12 +106,13 @@ func (r APNSChannel) MarshalJSON() ([]byte, error) { func (r *APNSChannel) UnmarshalJSON(b []byte) error { type Properties APNSChannel res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -130,6 +136,9 @@ func (r *APNSChannel) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/pinpoint/aws-pinpoint-apnssandboxchannel.go b/cloudformation/pinpoint/aws-pinpoint-apnssandboxchannel.go index 892525d4e9..2f5b645df4 100644 --- a/cloudformation/pinpoint/aws-pinpoint-apnssandboxchannel.go +++ b/cloudformation/pinpoint/aws-pinpoint-apnssandboxchannel.go @@ -60,6 +60,9 @@ type APNSSandboxChannel struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -80,19 +83,21 @@ func (r *APNSSandboxChannel) AWSCloudFormationType() string { func (r APNSSandboxChannel) MarshalJSON() ([]byte, error) { type Properties APNSSandboxChannel return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -101,12 +106,13 @@ func (r APNSSandboxChannel) MarshalJSON() ([]byte, error) { func (r *APNSSandboxChannel) UnmarshalJSON(b []byte) error { type Properties APNSSandboxChannel res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -130,6 +136,9 @@ func (r *APNSSandboxChannel) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/pinpoint/aws-pinpoint-apnsvoipchannel.go b/cloudformation/pinpoint/aws-pinpoint-apnsvoipchannel.go index 63346e2536..1d6584d59e 100644 --- a/cloudformation/pinpoint/aws-pinpoint-apnsvoipchannel.go +++ b/cloudformation/pinpoint/aws-pinpoint-apnsvoipchannel.go @@ -60,6 +60,9 @@ type APNSVoipChannel struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -80,19 +83,21 @@ func (r *APNSVoipChannel) AWSCloudFormationType() string { func (r APNSVoipChannel) MarshalJSON() ([]byte, error) { type Properties APNSVoipChannel return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -101,12 +106,13 @@ func (r APNSVoipChannel) MarshalJSON() ([]byte, error) { func (r *APNSVoipChannel) UnmarshalJSON(b []byte) error { type Properties APNSVoipChannel res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -130,6 +136,9 @@ func (r *APNSVoipChannel) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/pinpoint/aws-pinpoint-apnsvoipsandboxchannel.go b/cloudformation/pinpoint/aws-pinpoint-apnsvoipsandboxchannel.go index ecc69da14b..02b796a772 100644 --- a/cloudformation/pinpoint/aws-pinpoint-apnsvoipsandboxchannel.go +++ b/cloudformation/pinpoint/aws-pinpoint-apnsvoipsandboxchannel.go @@ -60,6 +60,9 @@ type APNSVoipSandboxChannel struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -80,19 +83,21 @@ func (r *APNSVoipSandboxChannel) AWSCloudFormationType() string { func (r APNSVoipSandboxChannel) MarshalJSON() ([]byte, error) { type Properties APNSVoipSandboxChannel return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -101,12 +106,13 @@ func (r APNSVoipSandboxChannel) MarshalJSON() ([]byte, error) { func (r *APNSVoipSandboxChannel) UnmarshalJSON(b []byte) error { type Properties APNSVoipSandboxChannel res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -130,6 +136,9 @@ func (r *APNSVoipSandboxChannel) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/pinpoint/aws-pinpoint-app.go b/cloudformation/pinpoint/aws-pinpoint-app.go index 422cc61566..0712bc3eb6 100644 --- a/cloudformation/pinpoint/aws-pinpoint-app.go +++ b/cloudformation/pinpoint/aws-pinpoint-app.go @@ -25,6 +25,9 @@ type App struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *App) AWSCloudFormationType() string { func (r App) MarshalJSON() ([]byte, error) { type Properties App return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r App) MarshalJSON() ([]byte, error) { func (r *App) UnmarshalJSON(b []byte) error { type Properties App res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *App) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/pinpoint/aws-pinpoint-applicationsettings.go b/cloudformation/pinpoint/aws-pinpoint-applicationsettings.go index a51342c1fd..b37d9415b3 100644 --- a/cloudformation/pinpoint/aws-pinpoint-applicationsettings.go +++ b/cloudformation/pinpoint/aws-pinpoint-applicationsettings.go @@ -40,6 +40,9 @@ type ApplicationSettings struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -60,19 +63,21 @@ func (r *ApplicationSettings) AWSCloudFormationType() string { func (r ApplicationSettings) MarshalJSON() ([]byte, error) { type Properties ApplicationSettings return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -81,12 +86,13 @@ func (r ApplicationSettings) MarshalJSON() ([]byte, error) { func (r *ApplicationSettings) UnmarshalJSON(b []byte) error { type Properties ApplicationSettings res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -110,6 +116,9 @@ func (r *ApplicationSettings) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/pinpoint/aws-pinpoint-applicationsettings_campaignhook.go b/cloudformation/pinpoint/aws-pinpoint-applicationsettings_campaignhook.go index 03690c3f00..b523684d0e 100644 --- a/cloudformation/pinpoint/aws-pinpoint-applicationsettings_campaignhook.go +++ b/cloudformation/pinpoint/aws-pinpoint-applicationsettings_campaignhook.go @@ -26,6 +26,9 @@ type ApplicationSettings_CampaignHook struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/pinpoint/aws-pinpoint-applicationsettings_limits.go b/cloudformation/pinpoint/aws-pinpoint-applicationsettings_limits.go index 38e18d8ebd..97b667c82c 100644 --- a/cloudformation/pinpoint/aws-pinpoint-applicationsettings_limits.go +++ b/cloudformation/pinpoint/aws-pinpoint-applicationsettings_limits.go @@ -31,6 +31,9 @@ type ApplicationSettings_Limits struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/pinpoint/aws-pinpoint-applicationsettings_quiettime.go b/cloudformation/pinpoint/aws-pinpoint-applicationsettings_quiettime.go index e98a42dccc..81382dbea7 100644 --- a/cloudformation/pinpoint/aws-pinpoint-applicationsettings_quiettime.go +++ b/cloudformation/pinpoint/aws-pinpoint-applicationsettings_quiettime.go @@ -21,6 +21,9 @@ type ApplicationSettings_QuietTime struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/pinpoint/aws-pinpoint-baiduchannel.go b/cloudformation/pinpoint/aws-pinpoint-baiduchannel.go index 1f107d45cc..4382d72f35 100644 --- a/cloudformation/pinpoint/aws-pinpoint-baiduchannel.go +++ b/cloudformation/pinpoint/aws-pinpoint-baiduchannel.go @@ -35,6 +35,9 @@ type BaiduChannel struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -55,19 +58,21 @@ func (r *BaiduChannel) AWSCloudFormationType() string { func (r BaiduChannel) MarshalJSON() ([]byte, error) { type Properties BaiduChannel return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -76,12 +81,13 @@ func (r BaiduChannel) MarshalJSON() ([]byte, error) { func (r *BaiduChannel) UnmarshalJSON(b []byte) error { type Properties BaiduChannel res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -105,6 +111,9 @@ func (r *BaiduChannel) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/pinpoint/aws-pinpoint-campaign.go b/cloudformation/pinpoint/aws-pinpoint-campaign.go index 83cdcd3188..4d3cd928a2 100644 --- a/cloudformation/pinpoint/aws-pinpoint-campaign.go +++ b/cloudformation/pinpoint/aws-pinpoint-campaign.go @@ -90,6 +90,9 @@ type Campaign struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -110,19 +113,21 @@ func (r *Campaign) AWSCloudFormationType() string { func (r Campaign) MarshalJSON() ([]byte, error) { type Properties Campaign return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -131,12 +136,13 @@ func (r Campaign) MarshalJSON() ([]byte, error) { func (r *Campaign) UnmarshalJSON(b []byte) error { type Properties Campaign res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -160,6 +166,9 @@ func (r *Campaign) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/pinpoint/aws-pinpoint-campaign_attributedimension.go b/cloudformation/pinpoint/aws-pinpoint-campaign_attributedimension.go index 18e6f11186..468b345cce 100644 --- a/cloudformation/pinpoint/aws-pinpoint-campaign_attributedimension.go +++ b/cloudformation/pinpoint/aws-pinpoint-campaign_attributedimension.go @@ -21,6 +21,9 @@ type Campaign_AttributeDimension struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/pinpoint/aws-pinpoint-campaign_campaignemailmessage.go b/cloudformation/pinpoint/aws-pinpoint-campaign_campaignemailmessage.go index c3b1081a51..36f68c3c0a 100644 --- a/cloudformation/pinpoint/aws-pinpoint-campaign_campaignemailmessage.go +++ b/cloudformation/pinpoint/aws-pinpoint-campaign_campaignemailmessage.go @@ -31,6 +31,9 @@ type Campaign_CampaignEmailMessage struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/pinpoint/aws-pinpoint-campaign_campaigneventfilter.go b/cloudformation/pinpoint/aws-pinpoint-campaign_campaigneventfilter.go index 6b1909cc20..e440b6a80e 100644 --- a/cloudformation/pinpoint/aws-pinpoint-campaign_campaigneventfilter.go +++ b/cloudformation/pinpoint/aws-pinpoint-campaign_campaigneventfilter.go @@ -21,6 +21,9 @@ type Campaign_CampaignEventFilter struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/pinpoint/aws-pinpoint-campaign_campaignhook.go b/cloudformation/pinpoint/aws-pinpoint-campaign_campaignhook.go index b499231f2b..0065bca0f6 100644 --- a/cloudformation/pinpoint/aws-pinpoint-campaign_campaignhook.go +++ b/cloudformation/pinpoint/aws-pinpoint-campaign_campaignhook.go @@ -26,6 +26,9 @@ type Campaign_CampaignHook struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/pinpoint/aws-pinpoint-campaign_campaignsmsmessage.go b/cloudformation/pinpoint/aws-pinpoint-campaign_campaignsmsmessage.go index 1caa9540ff..e92d98be57 100644 --- a/cloudformation/pinpoint/aws-pinpoint-campaign_campaignsmsmessage.go +++ b/cloudformation/pinpoint/aws-pinpoint-campaign_campaignsmsmessage.go @@ -26,6 +26,9 @@ type Campaign_CampaignSmsMessage struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/pinpoint/aws-pinpoint-campaign_eventdimensions.go b/cloudformation/pinpoint/aws-pinpoint-campaign_eventdimensions.go index abc2e433bc..b3ce626911 100644 --- a/cloudformation/pinpoint/aws-pinpoint-campaign_eventdimensions.go +++ b/cloudformation/pinpoint/aws-pinpoint-campaign_eventdimensions.go @@ -26,6 +26,9 @@ type Campaign_EventDimensions struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/pinpoint/aws-pinpoint-campaign_limits.go b/cloudformation/pinpoint/aws-pinpoint-campaign_limits.go index 0026798730..f76455048c 100644 --- a/cloudformation/pinpoint/aws-pinpoint-campaign_limits.go +++ b/cloudformation/pinpoint/aws-pinpoint-campaign_limits.go @@ -31,6 +31,9 @@ type Campaign_Limits struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/pinpoint/aws-pinpoint-campaign_message.go b/cloudformation/pinpoint/aws-pinpoint-campaign_message.go index 67a8572cef..b53df57d43 100644 --- a/cloudformation/pinpoint/aws-pinpoint-campaign_message.go +++ b/cloudformation/pinpoint/aws-pinpoint-campaign_message.go @@ -71,6 +71,9 @@ type Campaign_Message struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/pinpoint/aws-pinpoint-campaign_messageconfiguration.go b/cloudformation/pinpoint/aws-pinpoint-campaign_messageconfiguration.go index 0e6c43e0b5..1dd690c371 100644 --- a/cloudformation/pinpoint/aws-pinpoint-campaign_messageconfiguration.go +++ b/cloudformation/pinpoint/aws-pinpoint-campaign_messageconfiguration.go @@ -46,6 +46,9 @@ type Campaign_MessageConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/pinpoint/aws-pinpoint-campaign_metricdimension.go b/cloudformation/pinpoint/aws-pinpoint-campaign_metricdimension.go index bf6da21b04..4a7d5419fd 100644 --- a/cloudformation/pinpoint/aws-pinpoint-campaign_metricdimension.go +++ b/cloudformation/pinpoint/aws-pinpoint-campaign_metricdimension.go @@ -21,6 +21,9 @@ type Campaign_MetricDimension struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/pinpoint/aws-pinpoint-campaign_quiettime.go b/cloudformation/pinpoint/aws-pinpoint-campaign_quiettime.go index b69b9c563b..e32e97d58d 100644 --- a/cloudformation/pinpoint/aws-pinpoint-campaign_quiettime.go +++ b/cloudformation/pinpoint/aws-pinpoint-campaign_quiettime.go @@ -21,6 +21,9 @@ type Campaign_QuietTime struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/pinpoint/aws-pinpoint-campaign_schedule.go b/cloudformation/pinpoint/aws-pinpoint-campaign_schedule.go index b90fcfef94..a50832e50c 100644 --- a/cloudformation/pinpoint/aws-pinpoint-campaign_schedule.go +++ b/cloudformation/pinpoint/aws-pinpoint-campaign_schedule.go @@ -46,6 +46,9 @@ type Campaign_Schedule struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/pinpoint/aws-pinpoint-campaign_setdimension.go b/cloudformation/pinpoint/aws-pinpoint-campaign_setdimension.go index f18fd4d3fc..6e3eccc33c 100644 --- a/cloudformation/pinpoint/aws-pinpoint-campaign_setdimension.go +++ b/cloudformation/pinpoint/aws-pinpoint-campaign_setdimension.go @@ -21,6 +21,9 @@ type Campaign_SetDimension struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/pinpoint/aws-pinpoint-campaign_writetreatmentresource.go b/cloudformation/pinpoint/aws-pinpoint-campaign_writetreatmentresource.go index 2e1719e95d..2594dfc6a7 100644 --- a/cloudformation/pinpoint/aws-pinpoint-campaign_writetreatmentresource.go +++ b/cloudformation/pinpoint/aws-pinpoint-campaign_writetreatmentresource.go @@ -36,6 +36,9 @@ type Campaign_WriteTreatmentResource struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/pinpoint/aws-pinpoint-emailchannel.go b/cloudformation/pinpoint/aws-pinpoint-emailchannel.go index 046845d255..e4eef376b8 100644 --- a/cloudformation/pinpoint/aws-pinpoint-emailchannel.go +++ b/cloudformation/pinpoint/aws-pinpoint-emailchannel.go @@ -45,6 +45,9 @@ type EmailChannel struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -65,19 +68,21 @@ func (r *EmailChannel) AWSCloudFormationType() string { func (r EmailChannel) MarshalJSON() ([]byte, error) { type Properties EmailChannel return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -86,12 +91,13 @@ func (r EmailChannel) MarshalJSON() ([]byte, error) { func (r *EmailChannel) UnmarshalJSON(b []byte) error { type Properties EmailChannel res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -115,6 +121,9 @@ func (r *EmailChannel) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/pinpoint/aws-pinpoint-emailtemplate.go b/cloudformation/pinpoint/aws-pinpoint-emailtemplate.go index 4d0213d1f5..f25db08c9e 100644 --- a/cloudformation/pinpoint/aws-pinpoint-emailtemplate.go +++ b/cloudformation/pinpoint/aws-pinpoint-emailtemplate.go @@ -50,6 +50,9 @@ type EmailTemplate struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -70,19 +73,21 @@ func (r *EmailTemplate) AWSCloudFormationType() string { func (r EmailTemplate) MarshalJSON() ([]byte, error) { type Properties EmailTemplate return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -91,12 +96,13 @@ func (r EmailTemplate) MarshalJSON() ([]byte, error) { func (r *EmailTemplate) UnmarshalJSON(b []byte) error { type Properties EmailTemplate res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -120,6 +126,9 @@ func (r *EmailTemplate) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/pinpoint/aws-pinpoint-eventstream.go b/cloudformation/pinpoint/aws-pinpoint-eventstream.go index 9767d20371..cbd3853572 100644 --- a/cloudformation/pinpoint/aws-pinpoint-eventstream.go +++ b/cloudformation/pinpoint/aws-pinpoint-eventstream.go @@ -30,6 +30,9 @@ type EventStream struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *EventStream) AWSCloudFormationType() string { func (r EventStream) MarshalJSON() ([]byte, error) { type Properties EventStream return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r EventStream) MarshalJSON() ([]byte, error) { func (r *EventStream) UnmarshalJSON(b []byte) error { type Properties EventStream res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *EventStream) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/pinpoint/aws-pinpoint-gcmchannel.go b/cloudformation/pinpoint/aws-pinpoint-gcmchannel.go index 2658a59fcf..7c815ba726 100644 --- a/cloudformation/pinpoint/aws-pinpoint-gcmchannel.go +++ b/cloudformation/pinpoint/aws-pinpoint-gcmchannel.go @@ -30,6 +30,9 @@ type GCMChannel struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *GCMChannel) AWSCloudFormationType() string { func (r GCMChannel) MarshalJSON() ([]byte, error) { type Properties GCMChannel return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r GCMChannel) MarshalJSON() ([]byte, error) { func (r *GCMChannel) UnmarshalJSON(b []byte) error { type Properties GCMChannel res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *GCMChannel) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/pinpoint/aws-pinpoint-pushtemplate.go b/cloudformation/pinpoint/aws-pinpoint-pushtemplate.go index c1650e7f3a..c3cd1fac0f 100644 --- a/cloudformation/pinpoint/aws-pinpoint-pushtemplate.go +++ b/cloudformation/pinpoint/aws-pinpoint-pushtemplate.go @@ -60,6 +60,9 @@ type PushTemplate struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -80,19 +83,21 @@ func (r *PushTemplate) AWSCloudFormationType() string { func (r PushTemplate) MarshalJSON() ([]byte, error) { type Properties PushTemplate return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -101,12 +106,13 @@ func (r PushTemplate) MarshalJSON() ([]byte, error) { func (r *PushTemplate) UnmarshalJSON(b []byte) error { type Properties PushTemplate res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -130,6 +136,9 @@ func (r *PushTemplate) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/pinpoint/aws-pinpoint-pushtemplate_androidpushnotificationtemplate.go b/cloudformation/pinpoint/aws-pinpoint-pushtemplate_androidpushnotificationtemplate.go index 6c5f4ebc28..f8c40beb39 100644 --- a/cloudformation/pinpoint/aws-pinpoint-pushtemplate_androidpushnotificationtemplate.go +++ b/cloudformation/pinpoint/aws-pinpoint-pushtemplate_androidpushnotificationtemplate.go @@ -51,6 +51,9 @@ type PushTemplate_AndroidPushNotificationTemplate struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/pinpoint/aws-pinpoint-pushtemplate_apnspushnotificationtemplate.go b/cloudformation/pinpoint/aws-pinpoint-pushtemplate_apnspushnotificationtemplate.go index fbeb556564..4f3b56c2d9 100644 --- a/cloudformation/pinpoint/aws-pinpoint-pushtemplate_apnspushnotificationtemplate.go +++ b/cloudformation/pinpoint/aws-pinpoint-pushtemplate_apnspushnotificationtemplate.go @@ -41,6 +41,9 @@ type PushTemplate_APNSPushNotificationTemplate struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/pinpoint/aws-pinpoint-pushtemplate_defaultpushnotificationtemplate.go b/cloudformation/pinpoint/aws-pinpoint-pushtemplate_defaultpushnotificationtemplate.go index 9e98d39d91..c8dde767ee 100644 --- a/cloudformation/pinpoint/aws-pinpoint-pushtemplate_defaultpushnotificationtemplate.go +++ b/cloudformation/pinpoint/aws-pinpoint-pushtemplate_defaultpushnotificationtemplate.go @@ -36,6 +36,9 @@ type PushTemplate_DefaultPushNotificationTemplate struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/pinpoint/aws-pinpoint-segment.go b/cloudformation/pinpoint/aws-pinpoint-segment.go index a4078bebc1..0a07c03506 100644 --- a/cloudformation/pinpoint/aws-pinpoint-segment.go +++ b/cloudformation/pinpoint/aws-pinpoint-segment.go @@ -40,6 +40,9 @@ type Segment struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -60,19 +63,21 @@ func (r *Segment) AWSCloudFormationType() string { func (r Segment) MarshalJSON() ([]byte, error) { type Properties Segment return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -81,12 +86,13 @@ func (r Segment) MarshalJSON() ([]byte, error) { func (r *Segment) UnmarshalJSON(b []byte) error { type Properties Segment res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -110,6 +116,9 @@ func (r *Segment) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/pinpoint/aws-pinpoint-segment_attributedimension.go b/cloudformation/pinpoint/aws-pinpoint-segment_attributedimension.go index e59319b4d3..aca14a8b6f 100644 --- a/cloudformation/pinpoint/aws-pinpoint-segment_attributedimension.go +++ b/cloudformation/pinpoint/aws-pinpoint-segment_attributedimension.go @@ -21,6 +21,9 @@ type Segment_AttributeDimension struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/pinpoint/aws-pinpoint-segment_behavior.go b/cloudformation/pinpoint/aws-pinpoint-segment_behavior.go index b7eab8eef7..bfcd0fe02a 100644 --- a/cloudformation/pinpoint/aws-pinpoint-segment_behavior.go +++ b/cloudformation/pinpoint/aws-pinpoint-segment_behavior.go @@ -16,6 +16,9 @@ type Segment_Behavior struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/pinpoint/aws-pinpoint-segment_coordinates.go b/cloudformation/pinpoint/aws-pinpoint-segment_coordinates.go index cd121454d8..79737e55af 100644 --- a/cloudformation/pinpoint/aws-pinpoint-segment_coordinates.go +++ b/cloudformation/pinpoint/aws-pinpoint-segment_coordinates.go @@ -21,6 +21,9 @@ type Segment_Coordinates struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/pinpoint/aws-pinpoint-segment_demographic.go b/cloudformation/pinpoint/aws-pinpoint-segment_demographic.go index d25c28a60e..d8f0928fa0 100644 --- a/cloudformation/pinpoint/aws-pinpoint-segment_demographic.go +++ b/cloudformation/pinpoint/aws-pinpoint-segment_demographic.go @@ -41,6 +41,9 @@ type Segment_Demographic struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/pinpoint/aws-pinpoint-segment_gpspoint.go b/cloudformation/pinpoint/aws-pinpoint-segment_gpspoint.go index 9e59357a46..84d988aebc 100644 --- a/cloudformation/pinpoint/aws-pinpoint-segment_gpspoint.go +++ b/cloudformation/pinpoint/aws-pinpoint-segment_gpspoint.go @@ -21,6 +21,9 @@ type Segment_GPSPoint struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/pinpoint/aws-pinpoint-segment_groups.go b/cloudformation/pinpoint/aws-pinpoint-segment_groups.go index ef2573244c..84a0f76f23 100644 --- a/cloudformation/pinpoint/aws-pinpoint-segment_groups.go +++ b/cloudformation/pinpoint/aws-pinpoint-segment_groups.go @@ -31,6 +31,9 @@ type Segment_Groups struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/pinpoint/aws-pinpoint-segment_location.go b/cloudformation/pinpoint/aws-pinpoint-segment_location.go index 0c316792de..3632e1a2d2 100644 --- a/cloudformation/pinpoint/aws-pinpoint-segment_location.go +++ b/cloudformation/pinpoint/aws-pinpoint-segment_location.go @@ -21,6 +21,9 @@ type Segment_Location struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/pinpoint/aws-pinpoint-segment_recency.go b/cloudformation/pinpoint/aws-pinpoint-segment_recency.go index 2a85fa5344..fb37090471 100644 --- a/cloudformation/pinpoint/aws-pinpoint-segment_recency.go +++ b/cloudformation/pinpoint/aws-pinpoint-segment_recency.go @@ -21,6 +21,9 @@ type Segment_Recency struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/pinpoint/aws-pinpoint-segment_segmentdimensions.go b/cloudformation/pinpoint/aws-pinpoint-segment_segmentdimensions.go index 988c253886..1a8bee8c3e 100644 --- a/cloudformation/pinpoint/aws-pinpoint-segment_segmentdimensions.go +++ b/cloudformation/pinpoint/aws-pinpoint-segment_segmentdimensions.go @@ -41,6 +41,9 @@ type Segment_SegmentDimensions struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/pinpoint/aws-pinpoint-segment_segmentgroups.go b/cloudformation/pinpoint/aws-pinpoint-segment_segmentgroups.go index 8315206cf2..3e216e6ba2 100644 --- a/cloudformation/pinpoint/aws-pinpoint-segment_segmentgroups.go +++ b/cloudformation/pinpoint/aws-pinpoint-segment_segmentgroups.go @@ -21,6 +21,9 @@ type Segment_SegmentGroups struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/pinpoint/aws-pinpoint-segment_setdimension.go b/cloudformation/pinpoint/aws-pinpoint-segment_setdimension.go index 8182a72dde..fe53fe9651 100644 --- a/cloudformation/pinpoint/aws-pinpoint-segment_setdimension.go +++ b/cloudformation/pinpoint/aws-pinpoint-segment_setdimension.go @@ -21,6 +21,9 @@ type Segment_SetDimension struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/pinpoint/aws-pinpoint-segment_sourcesegments.go b/cloudformation/pinpoint/aws-pinpoint-segment_sourcesegments.go index 2f08b386d4..5a021165d5 100644 --- a/cloudformation/pinpoint/aws-pinpoint-segment_sourcesegments.go +++ b/cloudformation/pinpoint/aws-pinpoint-segment_sourcesegments.go @@ -21,6 +21,9 @@ type Segment_SourceSegments struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/pinpoint/aws-pinpoint-smschannel.go b/cloudformation/pinpoint/aws-pinpoint-smschannel.go index 456dbc2556..a2d16f5e71 100644 --- a/cloudformation/pinpoint/aws-pinpoint-smschannel.go +++ b/cloudformation/pinpoint/aws-pinpoint-smschannel.go @@ -35,6 +35,9 @@ type SMSChannel struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -55,19 +58,21 @@ func (r *SMSChannel) AWSCloudFormationType() string { func (r SMSChannel) MarshalJSON() ([]byte, error) { type Properties SMSChannel return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -76,12 +81,13 @@ func (r SMSChannel) MarshalJSON() ([]byte, error) { func (r *SMSChannel) UnmarshalJSON(b []byte) error { type Properties SMSChannel res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -105,6 +111,9 @@ func (r *SMSChannel) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/pinpoint/aws-pinpoint-smstemplate.go b/cloudformation/pinpoint/aws-pinpoint-smstemplate.go index 39ae60cd5e..55d50b5e08 100644 --- a/cloudformation/pinpoint/aws-pinpoint-smstemplate.go +++ b/cloudformation/pinpoint/aws-pinpoint-smstemplate.go @@ -40,6 +40,9 @@ type SmsTemplate struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -60,19 +63,21 @@ func (r *SmsTemplate) AWSCloudFormationType() string { func (r SmsTemplate) MarshalJSON() ([]byte, error) { type Properties SmsTemplate return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -81,12 +86,13 @@ func (r SmsTemplate) MarshalJSON() ([]byte, error) { func (r *SmsTemplate) UnmarshalJSON(b []byte) error { type Properties SmsTemplate res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -110,6 +116,9 @@ func (r *SmsTemplate) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/pinpoint/aws-pinpoint-voicechannel.go b/cloudformation/pinpoint/aws-pinpoint-voicechannel.go index ff6c3148a9..c4b184a3b3 100644 --- a/cloudformation/pinpoint/aws-pinpoint-voicechannel.go +++ b/cloudformation/pinpoint/aws-pinpoint-voicechannel.go @@ -25,6 +25,9 @@ type VoiceChannel struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *VoiceChannel) AWSCloudFormationType() string { func (r VoiceChannel) MarshalJSON() ([]byte, error) { type Properties VoiceChannel return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r VoiceChannel) MarshalJSON() ([]byte, error) { func (r *VoiceChannel) UnmarshalJSON(b []byte) error { type Properties VoiceChannel res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *VoiceChannel) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/pinpointemail/aws-pinpointemail-configurationset.go b/cloudformation/pinpointemail/aws-pinpointemail-configurationset.go index b765aff9f3..4a12f7443d 100644 --- a/cloudformation/pinpointemail/aws-pinpointemail-configurationset.go +++ b/cloudformation/pinpointemail/aws-pinpointemail-configurationset.go @@ -45,6 +45,9 @@ type ConfigurationSet struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -65,19 +68,21 @@ func (r *ConfigurationSet) AWSCloudFormationType() string { func (r ConfigurationSet) MarshalJSON() ([]byte, error) { type Properties ConfigurationSet return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -86,12 +91,13 @@ func (r ConfigurationSet) MarshalJSON() ([]byte, error) { func (r *ConfigurationSet) UnmarshalJSON(b []byte) error { type Properties ConfigurationSet res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -115,6 +121,9 @@ func (r *ConfigurationSet) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/pinpointemail/aws-pinpointemail-configurationset_deliveryoptions.go b/cloudformation/pinpointemail/aws-pinpointemail-configurationset_deliveryoptions.go index 997f9f4d1b..2d9f3ef95c 100644 --- a/cloudformation/pinpointemail/aws-pinpointemail-configurationset_deliveryoptions.go +++ b/cloudformation/pinpointemail/aws-pinpointemail-configurationset_deliveryoptions.go @@ -16,6 +16,9 @@ type ConfigurationSet_DeliveryOptions struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/pinpointemail/aws-pinpointemail-configurationset_reputationoptions.go b/cloudformation/pinpointemail/aws-pinpointemail-configurationset_reputationoptions.go index 766ae1bc2a..7564d524f3 100644 --- a/cloudformation/pinpointemail/aws-pinpointemail-configurationset_reputationoptions.go +++ b/cloudformation/pinpointemail/aws-pinpointemail-configurationset_reputationoptions.go @@ -16,6 +16,9 @@ type ConfigurationSet_ReputationOptions struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/pinpointemail/aws-pinpointemail-configurationset_sendingoptions.go b/cloudformation/pinpointemail/aws-pinpointemail-configurationset_sendingoptions.go index ee1a858505..ad975453d4 100644 --- a/cloudformation/pinpointemail/aws-pinpointemail-configurationset_sendingoptions.go +++ b/cloudformation/pinpointemail/aws-pinpointemail-configurationset_sendingoptions.go @@ -16,6 +16,9 @@ type ConfigurationSet_SendingOptions struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/pinpointemail/aws-pinpointemail-configurationset_tags.go b/cloudformation/pinpointemail/aws-pinpointemail-configurationset_tags.go index 1f4a60cb97..afdd9daeec 100644 --- a/cloudformation/pinpointemail/aws-pinpointemail-configurationset_tags.go +++ b/cloudformation/pinpointemail/aws-pinpointemail-configurationset_tags.go @@ -21,6 +21,9 @@ type ConfigurationSet_Tags struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/pinpointemail/aws-pinpointemail-configurationset_trackingoptions.go b/cloudformation/pinpointemail/aws-pinpointemail-configurationset_trackingoptions.go index 655b01dc03..40742f02ba 100644 --- a/cloudformation/pinpointemail/aws-pinpointemail-configurationset_trackingoptions.go +++ b/cloudformation/pinpointemail/aws-pinpointemail-configurationset_trackingoptions.go @@ -16,6 +16,9 @@ type ConfigurationSet_TrackingOptions struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/pinpointemail/aws-pinpointemail-configurationseteventdestination.go b/cloudformation/pinpointemail/aws-pinpointemail-configurationseteventdestination.go index fe539d931d..c7a7d1ed83 100644 --- a/cloudformation/pinpointemail/aws-pinpointemail-configurationseteventdestination.go +++ b/cloudformation/pinpointemail/aws-pinpointemail-configurationseteventdestination.go @@ -30,6 +30,9 @@ type ConfigurationSetEventDestination struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *ConfigurationSetEventDestination) AWSCloudFormationType() string { func (r ConfigurationSetEventDestination) MarshalJSON() ([]byte, error) { type Properties ConfigurationSetEventDestination return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r ConfigurationSetEventDestination) MarshalJSON() ([]byte, error) { func (r *ConfigurationSetEventDestination) UnmarshalJSON(b []byte) error { type Properties ConfigurationSetEventDestination res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *ConfigurationSetEventDestination) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/pinpointemail/aws-pinpointemail-configurationseteventdestination_cloudwatchdestination.go b/cloudformation/pinpointemail/aws-pinpointemail-configurationseteventdestination_cloudwatchdestination.go index 54195634d1..522b7c3322 100644 --- a/cloudformation/pinpointemail/aws-pinpointemail-configurationseteventdestination_cloudwatchdestination.go +++ b/cloudformation/pinpointemail/aws-pinpointemail-configurationseteventdestination_cloudwatchdestination.go @@ -16,6 +16,9 @@ type ConfigurationSetEventDestination_CloudWatchDestination struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/pinpointemail/aws-pinpointemail-configurationseteventdestination_dimensionconfiguration.go b/cloudformation/pinpointemail/aws-pinpointemail-configurationseteventdestination_dimensionconfiguration.go index 4b1a9d16ae..2381056296 100644 --- a/cloudformation/pinpointemail/aws-pinpointemail-configurationseteventdestination_dimensionconfiguration.go +++ b/cloudformation/pinpointemail/aws-pinpointemail-configurationseteventdestination_dimensionconfiguration.go @@ -26,6 +26,9 @@ type ConfigurationSetEventDestination_DimensionConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/pinpointemail/aws-pinpointemail-configurationseteventdestination_eventdestination.go b/cloudformation/pinpointemail/aws-pinpointemail-configurationseteventdestination_eventdestination.go index 7a4fd465f0..b7dfd29c57 100644 --- a/cloudformation/pinpointemail/aws-pinpointemail-configurationseteventdestination_eventdestination.go +++ b/cloudformation/pinpointemail/aws-pinpointemail-configurationseteventdestination_eventdestination.go @@ -41,6 +41,9 @@ type ConfigurationSetEventDestination_EventDestination struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/pinpointemail/aws-pinpointemail-configurationseteventdestination_kinesisfirehosedestination.go b/cloudformation/pinpointemail/aws-pinpointemail-configurationseteventdestination_kinesisfirehosedestination.go index 4b25ee0b9c..d8fe078a6c 100644 --- a/cloudformation/pinpointemail/aws-pinpointemail-configurationseteventdestination_kinesisfirehosedestination.go +++ b/cloudformation/pinpointemail/aws-pinpointemail-configurationseteventdestination_kinesisfirehosedestination.go @@ -21,6 +21,9 @@ type ConfigurationSetEventDestination_KinesisFirehoseDestination struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/pinpointemail/aws-pinpointemail-configurationseteventdestination_pinpointdestination.go b/cloudformation/pinpointemail/aws-pinpointemail-configurationseteventdestination_pinpointdestination.go index 2c729aa2ed..067eecb721 100644 --- a/cloudformation/pinpointemail/aws-pinpointemail-configurationseteventdestination_pinpointdestination.go +++ b/cloudformation/pinpointemail/aws-pinpointemail-configurationseteventdestination_pinpointdestination.go @@ -16,6 +16,9 @@ type ConfigurationSetEventDestination_PinpointDestination struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/pinpointemail/aws-pinpointemail-configurationseteventdestination_snsdestination.go b/cloudformation/pinpointemail/aws-pinpointemail-configurationseteventdestination_snsdestination.go index 0dda0378a8..06102aff27 100644 --- a/cloudformation/pinpointemail/aws-pinpointemail-configurationseteventdestination_snsdestination.go +++ b/cloudformation/pinpointemail/aws-pinpointemail-configurationseteventdestination_snsdestination.go @@ -16,6 +16,9 @@ type ConfigurationSetEventDestination_SnsDestination struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/pinpointemail/aws-pinpointemail-dedicatedippool.go b/cloudformation/pinpointemail/aws-pinpointemail-dedicatedippool.go index e23d7c2916..d50c2a4ff3 100644 --- a/cloudformation/pinpointemail/aws-pinpointemail-dedicatedippool.go +++ b/cloudformation/pinpointemail/aws-pinpointemail-dedicatedippool.go @@ -25,6 +25,9 @@ type DedicatedIpPool struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *DedicatedIpPool) AWSCloudFormationType() string { func (r DedicatedIpPool) MarshalJSON() ([]byte, error) { type Properties DedicatedIpPool return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r DedicatedIpPool) MarshalJSON() ([]byte, error) { func (r *DedicatedIpPool) UnmarshalJSON(b []byte) error { type Properties DedicatedIpPool res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *DedicatedIpPool) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/pinpointemail/aws-pinpointemail-dedicatedippool_tags.go b/cloudformation/pinpointemail/aws-pinpointemail-dedicatedippool_tags.go index 76bd4bc8c7..142a1aca28 100644 --- a/cloudformation/pinpointemail/aws-pinpointemail-dedicatedippool_tags.go +++ b/cloudformation/pinpointemail/aws-pinpointemail-dedicatedippool_tags.go @@ -21,6 +21,9 @@ type DedicatedIpPool_Tags struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/pinpointemail/aws-pinpointemail-identity.go b/cloudformation/pinpointemail/aws-pinpointemail-identity.go index 01f5b2289a..408bd6bd12 100644 --- a/cloudformation/pinpointemail/aws-pinpointemail-identity.go +++ b/cloudformation/pinpointemail/aws-pinpointemail-identity.go @@ -40,6 +40,9 @@ type Identity struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -60,19 +63,21 @@ func (r *Identity) AWSCloudFormationType() string { func (r Identity) MarshalJSON() ([]byte, error) { type Properties Identity return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -81,12 +86,13 @@ func (r Identity) MarshalJSON() ([]byte, error) { func (r *Identity) UnmarshalJSON(b []byte) error { type Properties Identity res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -110,6 +116,9 @@ func (r *Identity) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/pinpointemail/aws-pinpointemail-identity_mailfromattributes.go b/cloudformation/pinpointemail/aws-pinpointemail-identity_mailfromattributes.go index becb4641d8..4ff49aa683 100644 --- a/cloudformation/pinpointemail/aws-pinpointemail-identity_mailfromattributes.go +++ b/cloudformation/pinpointemail/aws-pinpointemail-identity_mailfromattributes.go @@ -21,6 +21,9 @@ type Identity_MailFromAttributes struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/pinpointemail/aws-pinpointemail-identity_tags.go b/cloudformation/pinpointemail/aws-pinpointemail-identity_tags.go index 3c1dccefe2..17cb15ab58 100644 --- a/cloudformation/pinpointemail/aws-pinpointemail-identity_tags.go +++ b/cloudformation/pinpointemail/aws-pinpointemail-identity_tags.go @@ -21,6 +21,9 @@ type Identity_Tags struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/qldb/aws-qldb-ledger.go b/cloudformation/qldb/aws-qldb-ledger.go index ca2e0c4392..2dca050cb3 100644 --- a/cloudformation/qldb/aws-qldb-ledger.go +++ b/cloudformation/qldb/aws-qldb-ledger.go @@ -36,6 +36,9 @@ type Ledger struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -56,19 +59,21 @@ func (r *Ledger) AWSCloudFormationType() string { func (r Ledger) MarshalJSON() ([]byte, error) { type Properties Ledger return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -77,12 +82,13 @@ func (r Ledger) MarshalJSON() ([]byte, error) { func (r *Ledger) UnmarshalJSON(b []byte) error { type Properties Ledger res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -106,6 +112,9 @@ func (r *Ledger) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ram/aws-ram-resourceshare.go b/cloudformation/ram/aws-ram-resourceshare.go index 184ea96b25..6616600b0d 100644 --- a/cloudformation/ram/aws-ram-resourceshare.go +++ b/cloudformation/ram/aws-ram-resourceshare.go @@ -41,6 +41,9 @@ type ResourceShare struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -61,19 +64,21 @@ func (r *ResourceShare) AWSCloudFormationType() string { func (r ResourceShare) MarshalJSON() ([]byte, error) { type Properties ResourceShare return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -82,12 +87,13 @@ func (r ResourceShare) MarshalJSON() ([]byte, error) { func (r *ResourceShare) UnmarshalJSON(b []byte) error { type Properties ResourceShare res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -111,6 +117,9 @@ func (r *ResourceShare) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/rds/aws-rds-dbcluster.go b/cloudformation/rds/aws-rds-dbcluster.go index cc276a4be4..e535585406 100644 --- a/cloudformation/rds/aws-rds-dbcluster.go +++ b/cloudformation/rds/aws-rds-dbcluster.go @@ -171,6 +171,9 @@ type DBCluster struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -191,19 +194,21 @@ func (r *DBCluster) AWSCloudFormationType() string { func (r DBCluster) MarshalJSON() ([]byte, error) { type Properties DBCluster return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -212,12 +217,13 @@ func (r DBCluster) MarshalJSON() ([]byte, error) { func (r *DBCluster) UnmarshalJSON(b []byte) error { type Properties DBCluster res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -241,6 +247,9 @@ func (r *DBCluster) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/rds/aws-rds-dbcluster_dbclusterrole.go b/cloudformation/rds/aws-rds-dbcluster_dbclusterrole.go index 1b73fdefd3..32bad41619 100644 --- a/cloudformation/rds/aws-rds-dbcluster_dbclusterrole.go +++ b/cloudformation/rds/aws-rds-dbcluster_dbclusterrole.go @@ -21,6 +21,9 @@ type DBCluster_DBClusterRole struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/rds/aws-rds-dbcluster_scalingconfiguration.go b/cloudformation/rds/aws-rds-dbcluster_scalingconfiguration.go index 97cb028988..fab84000a6 100644 --- a/cloudformation/rds/aws-rds-dbcluster_scalingconfiguration.go +++ b/cloudformation/rds/aws-rds-dbcluster_scalingconfiguration.go @@ -31,6 +31,9 @@ type DBCluster_ScalingConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/rds/aws-rds-dbclusterparametergroup.go b/cloudformation/rds/aws-rds-dbclusterparametergroup.go index 7ae8a5955e..c96ff8ef7e 100644 --- a/cloudformation/rds/aws-rds-dbclusterparametergroup.go +++ b/cloudformation/rds/aws-rds-dbclusterparametergroup.go @@ -36,6 +36,9 @@ type DBClusterParameterGroup struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -56,19 +59,21 @@ func (r *DBClusterParameterGroup) AWSCloudFormationType() string { func (r DBClusterParameterGroup) MarshalJSON() ([]byte, error) { type Properties DBClusterParameterGroup return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -77,12 +82,13 @@ func (r DBClusterParameterGroup) MarshalJSON() ([]byte, error) { func (r *DBClusterParameterGroup) UnmarshalJSON(b []byte) error { type Properties DBClusterParameterGroup res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -106,6 +112,9 @@ func (r *DBClusterParameterGroup) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/rds/aws-rds-dbinstance.go b/cloudformation/rds/aws-rds-dbinstance.go index ee50484724..b25b0bdc31 100644 --- a/cloudformation/rds/aws-rds-dbinstance.go +++ b/cloudformation/rds/aws-rds-dbinstance.go @@ -276,6 +276,9 @@ type DBInstance struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -296,19 +299,21 @@ func (r *DBInstance) AWSCloudFormationType() string { func (r DBInstance) MarshalJSON() ([]byte, error) { type Properties DBInstance return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -317,12 +322,13 @@ func (r DBInstance) MarshalJSON() ([]byte, error) { func (r *DBInstance) UnmarshalJSON(b []byte) error { type Properties DBInstance res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -346,6 +352,9 @@ func (r *DBInstance) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/rds/aws-rds-dbinstance_dbinstancerole.go b/cloudformation/rds/aws-rds-dbinstance_dbinstancerole.go index 7be42c393b..8d15d71366 100644 --- a/cloudformation/rds/aws-rds-dbinstance_dbinstancerole.go +++ b/cloudformation/rds/aws-rds-dbinstance_dbinstancerole.go @@ -21,6 +21,9 @@ type DBInstance_DBInstanceRole struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/rds/aws-rds-dbinstance_processorfeature.go b/cloudformation/rds/aws-rds-dbinstance_processorfeature.go index d9dad523d0..44f801b40e 100644 --- a/cloudformation/rds/aws-rds-dbinstance_processorfeature.go +++ b/cloudformation/rds/aws-rds-dbinstance_processorfeature.go @@ -21,6 +21,9 @@ type DBInstance_ProcessorFeature struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/rds/aws-rds-dbparametergroup.go b/cloudformation/rds/aws-rds-dbparametergroup.go index 7bbf02e5e1..d810ae7abe 100644 --- a/cloudformation/rds/aws-rds-dbparametergroup.go +++ b/cloudformation/rds/aws-rds-dbparametergroup.go @@ -36,6 +36,9 @@ type DBParameterGroup struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -56,19 +59,21 @@ func (r *DBParameterGroup) AWSCloudFormationType() string { func (r DBParameterGroup) MarshalJSON() ([]byte, error) { type Properties DBParameterGroup return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -77,12 +82,13 @@ func (r DBParameterGroup) MarshalJSON() ([]byte, error) { func (r *DBParameterGroup) UnmarshalJSON(b []byte) error { type Properties DBParameterGroup res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -106,6 +112,9 @@ func (r *DBParameterGroup) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/rds/aws-rds-dbproxy.go b/cloudformation/rds/aws-rds-dbproxy.go new file mode 100644 index 0000000000..7ccd834fb7 --- /dev/null +++ b/cloudformation/rds/aws-rds-dbproxy.go @@ -0,0 +1,151 @@ +package rds + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DBProxy AWS CloudFormation Resource (AWS::RDS::DBProxy) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxy.html +type DBProxy struct { + + // Auth AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxy.html#cfn-rds-dbproxy-auth + Auth []DBProxy_AuthFormat `json:"Auth,omitempty"` + + // DBProxyName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxy.html#cfn-rds-dbproxy-dbproxyname + DBProxyName string `json:"DBProxyName,omitempty"` + + // DebugLogging AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxy.html#cfn-rds-dbproxy-debuglogging + DebugLogging bool `json:"DebugLogging,omitempty"` + + // EngineFamily AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxy.html#cfn-rds-dbproxy-enginefamily + EngineFamily string `json:"EngineFamily,omitempty"` + + // IdleClientTimeout AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxy.html#cfn-rds-dbproxy-idleclienttimeout + IdleClientTimeout int `json:"IdleClientTimeout,omitempty"` + + // RequireTLS AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxy.html#cfn-rds-dbproxy-requiretls + RequireTLS bool `json:"RequireTLS,omitempty"` + + // RoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxy.html#cfn-rds-dbproxy-rolearn + RoleArn string `json:"RoleArn,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxy.html#cfn-rds-dbproxy-tags + Tags []DBProxy_TagFormat `json:"Tags,omitempty"` + + // VpcSecurityGroupIds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxy.html#cfn-rds-dbproxy-vpcsecuritygroupids + VpcSecurityGroupIds []string `json:"VpcSecurityGroupIds,omitempty"` + + // VpcSubnetIds AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxy.html#cfn-rds-dbproxy-vpcsubnetids + VpcSubnetIds []string `json:"VpcSubnetIds,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DBProxy) AWSCloudFormationType() string { + return "AWS::RDS::DBProxy" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r DBProxy) MarshalJSON() ([]byte, error) { + type Properties DBProxy + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *DBProxy) UnmarshalJSON(b []byte) error { + type Properties DBProxy + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = DBProxy(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/rds/aws-rds-dbproxy_authformat.go b/cloudformation/rds/aws-rds-dbproxy_authformat.go new file mode 100644 index 0000000000..e5fd776ea4 --- /dev/null +++ b/cloudformation/rds/aws-rds-dbproxy_authformat.go @@ -0,0 +1,55 @@ +package rds + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DBProxy_AuthFormat AWS CloudFormation Resource (AWS::RDS::DBProxy.AuthFormat) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbproxy-authformat.html +type DBProxy_AuthFormat struct { + + // AuthScheme AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbproxy-authformat.html#cfn-rds-dbproxy-authformat-authscheme + AuthScheme string `json:"AuthScheme,omitempty"` + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbproxy-authformat.html#cfn-rds-dbproxy-authformat-description + Description string `json:"Description,omitempty"` + + // IAMAuth AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbproxy-authformat.html#cfn-rds-dbproxy-authformat-iamauth + IAMAuth string `json:"IAMAuth,omitempty"` + + // SecretArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbproxy-authformat.html#cfn-rds-dbproxy-authformat-secretarn + SecretArn string `json:"SecretArn,omitempty"` + + // UserName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbproxy-authformat.html#cfn-rds-dbproxy-authformat-username + UserName string `json:"UserName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DBProxy_AuthFormat) AWSCloudFormationType() string { + return "AWS::RDS::DBProxy.AuthFormat" +} diff --git a/cloudformation/rds/aws-rds-dbproxy_tagformat.go b/cloudformation/rds/aws-rds-dbproxy_tagformat.go new file mode 100644 index 0000000000..c93738c10f --- /dev/null +++ b/cloudformation/rds/aws-rds-dbproxy_tagformat.go @@ -0,0 +1,40 @@ +package rds + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DBProxy_TagFormat AWS CloudFormation Resource (AWS::RDS::DBProxy.TagFormat) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbproxy-tagformat.html +type DBProxy_TagFormat struct { + + // Key AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbproxy-tagformat.html#cfn-rds-dbproxy-tagformat-key + Key string `json:"Key,omitempty"` + + // Value AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbproxy-tagformat.html#cfn-rds-dbproxy-tagformat-value + Value string `json:"Value,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DBProxy_TagFormat) AWSCloudFormationType() string { + return "AWS::RDS::DBProxy.TagFormat" +} diff --git a/cloudformation/rds/aws-rds-dbproxytargetgroup.go b/cloudformation/rds/aws-rds-dbproxytargetgroup.go new file mode 100644 index 0000000000..4d91774bc7 --- /dev/null +++ b/cloudformation/rds/aws-rds-dbproxytargetgroup.go @@ -0,0 +1,121 @@ +package rds + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DBProxyTargetGroup AWS CloudFormation Resource (AWS::RDS::DBProxyTargetGroup) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxytargetgroup.html +type DBProxyTargetGroup struct { + + // ConnectionPoolConfigurationInfo AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxytargetgroup.html#cfn-rds-dbproxytargetgroup-connectionpoolconfigurationinfo + ConnectionPoolConfigurationInfo *DBProxyTargetGroup_ConnectionPoolConfigurationInfoFormat `json:"ConnectionPoolConfigurationInfo,omitempty"` + + // DBClusterIdentifiers AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxytargetgroup.html#cfn-rds-dbproxytargetgroup-dbclusteridentifiers + DBClusterIdentifiers []string `json:"DBClusterIdentifiers,omitempty"` + + // DBInstanceIdentifiers AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxytargetgroup.html#cfn-rds-dbproxytargetgroup-dbinstanceidentifiers + DBInstanceIdentifiers []string `json:"DBInstanceIdentifiers,omitempty"` + + // DBProxyName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxytargetgroup.html#cfn-rds-dbproxytargetgroup-dbproxyname + DBProxyName string `json:"DBProxyName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DBProxyTargetGroup) AWSCloudFormationType() string { + return "AWS::RDS::DBProxyTargetGroup" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r DBProxyTargetGroup) MarshalJSON() ([]byte, error) { + type Properties DBProxyTargetGroup + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *DBProxyTargetGroup) UnmarshalJSON(b []byte) error { + type Properties DBProxyTargetGroup + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = DBProxyTargetGroup(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/rds/aws-rds-dbproxytargetgroup_connectionpoolconfigurationinfoformat.go b/cloudformation/rds/aws-rds-dbproxytargetgroup_connectionpoolconfigurationinfoformat.go new file mode 100644 index 0000000000..6cb56139db --- /dev/null +++ b/cloudformation/rds/aws-rds-dbproxytargetgroup_connectionpoolconfigurationinfoformat.go @@ -0,0 +1,55 @@ +package rds + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DBProxyTargetGroup_ConnectionPoolConfigurationInfoFormat AWS CloudFormation Resource (AWS::RDS::DBProxyTargetGroup.ConnectionPoolConfigurationInfoFormat) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbproxytargetgroup-connectionpoolconfigurationinfoformat.html +type DBProxyTargetGroup_ConnectionPoolConfigurationInfoFormat struct { + + // ConnectionBorrowTimeout AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbproxytargetgroup-connectionpoolconfigurationinfoformat.html#cfn-rds-dbproxytargetgroup-connectionpoolconfigurationinfoformat-connectionborrowtimeout + ConnectionBorrowTimeout int `json:"ConnectionBorrowTimeout,omitempty"` + + // InitQuery AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbproxytargetgroup-connectionpoolconfigurationinfoformat.html#cfn-rds-dbproxytargetgroup-connectionpoolconfigurationinfoformat-initquery + InitQuery string `json:"InitQuery,omitempty"` + + // MaxConnectionsPercent AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbproxytargetgroup-connectionpoolconfigurationinfoformat.html#cfn-rds-dbproxytargetgroup-connectionpoolconfigurationinfoformat-maxconnectionspercent + MaxConnectionsPercent int `json:"MaxConnectionsPercent,omitempty"` + + // MaxIdleConnectionsPercent AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbproxytargetgroup-connectionpoolconfigurationinfoformat.html#cfn-rds-dbproxytargetgroup-connectionpoolconfigurationinfoformat-maxidleconnectionspercent + MaxIdleConnectionsPercent int `json:"MaxIdleConnectionsPercent,omitempty"` + + // SessionPinningFilters AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbproxytargetgroup-connectionpoolconfigurationinfoformat.html#cfn-rds-dbproxytargetgroup-connectionpoolconfigurationinfoformat-sessionpinningfilters + SessionPinningFilters []string `json:"SessionPinningFilters,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DBProxyTargetGroup_ConnectionPoolConfigurationInfoFormat) AWSCloudFormationType() string { + return "AWS::RDS::DBProxyTargetGroup.ConnectionPoolConfigurationInfoFormat" +} diff --git a/cloudformation/rds/aws-rds-dbsecuritygroup.go b/cloudformation/rds/aws-rds-dbsecuritygroup.go index 8191977c77..25ddaffb2c 100644 --- a/cloudformation/rds/aws-rds-dbsecuritygroup.go +++ b/cloudformation/rds/aws-rds-dbsecuritygroup.go @@ -36,6 +36,9 @@ type DBSecurityGroup struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -56,19 +59,21 @@ func (r *DBSecurityGroup) AWSCloudFormationType() string { func (r DBSecurityGroup) MarshalJSON() ([]byte, error) { type Properties DBSecurityGroup return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -77,12 +82,13 @@ func (r DBSecurityGroup) MarshalJSON() ([]byte, error) { func (r *DBSecurityGroup) UnmarshalJSON(b []byte) error { type Properties DBSecurityGroup res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -106,6 +112,9 @@ func (r *DBSecurityGroup) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/rds/aws-rds-dbsecuritygroup_ingress.go b/cloudformation/rds/aws-rds-dbsecuritygroup_ingress.go index a44f74bf5a..175e928da4 100644 --- a/cloudformation/rds/aws-rds-dbsecuritygroup_ingress.go +++ b/cloudformation/rds/aws-rds-dbsecuritygroup_ingress.go @@ -31,6 +31,9 @@ type DBSecurityGroup_Ingress struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/rds/aws-rds-dbsecuritygroupingress.go b/cloudformation/rds/aws-rds-dbsecuritygroupingress.go index 59d8a11c95..6acdaaf174 100644 --- a/cloudformation/rds/aws-rds-dbsecuritygroupingress.go +++ b/cloudformation/rds/aws-rds-dbsecuritygroupingress.go @@ -40,6 +40,9 @@ type DBSecurityGroupIngress struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -60,19 +63,21 @@ func (r *DBSecurityGroupIngress) AWSCloudFormationType() string { func (r DBSecurityGroupIngress) MarshalJSON() ([]byte, error) { type Properties DBSecurityGroupIngress return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -81,12 +86,13 @@ func (r DBSecurityGroupIngress) MarshalJSON() ([]byte, error) { func (r *DBSecurityGroupIngress) UnmarshalJSON(b []byte) error { type Properties DBSecurityGroupIngress res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -110,6 +116,9 @@ func (r *DBSecurityGroupIngress) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/rds/aws-rds-dbsubnetgroup.go b/cloudformation/rds/aws-rds-dbsubnetgroup.go index 5827f7bb60..26ca91e1b1 100644 --- a/cloudformation/rds/aws-rds-dbsubnetgroup.go +++ b/cloudformation/rds/aws-rds-dbsubnetgroup.go @@ -36,6 +36,9 @@ type DBSubnetGroup struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -56,19 +59,21 @@ func (r *DBSubnetGroup) AWSCloudFormationType() string { func (r DBSubnetGroup) MarshalJSON() ([]byte, error) { type Properties DBSubnetGroup return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -77,12 +82,13 @@ func (r DBSubnetGroup) MarshalJSON() ([]byte, error) { func (r *DBSubnetGroup) UnmarshalJSON(b []byte) error { type Properties DBSubnetGroup res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -106,6 +112,9 @@ func (r *DBSubnetGroup) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/rds/aws-rds-eventsubscription.go b/cloudformation/rds/aws-rds-eventsubscription.go index ffec55ed9a..b593467fb4 100644 --- a/cloudformation/rds/aws-rds-eventsubscription.go +++ b/cloudformation/rds/aws-rds-eventsubscription.go @@ -40,6 +40,9 @@ type EventSubscription struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -60,19 +63,21 @@ func (r *EventSubscription) AWSCloudFormationType() string { func (r EventSubscription) MarshalJSON() ([]byte, error) { type Properties EventSubscription return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -81,12 +86,13 @@ func (r EventSubscription) MarshalJSON() ([]byte, error) { func (r *EventSubscription) UnmarshalJSON(b []byte) error { type Properties EventSubscription res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -110,6 +116,9 @@ func (r *EventSubscription) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/rds/aws-rds-optiongroup.go b/cloudformation/rds/aws-rds-optiongroup.go index cc578fc5a7..86398ecc83 100644 --- a/cloudformation/rds/aws-rds-optiongroup.go +++ b/cloudformation/rds/aws-rds-optiongroup.go @@ -41,6 +41,9 @@ type OptionGroup struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -61,19 +64,21 @@ func (r *OptionGroup) AWSCloudFormationType() string { func (r OptionGroup) MarshalJSON() ([]byte, error) { type Properties OptionGroup return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -82,12 +87,13 @@ func (r OptionGroup) MarshalJSON() ([]byte, error) { func (r *OptionGroup) UnmarshalJSON(b []byte) error { type Properties OptionGroup res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -111,6 +117,9 @@ func (r *OptionGroup) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/rds/aws-rds-optiongroup_optionconfiguration.go b/cloudformation/rds/aws-rds-optiongroup_optionconfiguration.go index 01e2a0877d..2bc6cf11c6 100644 --- a/cloudformation/rds/aws-rds-optiongroup_optionconfiguration.go +++ b/cloudformation/rds/aws-rds-optiongroup_optionconfiguration.go @@ -41,6 +41,9 @@ type OptionGroup_OptionConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/rds/aws-rds-optiongroup_optionsetting.go b/cloudformation/rds/aws-rds-optiongroup_optionsetting.go index 4401be77e5..3c89a459ff 100644 --- a/cloudformation/rds/aws-rds-optiongroup_optionsetting.go +++ b/cloudformation/rds/aws-rds-optiongroup_optionsetting.go @@ -21,6 +21,9 @@ type OptionGroup_OptionSetting struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/redshift/aws-redshift-cluster.go b/cloudformation/redshift/aws-redshift-cluster.go index 559093ae8b..0763744ee1 100644 --- a/cloudformation/redshift/aws-redshift-cluster.go +++ b/cloudformation/redshift/aws-redshift-cluster.go @@ -161,6 +161,9 @@ type Cluster struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -181,19 +184,21 @@ func (r *Cluster) AWSCloudFormationType() string { func (r Cluster) MarshalJSON() ([]byte, error) { type Properties Cluster return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -202,12 +207,13 @@ func (r Cluster) MarshalJSON() ([]byte, error) { func (r *Cluster) UnmarshalJSON(b []byte) error { type Properties Cluster res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -231,6 +237,9 @@ func (r *Cluster) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/redshift/aws-redshift-cluster_loggingproperties.go b/cloudformation/redshift/aws-redshift-cluster_loggingproperties.go index 05a9b108a4..b424081f1c 100644 --- a/cloudformation/redshift/aws-redshift-cluster_loggingproperties.go +++ b/cloudformation/redshift/aws-redshift-cluster_loggingproperties.go @@ -21,6 +21,9 @@ type Cluster_LoggingProperties struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/redshift/aws-redshift-clusterparametergroup.go b/cloudformation/redshift/aws-redshift-clusterparametergroup.go index 149ee61a61..f4a41dc8f1 100644 --- a/cloudformation/redshift/aws-redshift-clusterparametergroup.go +++ b/cloudformation/redshift/aws-redshift-clusterparametergroup.go @@ -36,6 +36,9 @@ type ClusterParameterGroup struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -56,19 +59,21 @@ func (r *ClusterParameterGroup) AWSCloudFormationType() string { func (r ClusterParameterGroup) MarshalJSON() ([]byte, error) { type Properties ClusterParameterGroup return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -77,12 +82,13 @@ func (r ClusterParameterGroup) MarshalJSON() ([]byte, error) { func (r *ClusterParameterGroup) UnmarshalJSON(b []byte) error { type Properties ClusterParameterGroup res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -106,6 +112,9 @@ func (r *ClusterParameterGroup) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/redshift/aws-redshift-clusterparametergroup_parameter.go b/cloudformation/redshift/aws-redshift-clusterparametergroup_parameter.go index 2cc311df0b..a10cf363bd 100644 --- a/cloudformation/redshift/aws-redshift-clusterparametergroup_parameter.go +++ b/cloudformation/redshift/aws-redshift-clusterparametergroup_parameter.go @@ -21,6 +21,9 @@ type ClusterParameterGroup_Parameter struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/redshift/aws-redshift-clustersecuritygroup.go b/cloudformation/redshift/aws-redshift-clustersecuritygroup.go index 2cab5cc38d..320196fc3a 100644 --- a/cloudformation/redshift/aws-redshift-clustersecuritygroup.go +++ b/cloudformation/redshift/aws-redshift-clustersecuritygroup.go @@ -26,6 +26,9 @@ type ClusterSecurityGroup struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -46,19 +49,21 @@ func (r *ClusterSecurityGroup) AWSCloudFormationType() string { func (r ClusterSecurityGroup) MarshalJSON() ([]byte, error) { type Properties ClusterSecurityGroup return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -67,12 +72,13 @@ func (r ClusterSecurityGroup) MarshalJSON() ([]byte, error) { func (r *ClusterSecurityGroup) UnmarshalJSON(b []byte) error { type Properties ClusterSecurityGroup res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -96,6 +102,9 @@ func (r *ClusterSecurityGroup) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/redshift/aws-redshift-clustersecuritygroupingress.go b/cloudformation/redshift/aws-redshift-clustersecuritygroupingress.go index aa3a54e060..ef6e665f21 100644 --- a/cloudformation/redshift/aws-redshift-clustersecuritygroupingress.go +++ b/cloudformation/redshift/aws-redshift-clustersecuritygroupingress.go @@ -35,6 +35,9 @@ type ClusterSecurityGroupIngress struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -55,19 +58,21 @@ func (r *ClusterSecurityGroupIngress) AWSCloudFormationType() string { func (r ClusterSecurityGroupIngress) MarshalJSON() ([]byte, error) { type Properties ClusterSecurityGroupIngress return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -76,12 +81,13 @@ func (r ClusterSecurityGroupIngress) MarshalJSON() ([]byte, error) { func (r *ClusterSecurityGroupIngress) UnmarshalJSON(b []byte) error { type Properties ClusterSecurityGroupIngress res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -105,6 +111,9 @@ func (r *ClusterSecurityGroupIngress) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/redshift/aws-redshift-clustersubnetgroup.go b/cloudformation/redshift/aws-redshift-clustersubnetgroup.go index c37da3c74e..cc8ce57cb6 100644 --- a/cloudformation/redshift/aws-redshift-clustersubnetgroup.go +++ b/cloudformation/redshift/aws-redshift-clustersubnetgroup.go @@ -31,6 +31,9 @@ type ClusterSubnetGroup struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -51,19 +54,21 @@ func (r *ClusterSubnetGroup) AWSCloudFormationType() string { func (r ClusterSubnetGroup) MarshalJSON() ([]byte, error) { type Properties ClusterSubnetGroup return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -72,12 +77,13 @@ func (r ClusterSubnetGroup) MarshalJSON() ([]byte, error) { func (r *ClusterSubnetGroup) UnmarshalJSON(b []byte) error { type Properties ClusterSubnetGroup res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -101,6 +107,9 @@ func (r *ClusterSubnetGroup) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/resourcegroups/aws-resourcegroups-group.go b/cloudformation/resourcegroups/aws-resourcegroups-group.go new file mode 100644 index 0000000000..cc9b4c898e --- /dev/null +++ b/cloudformation/resourcegroups/aws-resourcegroups-group.go @@ -0,0 +1,122 @@ +package resourcegroups + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// Group AWS CloudFormation Resource (AWS::ResourceGroups::Group) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourcegroups-group.html +type Group struct { + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourcegroups-group.html#cfn-resourcegroups-group-description + Description string `json:"Description,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourcegroups-group.html#cfn-resourcegroups-group-name + Name string `json:"Name,omitempty"` + + // ResourceQuery AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourcegroups-group.html#cfn-resourcegroups-group-resourcequery + ResourceQuery *Group_ResourceQuery `json:"ResourceQuery,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourcegroups-group.html#cfn-resourcegroups-group-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Group) AWSCloudFormationType() string { + return "AWS::ResourceGroups::Group" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r Group) MarshalJSON() ([]byte, error) { + type Properties Group + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *Group) UnmarshalJSON(b []byte) error { + type Properties Group + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = Group(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/resourcegroups/aws-resourcegroups-group_query.go b/cloudformation/resourcegroups/aws-resourcegroups-group_query.go new file mode 100644 index 0000000000..c758dba566 --- /dev/null +++ b/cloudformation/resourcegroups/aws-resourcegroups-group_query.go @@ -0,0 +1,45 @@ +package resourcegroups + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Group_Query AWS CloudFormation Resource (AWS::ResourceGroups::Group.Query) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resourcegroups-group-query.html +type Group_Query struct { + + // ResourceTypeFilters AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resourcegroups-group-query.html#cfn-resourcegroups-group-query-resourcetypefilters + ResourceTypeFilters []string `json:"ResourceTypeFilters,omitempty"` + + // StackIdentifier AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resourcegroups-group-query.html#cfn-resourcegroups-group-query-stackidentifier + StackIdentifier string `json:"StackIdentifier,omitempty"` + + // TagFilters AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resourcegroups-group-query.html#cfn-resourcegroups-group-query-tagfilters + TagFilters []Group_TagFilter `json:"TagFilters,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Group_Query) AWSCloudFormationType() string { + return "AWS::ResourceGroups::Group.Query" +} diff --git a/cloudformation/resourcegroups/aws-resourcegroups-group_resourcequery.go b/cloudformation/resourcegroups/aws-resourcegroups-group_resourcequery.go new file mode 100644 index 0000000000..1cabb144e5 --- /dev/null +++ b/cloudformation/resourcegroups/aws-resourcegroups-group_resourcequery.go @@ -0,0 +1,40 @@ +package resourcegroups + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Group_ResourceQuery AWS CloudFormation Resource (AWS::ResourceGroups::Group.ResourceQuery) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resourcegroups-group-resourcequery.html +type Group_ResourceQuery struct { + + // Query AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resourcegroups-group-resourcequery.html#cfn-resourcegroups-group-resourcequery-query + Query *Group_Query `json:"Query,omitempty"` + + // Type AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resourcegroups-group-resourcequery.html#cfn-resourcegroups-group-resourcequery-type + Type string `json:"Type,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Group_ResourceQuery) AWSCloudFormationType() string { + return "AWS::ResourceGroups::Group.ResourceQuery" +} diff --git a/cloudformation/resourcegroups/aws-resourcegroups-group_tagfilter.go b/cloudformation/resourcegroups/aws-resourcegroups-group_tagfilter.go new file mode 100644 index 0000000000..fb507ddbf5 --- /dev/null +++ b/cloudformation/resourcegroups/aws-resourcegroups-group_tagfilter.go @@ -0,0 +1,40 @@ +package resourcegroups + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Group_TagFilter AWS CloudFormation Resource (AWS::ResourceGroups::Group.TagFilter) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resourcegroups-group-tagfilter.html +type Group_TagFilter struct { + + // Key AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resourcegroups-group-tagfilter.html#cfn-resourcegroups-group-tagfilter-key + Key string `json:"Key,omitempty"` + + // Values AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resourcegroups-group-tagfilter.html#cfn-resourcegroups-group-tagfilter-values + Values []string `json:"Values,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Group_TagFilter) AWSCloudFormationType() string { + return "AWS::ResourceGroups::Group.TagFilter" +} diff --git a/cloudformation/robomaker/aws-robomaker-fleet.go b/cloudformation/robomaker/aws-robomaker-fleet.go index 1770b047b5..3c9040d374 100644 --- a/cloudformation/robomaker/aws-robomaker-fleet.go +++ b/cloudformation/robomaker/aws-robomaker-fleet.go @@ -25,6 +25,9 @@ type Fleet struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *Fleet) AWSCloudFormationType() string { func (r Fleet) MarshalJSON() ([]byte, error) { type Properties Fleet return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r Fleet) MarshalJSON() ([]byte, error) { func (r *Fleet) UnmarshalJSON(b []byte) error { type Properties Fleet res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *Fleet) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/robomaker/aws-robomaker-robot.go b/cloudformation/robomaker/aws-robomaker-robot.go index b1a662cc6e..ce9df40e03 100644 --- a/cloudformation/robomaker/aws-robomaker-robot.go +++ b/cloudformation/robomaker/aws-robomaker-robot.go @@ -40,6 +40,9 @@ type Robot struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -60,19 +63,21 @@ func (r *Robot) AWSCloudFormationType() string { func (r Robot) MarshalJSON() ([]byte, error) { type Properties Robot return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -81,12 +86,13 @@ func (r Robot) MarshalJSON() ([]byte, error) { func (r *Robot) UnmarshalJSON(b []byte) error { type Properties Robot res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -110,6 +116,9 @@ func (r *Robot) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/robomaker/aws-robomaker-robotapplication.go b/cloudformation/robomaker/aws-robomaker-robotapplication.go index f2af301055..318491d415 100644 --- a/cloudformation/robomaker/aws-robomaker-robotapplication.go +++ b/cloudformation/robomaker/aws-robomaker-robotapplication.go @@ -40,6 +40,9 @@ type RobotApplication struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -60,19 +63,21 @@ func (r *RobotApplication) AWSCloudFormationType() string { func (r RobotApplication) MarshalJSON() ([]byte, error) { type Properties RobotApplication return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -81,12 +86,13 @@ func (r RobotApplication) MarshalJSON() ([]byte, error) { func (r *RobotApplication) UnmarshalJSON(b []byte) error { type Properties RobotApplication res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -110,6 +116,9 @@ func (r *RobotApplication) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/robomaker/aws-robomaker-robotapplication_robotsoftwaresuite.go b/cloudformation/robomaker/aws-robomaker-robotapplication_robotsoftwaresuite.go index a5d6fdae8d..df07996afb 100644 --- a/cloudformation/robomaker/aws-robomaker-robotapplication_robotsoftwaresuite.go +++ b/cloudformation/robomaker/aws-robomaker-robotapplication_robotsoftwaresuite.go @@ -21,6 +21,9 @@ type RobotApplication_RobotSoftwareSuite struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/robomaker/aws-robomaker-robotapplication_sourceconfig.go b/cloudformation/robomaker/aws-robomaker-robotapplication_sourceconfig.go index 29f4782ef1..bf807e3f83 100644 --- a/cloudformation/robomaker/aws-robomaker-robotapplication_sourceconfig.go +++ b/cloudformation/robomaker/aws-robomaker-robotapplication_sourceconfig.go @@ -26,6 +26,9 @@ type RobotApplication_SourceConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/robomaker/aws-robomaker-robotapplicationversion.go b/cloudformation/robomaker/aws-robomaker-robotapplicationversion.go index 3e00e9ac5b..70fad54e71 100644 --- a/cloudformation/robomaker/aws-robomaker-robotapplicationversion.go +++ b/cloudformation/robomaker/aws-robomaker-robotapplicationversion.go @@ -25,6 +25,9 @@ type RobotApplicationVersion struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *RobotApplicationVersion) AWSCloudFormationType() string { func (r RobotApplicationVersion) MarshalJSON() ([]byte, error) { type Properties RobotApplicationVersion return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r RobotApplicationVersion) MarshalJSON() ([]byte, error) { func (r *RobotApplicationVersion) UnmarshalJSON(b []byte) error { type Properties RobotApplicationVersion res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *RobotApplicationVersion) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/robomaker/aws-robomaker-simulationapplication.go b/cloudformation/robomaker/aws-robomaker-simulationapplication.go index 7df072d440..e7a8f026ab 100644 --- a/cloudformation/robomaker/aws-robomaker-simulationapplication.go +++ b/cloudformation/robomaker/aws-robomaker-simulationapplication.go @@ -50,6 +50,9 @@ type SimulationApplication struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -70,19 +73,21 @@ func (r *SimulationApplication) AWSCloudFormationType() string { func (r SimulationApplication) MarshalJSON() ([]byte, error) { type Properties SimulationApplication return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -91,12 +96,13 @@ func (r SimulationApplication) MarshalJSON() ([]byte, error) { func (r *SimulationApplication) UnmarshalJSON(b []byte) error { type Properties SimulationApplication res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -120,6 +126,9 @@ func (r *SimulationApplication) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/robomaker/aws-robomaker-simulationapplication_renderingengine.go b/cloudformation/robomaker/aws-robomaker-simulationapplication_renderingengine.go index edb1b8c9c7..ea179edd43 100644 --- a/cloudformation/robomaker/aws-robomaker-simulationapplication_renderingengine.go +++ b/cloudformation/robomaker/aws-robomaker-simulationapplication_renderingengine.go @@ -21,6 +21,9 @@ type SimulationApplication_RenderingEngine struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/robomaker/aws-robomaker-simulationapplication_robotsoftwaresuite.go b/cloudformation/robomaker/aws-robomaker-simulationapplication_robotsoftwaresuite.go index 70dab0e65f..5bfd3a1220 100644 --- a/cloudformation/robomaker/aws-robomaker-simulationapplication_robotsoftwaresuite.go +++ b/cloudformation/robomaker/aws-robomaker-simulationapplication_robotsoftwaresuite.go @@ -21,6 +21,9 @@ type SimulationApplication_RobotSoftwareSuite struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/robomaker/aws-robomaker-simulationapplication_simulationsoftwaresuite.go b/cloudformation/robomaker/aws-robomaker-simulationapplication_simulationsoftwaresuite.go index a8248b845c..ba48051122 100644 --- a/cloudformation/robomaker/aws-robomaker-simulationapplication_simulationsoftwaresuite.go +++ b/cloudformation/robomaker/aws-robomaker-simulationapplication_simulationsoftwaresuite.go @@ -21,6 +21,9 @@ type SimulationApplication_SimulationSoftwareSuite struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/robomaker/aws-robomaker-simulationapplication_sourceconfig.go b/cloudformation/robomaker/aws-robomaker-simulationapplication_sourceconfig.go index 6ac4f4ee9f..dd98fba8c3 100644 --- a/cloudformation/robomaker/aws-robomaker-simulationapplication_sourceconfig.go +++ b/cloudformation/robomaker/aws-robomaker-simulationapplication_sourceconfig.go @@ -26,6 +26,9 @@ type SimulationApplication_SourceConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/robomaker/aws-robomaker-simulationapplicationversion.go b/cloudformation/robomaker/aws-robomaker-simulationapplicationversion.go index f2be538c1d..9a755f0417 100644 --- a/cloudformation/robomaker/aws-robomaker-simulationapplicationversion.go +++ b/cloudformation/robomaker/aws-robomaker-simulationapplicationversion.go @@ -25,6 +25,9 @@ type SimulationApplicationVersion struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *SimulationApplicationVersion) AWSCloudFormationType() string { func (r SimulationApplicationVersion) MarshalJSON() ([]byte, error) { type Properties SimulationApplicationVersion return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r SimulationApplicationVersion) MarshalJSON() ([]byte, error) { func (r *SimulationApplicationVersion) UnmarshalJSON(b []byte) error { type Properties SimulationApplicationVersion res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *SimulationApplicationVersion) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/route53/aws-route53-healthcheck.go b/cloudformation/route53/aws-route53-healthcheck.go index 538a942c28..8e000cde0b 100644 --- a/cloudformation/route53/aws-route53-healthcheck.go +++ b/cloudformation/route53/aws-route53-healthcheck.go @@ -25,6 +25,9 @@ type HealthCheck struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *HealthCheck) AWSCloudFormationType() string { func (r HealthCheck) MarshalJSON() ([]byte, error) { type Properties HealthCheck return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r HealthCheck) MarshalJSON() ([]byte, error) { func (r *HealthCheck) UnmarshalJSON(b []byte) error { type Properties HealthCheck res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *HealthCheck) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/route53/aws-route53-healthcheck_alarmidentifier.go b/cloudformation/route53/aws-route53-healthcheck_alarmidentifier.go index a15c02283f..3ba44d7284 100644 --- a/cloudformation/route53/aws-route53-healthcheck_alarmidentifier.go +++ b/cloudformation/route53/aws-route53-healthcheck_alarmidentifier.go @@ -21,6 +21,9 @@ type HealthCheck_AlarmIdentifier struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/route53/aws-route53-healthcheck_healthcheckconfig.go b/cloudformation/route53/aws-route53-healthcheck_healthcheckconfig.go index 9064cec30e..7e8113d620 100644 --- a/cloudformation/route53/aws-route53-healthcheck_healthcheckconfig.go +++ b/cloudformation/route53/aws-route53-healthcheck_healthcheckconfig.go @@ -91,6 +91,9 @@ type HealthCheck_HealthCheckConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/route53/aws-route53-healthcheck_healthchecktag.go b/cloudformation/route53/aws-route53-healthcheck_healthchecktag.go index 8743d2e562..a1f076919b 100644 --- a/cloudformation/route53/aws-route53-healthcheck_healthchecktag.go +++ b/cloudformation/route53/aws-route53-healthcheck_healthchecktag.go @@ -21,6 +21,9 @@ type HealthCheck_HealthCheckTag struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/route53/aws-route53-hostedzone.go b/cloudformation/route53/aws-route53-hostedzone.go index 66ba649dfe..619db50e2f 100644 --- a/cloudformation/route53/aws-route53-hostedzone.go +++ b/cloudformation/route53/aws-route53-hostedzone.go @@ -40,6 +40,9 @@ type HostedZone struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -60,19 +63,21 @@ func (r *HostedZone) AWSCloudFormationType() string { func (r HostedZone) MarshalJSON() ([]byte, error) { type Properties HostedZone return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -81,12 +86,13 @@ func (r HostedZone) MarshalJSON() ([]byte, error) { func (r *HostedZone) UnmarshalJSON(b []byte) error { type Properties HostedZone res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -110,6 +116,9 @@ func (r *HostedZone) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/route53/aws-route53-hostedzone_hostedzoneconfig.go b/cloudformation/route53/aws-route53-hostedzone_hostedzoneconfig.go index 6ddb1ce22f..eb1a870359 100644 --- a/cloudformation/route53/aws-route53-hostedzone_hostedzoneconfig.go +++ b/cloudformation/route53/aws-route53-hostedzone_hostedzoneconfig.go @@ -16,6 +16,9 @@ type HostedZone_HostedZoneConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/route53/aws-route53-hostedzone_hostedzonetag.go b/cloudformation/route53/aws-route53-hostedzone_hostedzonetag.go index d22d9d565e..5271e5a762 100644 --- a/cloudformation/route53/aws-route53-hostedzone_hostedzonetag.go +++ b/cloudformation/route53/aws-route53-hostedzone_hostedzonetag.go @@ -21,6 +21,9 @@ type HostedZone_HostedZoneTag struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/route53/aws-route53-hostedzone_queryloggingconfig.go b/cloudformation/route53/aws-route53-hostedzone_queryloggingconfig.go index aa7397b971..c8fba85e85 100644 --- a/cloudformation/route53/aws-route53-hostedzone_queryloggingconfig.go +++ b/cloudformation/route53/aws-route53-hostedzone_queryloggingconfig.go @@ -16,6 +16,9 @@ type HostedZone_QueryLoggingConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/route53/aws-route53-hostedzone_vpc.go b/cloudformation/route53/aws-route53-hostedzone_vpc.go index c076624af7..118a1ee903 100644 --- a/cloudformation/route53/aws-route53-hostedzone_vpc.go +++ b/cloudformation/route53/aws-route53-hostedzone_vpc.go @@ -21,6 +21,9 @@ type HostedZone_VPC struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/route53/aws-route53-recordset.go b/cloudformation/route53/aws-route53-recordset.go index 7003528764..b303566b83 100644 --- a/cloudformation/route53/aws-route53-recordset.go +++ b/cloudformation/route53/aws-route53-recordset.go @@ -90,6 +90,9 @@ type RecordSet struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -110,19 +113,21 @@ func (r *RecordSet) AWSCloudFormationType() string { func (r RecordSet) MarshalJSON() ([]byte, error) { type Properties RecordSet return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -131,12 +136,13 @@ func (r RecordSet) MarshalJSON() ([]byte, error) { func (r *RecordSet) UnmarshalJSON(b []byte) error { type Properties RecordSet res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -160,6 +166,9 @@ func (r *RecordSet) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/route53/aws-route53-recordset_aliastarget.go b/cloudformation/route53/aws-route53-recordset_aliastarget.go index 9fe4592908..dd41b57252 100644 --- a/cloudformation/route53/aws-route53-recordset_aliastarget.go +++ b/cloudformation/route53/aws-route53-recordset_aliastarget.go @@ -26,6 +26,9 @@ type RecordSet_AliasTarget struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/route53/aws-route53-recordset_geolocation.go b/cloudformation/route53/aws-route53-recordset_geolocation.go index 57f53002ec..80fff6b034 100644 --- a/cloudformation/route53/aws-route53-recordset_geolocation.go +++ b/cloudformation/route53/aws-route53-recordset_geolocation.go @@ -26,6 +26,9 @@ type RecordSet_GeoLocation struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/route53/aws-route53-recordsetgroup.go b/cloudformation/route53/aws-route53-recordsetgroup.go index a90b8c6eaf..e96e42e284 100644 --- a/cloudformation/route53/aws-route53-recordsetgroup.go +++ b/cloudformation/route53/aws-route53-recordsetgroup.go @@ -35,6 +35,9 @@ type RecordSetGroup struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -55,19 +58,21 @@ func (r *RecordSetGroup) AWSCloudFormationType() string { func (r RecordSetGroup) MarshalJSON() ([]byte, error) { type Properties RecordSetGroup return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -76,12 +81,13 @@ func (r RecordSetGroup) MarshalJSON() ([]byte, error) { func (r *RecordSetGroup) UnmarshalJSON(b []byte) error { type Properties RecordSetGroup res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -105,6 +111,9 @@ func (r *RecordSetGroup) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/route53/aws-route53-recordsetgroup_aliastarget.go b/cloudformation/route53/aws-route53-recordsetgroup_aliastarget.go index e782686130..1c2dc7105c 100644 --- a/cloudformation/route53/aws-route53-recordsetgroup_aliastarget.go +++ b/cloudformation/route53/aws-route53-recordsetgroup_aliastarget.go @@ -26,6 +26,9 @@ type RecordSetGroup_AliasTarget struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/route53/aws-route53-recordsetgroup_geolocation.go b/cloudformation/route53/aws-route53-recordsetgroup_geolocation.go index c0ed5396b2..3af6f4ab28 100644 --- a/cloudformation/route53/aws-route53-recordsetgroup_geolocation.go +++ b/cloudformation/route53/aws-route53-recordsetgroup_geolocation.go @@ -26,6 +26,9 @@ type RecordSetGroup_GeoLocation struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/route53/aws-route53-recordsetgroup_recordset.go b/cloudformation/route53/aws-route53-recordsetgroup_recordset.go index 470c6fdd6a..ad19655a00 100644 --- a/cloudformation/route53/aws-route53-recordsetgroup_recordset.go +++ b/cloudformation/route53/aws-route53-recordsetgroup_recordset.go @@ -86,6 +86,9 @@ type RecordSetGroup_RecordSet struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/route53resolver/aws-route53resolver-resolverendpoint.go b/cloudformation/route53resolver/aws-route53resolver-resolverendpoint.go index 6f7011eccb..9398f690ce 100644 --- a/cloudformation/route53resolver/aws-route53resolver-resolverendpoint.go +++ b/cloudformation/route53resolver/aws-route53resolver-resolverendpoint.go @@ -41,6 +41,9 @@ type ResolverEndpoint struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -61,19 +64,21 @@ func (r *ResolverEndpoint) AWSCloudFormationType() string { func (r ResolverEndpoint) MarshalJSON() ([]byte, error) { type Properties ResolverEndpoint return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -82,12 +87,13 @@ func (r ResolverEndpoint) MarshalJSON() ([]byte, error) { func (r *ResolverEndpoint) UnmarshalJSON(b []byte) error { type Properties ResolverEndpoint res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -111,6 +117,9 @@ func (r *ResolverEndpoint) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/route53resolver/aws-route53resolver-resolverendpoint_ipaddressrequest.go b/cloudformation/route53resolver/aws-route53resolver-resolverendpoint_ipaddressrequest.go index b173eafd1c..8b214717cb 100644 --- a/cloudformation/route53resolver/aws-route53resolver-resolverendpoint_ipaddressrequest.go +++ b/cloudformation/route53resolver/aws-route53resolver-resolverendpoint_ipaddressrequest.go @@ -21,6 +21,9 @@ type ResolverEndpoint_IpAddressRequest struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/route53resolver/aws-route53resolver-resolverrule.go b/cloudformation/route53resolver/aws-route53resolver-resolverrule.go index 38673dc3e9..b07212ed3e 100644 --- a/cloudformation/route53resolver/aws-route53resolver-resolverrule.go +++ b/cloudformation/route53resolver/aws-route53resolver-resolverrule.go @@ -46,6 +46,9 @@ type ResolverRule struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -66,19 +69,21 @@ func (r *ResolverRule) AWSCloudFormationType() string { func (r ResolverRule) MarshalJSON() ([]byte, error) { type Properties ResolverRule return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -87,12 +92,13 @@ func (r ResolverRule) MarshalJSON() ([]byte, error) { func (r *ResolverRule) UnmarshalJSON(b []byte) error { type Properties ResolverRule res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -116,6 +122,9 @@ func (r *ResolverRule) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/route53resolver/aws-route53resolver-resolverrule_targetaddress.go b/cloudformation/route53resolver/aws-route53resolver-resolverrule_targetaddress.go index 06b90c8744..ca91c5c7b1 100644 --- a/cloudformation/route53resolver/aws-route53resolver-resolverrule_targetaddress.go +++ b/cloudformation/route53resolver/aws-route53resolver-resolverrule_targetaddress.go @@ -21,6 +21,9 @@ type ResolverRule_TargetAddress struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/route53resolver/aws-route53resolver-resolverruleassociation.go b/cloudformation/route53resolver/aws-route53resolver-resolverruleassociation.go index 44542fbe82..6f56d03ba5 100644 --- a/cloudformation/route53resolver/aws-route53resolver-resolverruleassociation.go +++ b/cloudformation/route53resolver/aws-route53resolver-resolverruleassociation.go @@ -30,6 +30,9 @@ type ResolverRuleAssociation struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *ResolverRuleAssociation) AWSCloudFormationType() string { func (r ResolverRuleAssociation) MarshalJSON() ([]byte, error) { type Properties ResolverRuleAssociation return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r ResolverRuleAssociation) MarshalJSON() ([]byte, error) { func (r *ResolverRuleAssociation) UnmarshalJSON(b []byte) error { type Properties ResolverRuleAssociation res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *ResolverRuleAssociation) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/s3/aws-s3-accesspoint.go b/cloudformation/s3/aws-s3-accesspoint.go index 0b4b9fc1aa..ff22e0e784 100644 --- a/cloudformation/s3/aws-s3-accesspoint.go +++ b/cloudformation/s3/aws-s3-accesspoint.go @@ -55,6 +55,9 @@ type AccessPoint struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -75,19 +78,21 @@ func (r *AccessPoint) AWSCloudFormationType() string { func (r AccessPoint) MarshalJSON() ([]byte, error) { type Properties AccessPoint return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -96,12 +101,13 @@ func (r AccessPoint) MarshalJSON() ([]byte, error) { func (r *AccessPoint) UnmarshalJSON(b []byte) error { type Properties AccessPoint res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -125,6 +131,9 @@ func (r *AccessPoint) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/s3/aws-s3-accesspoint_publicaccessblockconfiguration.go b/cloudformation/s3/aws-s3-accesspoint_publicaccessblockconfiguration.go index 1a5f0a70d2..a9e405a287 100644 --- a/cloudformation/s3/aws-s3-accesspoint_publicaccessblockconfiguration.go +++ b/cloudformation/s3/aws-s3-accesspoint_publicaccessblockconfiguration.go @@ -31,6 +31,9 @@ type AccessPoint_PublicAccessBlockConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/s3/aws-s3-accesspoint_vpcconfiguration.go b/cloudformation/s3/aws-s3-accesspoint_vpcconfiguration.go index 4f8d6cca6d..8138971b1f 100644 --- a/cloudformation/s3/aws-s3-accesspoint_vpcconfiguration.go +++ b/cloudformation/s3/aws-s3-accesspoint_vpcconfiguration.go @@ -16,6 +16,9 @@ type AccessPoint_VpcConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/s3/aws-s3-bucket.go b/cloudformation/s3/aws-s3-bucket.go index 62e293d048..79f3df01fb 100644 --- a/cloudformation/s3/aws-s3-bucket.go +++ b/cloudformation/s3/aws-s3-bucket.go @@ -106,6 +106,9 @@ type Bucket struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -126,19 +129,21 @@ func (r *Bucket) AWSCloudFormationType() string { func (r Bucket) MarshalJSON() ([]byte, error) { type Properties Bucket return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -147,12 +152,13 @@ func (r Bucket) MarshalJSON() ([]byte, error) { func (r *Bucket) UnmarshalJSON(b []byte) error { type Properties Bucket res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -176,6 +182,9 @@ func (r *Bucket) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/s3/aws-s3-bucket_abortincompletemultipartupload.go b/cloudformation/s3/aws-s3-bucket_abortincompletemultipartupload.go index 60afe2ba37..dea25c2c00 100644 --- a/cloudformation/s3/aws-s3-bucket_abortincompletemultipartupload.go +++ b/cloudformation/s3/aws-s3-bucket_abortincompletemultipartupload.go @@ -16,6 +16,9 @@ type Bucket_AbortIncompleteMultipartUpload struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/s3/aws-s3-bucket_accelerateconfiguration.go b/cloudformation/s3/aws-s3-bucket_accelerateconfiguration.go index ca676e8bba..8c7eb0b63e 100644 --- a/cloudformation/s3/aws-s3-bucket_accelerateconfiguration.go +++ b/cloudformation/s3/aws-s3-bucket_accelerateconfiguration.go @@ -16,6 +16,9 @@ type Bucket_AccelerateConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/s3/aws-s3-bucket_accesscontroltranslation.go b/cloudformation/s3/aws-s3-bucket_accesscontroltranslation.go index 961819ebe4..1a20ff00e4 100644 --- a/cloudformation/s3/aws-s3-bucket_accesscontroltranslation.go +++ b/cloudformation/s3/aws-s3-bucket_accesscontroltranslation.go @@ -16,6 +16,9 @@ type Bucket_AccessControlTranslation struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/s3/aws-s3-bucket_analyticsconfiguration.go b/cloudformation/s3/aws-s3-bucket_analyticsconfiguration.go index 45e1c53cb5..b3a414e1da 100644 --- a/cloudformation/s3/aws-s3-bucket_analyticsconfiguration.go +++ b/cloudformation/s3/aws-s3-bucket_analyticsconfiguration.go @@ -31,6 +31,9 @@ type Bucket_AnalyticsConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/s3/aws-s3-bucket_bucketencryption.go b/cloudformation/s3/aws-s3-bucket_bucketencryption.go index 99ad3821bd..8a478b6023 100644 --- a/cloudformation/s3/aws-s3-bucket_bucketencryption.go +++ b/cloudformation/s3/aws-s3-bucket_bucketencryption.go @@ -16,6 +16,9 @@ type Bucket_BucketEncryption struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/s3/aws-s3-bucket_corsconfiguration.go b/cloudformation/s3/aws-s3-bucket_corsconfiguration.go index 7049e79e5b..f09aab6bf5 100644 --- a/cloudformation/s3/aws-s3-bucket_corsconfiguration.go +++ b/cloudformation/s3/aws-s3-bucket_corsconfiguration.go @@ -16,6 +16,9 @@ type Bucket_CorsConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/s3/aws-s3-bucket_corsrule.go b/cloudformation/s3/aws-s3-bucket_corsrule.go index bee2c9c386..f5dc5ff576 100644 --- a/cloudformation/s3/aws-s3-bucket_corsrule.go +++ b/cloudformation/s3/aws-s3-bucket_corsrule.go @@ -41,6 +41,9 @@ type Bucket_CorsRule struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/s3/aws-s3-bucket_dataexport.go b/cloudformation/s3/aws-s3-bucket_dataexport.go index a9bb487d16..94126c01cb 100644 --- a/cloudformation/s3/aws-s3-bucket_dataexport.go +++ b/cloudformation/s3/aws-s3-bucket_dataexport.go @@ -21,6 +21,9 @@ type Bucket_DataExport struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/s3/aws-s3-bucket_defaultretention.go b/cloudformation/s3/aws-s3-bucket_defaultretention.go index 529523604e..249b2beaf2 100644 --- a/cloudformation/s3/aws-s3-bucket_defaultretention.go +++ b/cloudformation/s3/aws-s3-bucket_defaultretention.go @@ -26,6 +26,9 @@ type Bucket_DefaultRetention struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/s3/aws-s3-bucket_deletemarkerreplication.go b/cloudformation/s3/aws-s3-bucket_deletemarkerreplication.go new file mode 100644 index 0000000000..145bf2caaf --- /dev/null +++ b/cloudformation/s3/aws-s3-bucket_deletemarkerreplication.go @@ -0,0 +1,35 @@ +package s3 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Bucket_DeleteMarkerReplication AWS CloudFormation Resource (AWS::S3::Bucket.DeleteMarkerReplication) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-deletemarkerreplication.html +type Bucket_DeleteMarkerReplication struct { + + // Status AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-deletemarkerreplication.html#cfn-s3-bucket-deletemarkerreplication-status + Status string `json:"Status,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Bucket_DeleteMarkerReplication) AWSCloudFormationType() string { + return "AWS::S3::Bucket.DeleteMarkerReplication" +} diff --git a/cloudformation/s3/aws-s3-bucket_destination.go b/cloudformation/s3/aws-s3-bucket_destination.go index 9ceda35a45..bfc28be950 100644 --- a/cloudformation/s3/aws-s3-bucket_destination.go +++ b/cloudformation/s3/aws-s3-bucket_destination.go @@ -31,6 +31,9 @@ type Bucket_Destination struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/s3/aws-s3-bucket_encryptionconfiguration.go b/cloudformation/s3/aws-s3-bucket_encryptionconfiguration.go index eb5191b548..6118346f9c 100644 --- a/cloudformation/s3/aws-s3-bucket_encryptionconfiguration.go +++ b/cloudformation/s3/aws-s3-bucket_encryptionconfiguration.go @@ -16,6 +16,9 @@ type Bucket_EncryptionConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/s3/aws-s3-bucket_filterrule.go b/cloudformation/s3/aws-s3-bucket_filterrule.go index 8bc9d51595..c7bb4b7222 100644 --- a/cloudformation/s3/aws-s3-bucket_filterrule.go +++ b/cloudformation/s3/aws-s3-bucket_filterrule.go @@ -21,6 +21,9 @@ type Bucket_FilterRule struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/s3/aws-s3-bucket_inventoryconfiguration.go b/cloudformation/s3/aws-s3-bucket_inventoryconfiguration.go index 7c8fc79710..d8178e67f7 100644 --- a/cloudformation/s3/aws-s3-bucket_inventoryconfiguration.go +++ b/cloudformation/s3/aws-s3-bucket_inventoryconfiguration.go @@ -46,6 +46,9 @@ type Bucket_InventoryConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/s3/aws-s3-bucket_lambdaconfiguration.go b/cloudformation/s3/aws-s3-bucket_lambdaconfiguration.go index 0f5c3aaad9..4e401ea73f 100644 --- a/cloudformation/s3/aws-s3-bucket_lambdaconfiguration.go +++ b/cloudformation/s3/aws-s3-bucket_lambdaconfiguration.go @@ -26,6 +26,9 @@ type Bucket_LambdaConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/s3/aws-s3-bucket_lifecycleconfiguration.go b/cloudformation/s3/aws-s3-bucket_lifecycleconfiguration.go index 40ea18021b..0194503120 100644 --- a/cloudformation/s3/aws-s3-bucket_lifecycleconfiguration.go +++ b/cloudformation/s3/aws-s3-bucket_lifecycleconfiguration.go @@ -16,6 +16,9 @@ type Bucket_LifecycleConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/s3/aws-s3-bucket_loggingconfiguration.go b/cloudformation/s3/aws-s3-bucket_loggingconfiguration.go index 33d4580ab8..e60eedb7a0 100644 --- a/cloudformation/s3/aws-s3-bucket_loggingconfiguration.go +++ b/cloudformation/s3/aws-s3-bucket_loggingconfiguration.go @@ -21,6 +21,9 @@ type Bucket_LoggingConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/s3/aws-s3-bucket_metrics.go b/cloudformation/s3/aws-s3-bucket_metrics.go new file mode 100644 index 0000000000..1b0b784be3 --- /dev/null +++ b/cloudformation/s3/aws-s3-bucket_metrics.go @@ -0,0 +1,40 @@ +package s3 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Bucket_Metrics AWS CloudFormation Resource (AWS::S3::Bucket.Metrics) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metrics.html +type Bucket_Metrics struct { + + // EventThreshold AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metrics.html#cfn-s3-bucket-metrics-eventthreshold + EventThreshold *Bucket_ReplicationTimeValue `json:"EventThreshold,omitempty"` + + // Status AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metrics.html#cfn-s3-bucket-metrics-status + Status string `json:"Status,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Bucket_Metrics) AWSCloudFormationType() string { + return "AWS::S3::Bucket.Metrics" +} diff --git a/cloudformation/s3/aws-s3-bucket_metricsconfiguration.go b/cloudformation/s3/aws-s3-bucket_metricsconfiguration.go index 306793b42a..850bf509ba 100644 --- a/cloudformation/s3/aws-s3-bucket_metricsconfiguration.go +++ b/cloudformation/s3/aws-s3-bucket_metricsconfiguration.go @@ -26,6 +26,9 @@ type Bucket_MetricsConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/s3/aws-s3-bucket_noncurrentversiontransition.go b/cloudformation/s3/aws-s3-bucket_noncurrentversiontransition.go index 5808fd202f..c322f356fe 100644 --- a/cloudformation/s3/aws-s3-bucket_noncurrentversiontransition.go +++ b/cloudformation/s3/aws-s3-bucket_noncurrentversiontransition.go @@ -21,6 +21,9 @@ type Bucket_NoncurrentVersionTransition struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/s3/aws-s3-bucket_notificationconfiguration.go b/cloudformation/s3/aws-s3-bucket_notificationconfiguration.go index 98ab040203..b10e82153c 100644 --- a/cloudformation/s3/aws-s3-bucket_notificationconfiguration.go +++ b/cloudformation/s3/aws-s3-bucket_notificationconfiguration.go @@ -26,6 +26,9 @@ type Bucket_NotificationConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/s3/aws-s3-bucket_notificationfilter.go b/cloudformation/s3/aws-s3-bucket_notificationfilter.go index 5f059373b7..8de67fae0a 100644 --- a/cloudformation/s3/aws-s3-bucket_notificationfilter.go +++ b/cloudformation/s3/aws-s3-bucket_notificationfilter.go @@ -16,6 +16,9 @@ type Bucket_NotificationFilter struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/s3/aws-s3-bucket_objectlockconfiguration.go b/cloudformation/s3/aws-s3-bucket_objectlockconfiguration.go index e7145c6ac5..eac4d39a4f 100644 --- a/cloudformation/s3/aws-s3-bucket_objectlockconfiguration.go +++ b/cloudformation/s3/aws-s3-bucket_objectlockconfiguration.go @@ -21,6 +21,9 @@ type Bucket_ObjectLockConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/s3/aws-s3-bucket_objectlockrule.go b/cloudformation/s3/aws-s3-bucket_objectlockrule.go index 6eeb0003ee..9ced2329de 100644 --- a/cloudformation/s3/aws-s3-bucket_objectlockrule.go +++ b/cloudformation/s3/aws-s3-bucket_objectlockrule.go @@ -16,6 +16,9 @@ type Bucket_ObjectLockRule struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/s3/aws-s3-bucket_publicaccessblockconfiguration.go b/cloudformation/s3/aws-s3-bucket_publicaccessblockconfiguration.go index 20537bf847..65b9a2b133 100644 --- a/cloudformation/s3/aws-s3-bucket_publicaccessblockconfiguration.go +++ b/cloudformation/s3/aws-s3-bucket_publicaccessblockconfiguration.go @@ -31,6 +31,9 @@ type Bucket_PublicAccessBlockConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/s3/aws-s3-bucket_queueconfiguration.go b/cloudformation/s3/aws-s3-bucket_queueconfiguration.go index a47051a412..48f764f8ca 100644 --- a/cloudformation/s3/aws-s3-bucket_queueconfiguration.go +++ b/cloudformation/s3/aws-s3-bucket_queueconfiguration.go @@ -26,6 +26,9 @@ type Bucket_QueueConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/s3/aws-s3-bucket_redirectallrequeststo.go b/cloudformation/s3/aws-s3-bucket_redirectallrequeststo.go index 9a3415d752..d02086f47c 100644 --- a/cloudformation/s3/aws-s3-bucket_redirectallrequeststo.go +++ b/cloudformation/s3/aws-s3-bucket_redirectallrequeststo.go @@ -21,6 +21,9 @@ type Bucket_RedirectAllRequestsTo struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/s3/aws-s3-bucket_redirectrule.go b/cloudformation/s3/aws-s3-bucket_redirectrule.go index 9eaa6d2603..d8de002b59 100644 --- a/cloudformation/s3/aws-s3-bucket_redirectrule.go +++ b/cloudformation/s3/aws-s3-bucket_redirectrule.go @@ -36,6 +36,9 @@ type Bucket_RedirectRule struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/s3/aws-s3-bucket_replicationconfiguration.go b/cloudformation/s3/aws-s3-bucket_replicationconfiguration.go index 633cec73ea..fb551ea58a 100644 --- a/cloudformation/s3/aws-s3-bucket_replicationconfiguration.go +++ b/cloudformation/s3/aws-s3-bucket_replicationconfiguration.go @@ -21,6 +21,9 @@ type Bucket_ReplicationConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/s3/aws-s3-bucket_replicationdestination.go b/cloudformation/s3/aws-s3-bucket_replicationdestination.go index be5e17432e..6ae0e383a9 100644 --- a/cloudformation/s3/aws-s3-bucket_replicationdestination.go +++ b/cloudformation/s3/aws-s3-bucket_replicationdestination.go @@ -28,6 +28,16 @@ type Bucket_ReplicationDestination struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules-destination.html#cfn-s3-bucket-replicationdestination-encryptionconfiguration EncryptionConfiguration *Bucket_EncryptionConfiguration `json:"EncryptionConfiguration,omitempty"` + // Metrics AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules-destination.html#cfn-s3-bucket-replicationdestination-metrics + Metrics *Bucket_Metrics `json:"Metrics,omitempty"` + + // ReplicationTime AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules-destination.html#cfn-s3-bucket-replicationdestination-replicationtime + ReplicationTime *Bucket_ReplicationTime `json:"ReplicationTime,omitempty"` + // StorageClass AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules-destination.html#cfn-s3-bucket-replicationconfiguration-rules-destination-storageclass @@ -36,6 +46,9 @@ type Bucket_ReplicationDestination struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/s3/aws-s3-bucket_replicationrule.go b/cloudformation/s3/aws-s3-bucket_replicationrule.go index 9c199e6ea9..eb4c664dad 100644 --- a/cloudformation/s3/aws-s3-bucket_replicationrule.go +++ b/cloudformation/s3/aws-s3-bucket_replicationrule.go @@ -8,21 +8,36 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules.html type Bucket_ReplicationRule struct { + // DeleteMarkerReplication AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules.html#cfn-s3-bucket-replicationrule-deletemarkerreplication + DeleteMarkerReplication *Bucket_DeleteMarkerReplication `json:"DeleteMarkerReplication,omitempty"` + // Destination AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules.html#cfn-s3-bucket-replicationconfiguration-rules-destination Destination *Bucket_ReplicationDestination `json:"Destination,omitempty"` + // Filter AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules.html#cfn-s3-bucket-replicationrule-filter + Filter *Bucket_ReplicationRuleFilter `json:"Filter,omitempty"` + // Id AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules.html#cfn-s3-bucket-replicationconfiguration-rules-id Id string `json:"Id,omitempty"` // Prefix AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules.html#cfn-s3-bucket-replicationconfiguration-rules-prefix Prefix string `json:"Prefix,omitempty"` + // Priority AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules.html#cfn-s3-bucket-replicationrule-priority + Priority int `json:"Priority,omitempty"` + // SourceSelectionCriteria AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules.html#cfn-s3-bucket-replicationrule-sourceselectioncriteria @@ -36,6 +51,9 @@ type Bucket_ReplicationRule struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/s3/aws-s3-bucket_replicationruleandoperator.go b/cloudformation/s3/aws-s3-bucket_replicationruleandoperator.go new file mode 100644 index 0000000000..40430302d6 --- /dev/null +++ b/cloudformation/s3/aws-s3-bucket_replicationruleandoperator.go @@ -0,0 +1,40 @@ +package s3 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Bucket_ReplicationRuleAndOperator AWS CloudFormation Resource (AWS::S3::Bucket.ReplicationRuleAndOperator) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationruleandoperator.html +type Bucket_ReplicationRuleAndOperator struct { + + // Prefix AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationruleandoperator.html#cfn-s3-bucket-replicationruleandoperator-prefix + Prefix string `json:"Prefix,omitempty"` + + // TagFilters AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationruleandoperator.html#cfn-s3-bucket-replicationruleandoperator-tagfilters + TagFilters []Bucket_TagFilter `json:"TagFilters,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Bucket_ReplicationRuleAndOperator) AWSCloudFormationType() string { + return "AWS::S3::Bucket.ReplicationRuleAndOperator" +} diff --git a/cloudformation/s3/aws-s3-bucket_replicationrulefilter.go b/cloudformation/s3/aws-s3-bucket_replicationrulefilter.go new file mode 100644 index 0000000000..d01053255b --- /dev/null +++ b/cloudformation/s3/aws-s3-bucket_replicationrulefilter.go @@ -0,0 +1,45 @@ +package s3 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Bucket_ReplicationRuleFilter AWS CloudFormation Resource (AWS::S3::Bucket.ReplicationRuleFilter) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationrulefilter.html +type Bucket_ReplicationRuleFilter struct { + + // And AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationrulefilter.html#cfn-s3-bucket-replicationrulefilter-and + And *Bucket_ReplicationRuleAndOperator `json:"And,omitempty"` + + // Prefix AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationrulefilter.html#cfn-s3-bucket-replicationrulefilter-prefix + Prefix string `json:"Prefix,omitempty"` + + // TagFilter AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationrulefilter.html#cfn-s3-bucket-replicationrulefilter-tagfilter + TagFilter *Bucket_TagFilter `json:"TagFilter,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Bucket_ReplicationRuleFilter) AWSCloudFormationType() string { + return "AWS::S3::Bucket.ReplicationRuleFilter" +} diff --git a/cloudformation/s3/aws-s3-bucket_replicationtime.go b/cloudformation/s3/aws-s3-bucket_replicationtime.go new file mode 100644 index 0000000000..cf5b94c4a6 --- /dev/null +++ b/cloudformation/s3/aws-s3-bucket_replicationtime.go @@ -0,0 +1,40 @@ +package s3 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Bucket_ReplicationTime AWS CloudFormation Resource (AWS::S3::Bucket.ReplicationTime) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationtime.html +type Bucket_ReplicationTime struct { + + // Status AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationtime.html#cfn-s3-bucket-replicationtime-status + Status string `json:"Status,omitempty"` + + // Time AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationtime.html#cfn-s3-bucket-replicationtime-time + Time *Bucket_ReplicationTimeValue `json:"Time,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Bucket_ReplicationTime) AWSCloudFormationType() string { + return "AWS::S3::Bucket.ReplicationTime" +} diff --git a/cloudformation/s3/aws-s3-bucket_replicationtimevalue.go b/cloudformation/s3/aws-s3-bucket_replicationtimevalue.go new file mode 100644 index 0000000000..4c41c89a20 --- /dev/null +++ b/cloudformation/s3/aws-s3-bucket_replicationtimevalue.go @@ -0,0 +1,35 @@ +package s3 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Bucket_ReplicationTimeValue AWS CloudFormation Resource (AWS::S3::Bucket.ReplicationTimeValue) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationtimevalue.html +type Bucket_ReplicationTimeValue struct { + + // Minutes AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationtimevalue.html#cfn-s3-bucket-replicationtimevalue-minutes + Minutes int `json:"Minutes"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Bucket_ReplicationTimeValue) AWSCloudFormationType() string { + return "AWS::S3::Bucket.ReplicationTimeValue" +} diff --git a/cloudformation/s3/aws-s3-bucket_routingrule.go b/cloudformation/s3/aws-s3-bucket_routingrule.go index 592820ea68..9e529340d4 100644 --- a/cloudformation/s3/aws-s3-bucket_routingrule.go +++ b/cloudformation/s3/aws-s3-bucket_routingrule.go @@ -21,6 +21,9 @@ type Bucket_RoutingRule struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/s3/aws-s3-bucket_routingrulecondition.go b/cloudformation/s3/aws-s3-bucket_routingrulecondition.go index 2158c7db5b..a363c86a3a 100644 --- a/cloudformation/s3/aws-s3-bucket_routingrulecondition.go +++ b/cloudformation/s3/aws-s3-bucket_routingrulecondition.go @@ -21,6 +21,9 @@ type Bucket_RoutingRuleCondition struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/s3/aws-s3-bucket_rule.go b/cloudformation/s3/aws-s3-bucket_rule.go index 3da198b227..7427044bec 100644 --- a/cloudformation/s3/aws-s3-bucket_rule.go +++ b/cloudformation/s3/aws-s3-bucket_rule.go @@ -71,6 +71,9 @@ type Bucket_Rule struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/s3/aws-s3-bucket_s3keyfilter.go b/cloudformation/s3/aws-s3-bucket_s3keyfilter.go index e836aaf00c..53bc00d79d 100644 --- a/cloudformation/s3/aws-s3-bucket_s3keyfilter.go +++ b/cloudformation/s3/aws-s3-bucket_s3keyfilter.go @@ -16,6 +16,9 @@ type Bucket_S3KeyFilter struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/s3/aws-s3-bucket_serversideencryptionbydefault.go b/cloudformation/s3/aws-s3-bucket_serversideencryptionbydefault.go index df6d2e2e80..2972ec772f 100644 --- a/cloudformation/s3/aws-s3-bucket_serversideencryptionbydefault.go +++ b/cloudformation/s3/aws-s3-bucket_serversideencryptionbydefault.go @@ -21,6 +21,9 @@ type Bucket_ServerSideEncryptionByDefault struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/s3/aws-s3-bucket_serversideencryptionrule.go b/cloudformation/s3/aws-s3-bucket_serversideencryptionrule.go index 2149209d2d..fd83b18a32 100644 --- a/cloudformation/s3/aws-s3-bucket_serversideencryptionrule.go +++ b/cloudformation/s3/aws-s3-bucket_serversideencryptionrule.go @@ -16,6 +16,9 @@ type Bucket_ServerSideEncryptionRule struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/s3/aws-s3-bucket_sourceselectioncriteria.go b/cloudformation/s3/aws-s3-bucket_sourceselectioncriteria.go index b8331c0ca8..ffde1ccce3 100644 --- a/cloudformation/s3/aws-s3-bucket_sourceselectioncriteria.go +++ b/cloudformation/s3/aws-s3-bucket_sourceselectioncriteria.go @@ -16,6 +16,9 @@ type Bucket_SourceSelectionCriteria struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/s3/aws-s3-bucket_ssekmsencryptedobjects.go b/cloudformation/s3/aws-s3-bucket_ssekmsencryptedobjects.go index e1bd0d3190..4436efadc6 100644 --- a/cloudformation/s3/aws-s3-bucket_ssekmsencryptedobjects.go +++ b/cloudformation/s3/aws-s3-bucket_ssekmsencryptedobjects.go @@ -16,6 +16,9 @@ type Bucket_SseKmsEncryptedObjects struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/s3/aws-s3-bucket_storageclassanalysis.go b/cloudformation/s3/aws-s3-bucket_storageclassanalysis.go index 9ba42d9d22..20ca84efef 100644 --- a/cloudformation/s3/aws-s3-bucket_storageclassanalysis.go +++ b/cloudformation/s3/aws-s3-bucket_storageclassanalysis.go @@ -16,6 +16,9 @@ type Bucket_StorageClassAnalysis struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/s3/aws-s3-bucket_tagfilter.go b/cloudformation/s3/aws-s3-bucket_tagfilter.go index d6e47bc77b..a6aa7531a6 100644 --- a/cloudformation/s3/aws-s3-bucket_tagfilter.go +++ b/cloudformation/s3/aws-s3-bucket_tagfilter.go @@ -21,6 +21,9 @@ type Bucket_TagFilter struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/s3/aws-s3-bucket_topicconfiguration.go b/cloudformation/s3/aws-s3-bucket_topicconfiguration.go index b46043f8cf..7c0c5fe05f 100644 --- a/cloudformation/s3/aws-s3-bucket_topicconfiguration.go +++ b/cloudformation/s3/aws-s3-bucket_topicconfiguration.go @@ -26,6 +26,9 @@ type Bucket_TopicConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/s3/aws-s3-bucket_transition.go b/cloudformation/s3/aws-s3-bucket_transition.go index 26e3155a7c..9d7efc2528 100644 --- a/cloudformation/s3/aws-s3-bucket_transition.go +++ b/cloudformation/s3/aws-s3-bucket_transition.go @@ -26,6 +26,9 @@ type Bucket_Transition struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/s3/aws-s3-bucket_versioningconfiguration.go b/cloudformation/s3/aws-s3-bucket_versioningconfiguration.go index 3215d8b0a1..03eb5d77eb 100644 --- a/cloudformation/s3/aws-s3-bucket_versioningconfiguration.go +++ b/cloudformation/s3/aws-s3-bucket_versioningconfiguration.go @@ -16,6 +16,9 @@ type Bucket_VersioningConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/s3/aws-s3-bucket_websiteconfiguration.go b/cloudformation/s3/aws-s3-bucket_websiteconfiguration.go index 19f0ded73a..ea60d7b449 100644 --- a/cloudformation/s3/aws-s3-bucket_websiteconfiguration.go +++ b/cloudformation/s3/aws-s3-bucket_websiteconfiguration.go @@ -31,6 +31,9 @@ type Bucket_WebsiteConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/s3/aws-s3-bucketpolicy.go b/cloudformation/s3/aws-s3-bucketpolicy.go index e037818441..8863321cc8 100644 --- a/cloudformation/s3/aws-s3-bucketpolicy.go +++ b/cloudformation/s3/aws-s3-bucketpolicy.go @@ -25,6 +25,9 @@ type BucketPolicy struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *BucketPolicy) AWSCloudFormationType() string { func (r BucketPolicy) MarshalJSON() ([]byte, error) { type Properties BucketPolicy return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r BucketPolicy) MarshalJSON() ([]byte, error) { func (r *BucketPolicy) UnmarshalJSON(b []byte) error { type Properties BucketPolicy res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *BucketPolicy) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/sagemaker/aws-sagemaker-coderepository.go b/cloudformation/sagemaker/aws-sagemaker-coderepository.go index 57a39c6b3a..71f24fdf79 100644 --- a/cloudformation/sagemaker/aws-sagemaker-coderepository.go +++ b/cloudformation/sagemaker/aws-sagemaker-coderepository.go @@ -25,6 +25,9 @@ type CodeRepository struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *CodeRepository) AWSCloudFormationType() string { func (r CodeRepository) MarshalJSON() ([]byte, error) { type Properties CodeRepository return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r CodeRepository) MarshalJSON() ([]byte, error) { func (r *CodeRepository) UnmarshalJSON(b []byte) error { type Properties CodeRepository res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *CodeRepository) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/sagemaker/aws-sagemaker-coderepository_gitconfig.go b/cloudformation/sagemaker/aws-sagemaker-coderepository_gitconfig.go index b6af74c9f6..069cd9f0f1 100644 --- a/cloudformation/sagemaker/aws-sagemaker-coderepository_gitconfig.go +++ b/cloudformation/sagemaker/aws-sagemaker-coderepository_gitconfig.go @@ -26,6 +26,9 @@ type CodeRepository_GitConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/sagemaker/aws-sagemaker-endpoint.go b/cloudformation/sagemaker/aws-sagemaker-endpoint.go index e92db6bf6b..2ac5e3ad96 100644 --- a/cloudformation/sagemaker/aws-sagemaker-endpoint.go +++ b/cloudformation/sagemaker/aws-sagemaker-endpoint.go @@ -41,6 +41,9 @@ type Endpoint struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -61,19 +64,21 @@ func (r *Endpoint) AWSCloudFormationType() string { func (r Endpoint) MarshalJSON() ([]byte, error) { type Properties Endpoint return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -82,12 +87,13 @@ func (r Endpoint) MarshalJSON() ([]byte, error) { func (r *Endpoint) UnmarshalJSON(b []byte) error { type Properties Endpoint res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -111,6 +117,9 @@ func (r *Endpoint) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/sagemaker/aws-sagemaker-endpoint_variantproperty.go b/cloudformation/sagemaker/aws-sagemaker-endpoint_variantproperty.go index 66ade52f8f..2ccd228de1 100644 --- a/cloudformation/sagemaker/aws-sagemaker-endpoint_variantproperty.go +++ b/cloudformation/sagemaker/aws-sagemaker-endpoint_variantproperty.go @@ -16,6 +16,9 @@ type Endpoint_VariantProperty struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/sagemaker/aws-sagemaker-endpointconfig.go b/cloudformation/sagemaker/aws-sagemaker-endpointconfig.go index b012c342b3..2b3606c5a9 100644 --- a/cloudformation/sagemaker/aws-sagemaker-endpointconfig.go +++ b/cloudformation/sagemaker/aws-sagemaker-endpointconfig.go @@ -36,6 +36,9 @@ type EndpointConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -56,19 +59,21 @@ func (r *EndpointConfig) AWSCloudFormationType() string { func (r EndpointConfig) MarshalJSON() ([]byte, error) { type Properties EndpointConfig return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -77,12 +82,13 @@ func (r EndpointConfig) MarshalJSON() ([]byte, error) { func (r *EndpointConfig) UnmarshalJSON(b []byte) error { type Properties EndpointConfig res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -106,6 +112,9 @@ func (r *EndpointConfig) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/sagemaker/aws-sagemaker-endpointconfig_productionvariant.go b/cloudformation/sagemaker/aws-sagemaker-endpointconfig_productionvariant.go index 80c24e455b..5b750d69ef 100644 --- a/cloudformation/sagemaker/aws-sagemaker-endpointconfig_productionvariant.go +++ b/cloudformation/sagemaker/aws-sagemaker-endpointconfig_productionvariant.go @@ -41,6 +41,9 @@ type EndpointConfig_ProductionVariant struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/sagemaker/aws-sagemaker-model.go b/cloudformation/sagemaker/aws-sagemaker-model.go index 601324b1dd..a5b6c337ae 100644 --- a/cloudformation/sagemaker/aws-sagemaker-model.go +++ b/cloudformation/sagemaker/aws-sagemaker-model.go @@ -46,6 +46,9 @@ type Model struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -66,19 +69,21 @@ func (r *Model) AWSCloudFormationType() string { func (r Model) MarshalJSON() ([]byte, error) { type Properties Model return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -87,12 +92,13 @@ func (r Model) MarshalJSON() ([]byte, error) { func (r *Model) UnmarshalJSON(b []byte) error { type Properties Model res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -116,6 +122,9 @@ func (r *Model) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/sagemaker/aws-sagemaker-model_containerdefinition.go b/cloudformation/sagemaker/aws-sagemaker-model_containerdefinition.go index 39f56d1724..43b3aeff01 100644 --- a/cloudformation/sagemaker/aws-sagemaker-model_containerdefinition.go +++ b/cloudformation/sagemaker/aws-sagemaker-model_containerdefinition.go @@ -36,6 +36,9 @@ type Model_ContainerDefinition struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/sagemaker/aws-sagemaker-model_vpcconfig.go b/cloudformation/sagemaker/aws-sagemaker-model_vpcconfig.go index dcf00c99eb..1aeaccb65f 100644 --- a/cloudformation/sagemaker/aws-sagemaker-model_vpcconfig.go +++ b/cloudformation/sagemaker/aws-sagemaker-model_vpcconfig.go @@ -21,6 +21,9 @@ type Model_VpcConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/sagemaker/aws-sagemaker-notebookinstance.go b/cloudformation/sagemaker/aws-sagemaker-notebookinstance.go index e28133613d..a44d2ab518 100644 --- a/cloudformation/sagemaker/aws-sagemaker-notebookinstance.go +++ b/cloudformation/sagemaker/aws-sagemaker-notebookinstance.go @@ -86,6 +86,9 @@ type NotebookInstance struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -106,19 +109,21 @@ func (r *NotebookInstance) AWSCloudFormationType() string { func (r NotebookInstance) MarshalJSON() ([]byte, error) { type Properties NotebookInstance return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -127,12 +132,13 @@ func (r NotebookInstance) MarshalJSON() ([]byte, error) { func (r *NotebookInstance) UnmarshalJSON(b []byte) error { type Properties NotebookInstance res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -156,6 +162,9 @@ func (r *NotebookInstance) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/sagemaker/aws-sagemaker-notebookinstancelifecycleconfig.go b/cloudformation/sagemaker/aws-sagemaker-notebookinstancelifecycleconfig.go index 0924152ecf..f28cc680ac 100644 --- a/cloudformation/sagemaker/aws-sagemaker-notebookinstancelifecycleconfig.go +++ b/cloudformation/sagemaker/aws-sagemaker-notebookinstancelifecycleconfig.go @@ -30,6 +30,9 @@ type NotebookInstanceLifecycleConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *NotebookInstanceLifecycleConfig) AWSCloudFormationType() string { func (r NotebookInstanceLifecycleConfig) MarshalJSON() ([]byte, error) { type Properties NotebookInstanceLifecycleConfig return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r NotebookInstanceLifecycleConfig) MarshalJSON() ([]byte, error) { func (r *NotebookInstanceLifecycleConfig) UnmarshalJSON(b []byte) error { type Properties NotebookInstanceLifecycleConfig res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *NotebookInstanceLifecycleConfig) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/sagemaker/aws-sagemaker-notebookinstancelifecycleconfig_notebookinstancelifecyclehook.go b/cloudformation/sagemaker/aws-sagemaker-notebookinstancelifecycleconfig_notebookinstancelifecyclehook.go index 9f0f364928..7b2dad7584 100644 --- a/cloudformation/sagemaker/aws-sagemaker-notebookinstancelifecycleconfig_notebookinstancelifecyclehook.go +++ b/cloudformation/sagemaker/aws-sagemaker-notebookinstancelifecycleconfig_notebookinstancelifecyclehook.go @@ -16,6 +16,9 @@ type NotebookInstanceLifecycleConfig_NotebookInstanceLifecycleHook struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/sagemaker/aws-sagemaker-workteam.go b/cloudformation/sagemaker/aws-sagemaker-workteam.go index de2ddb7dac..0232231678 100644 --- a/cloudformation/sagemaker/aws-sagemaker-workteam.go +++ b/cloudformation/sagemaker/aws-sagemaker-workteam.go @@ -41,6 +41,9 @@ type Workteam struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -61,19 +64,21 @@ func (r *Workteam) AWSCloudFormationType() string { func (r Workteam) MarshalJSON() ([]byte, error) { type Properties Workteam return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -82,12 +87,13 @@ func (r Workteam) MarshalJSON() ([]byte, error) { func (r *Workteam) UnmarshalJSON(b []byte) error { type Properties Workteam res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -111,6 +117,9 @@ func (r *Workteam) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/sagemaker/aws-sagemaker-workteam_cognitomemberdefinition.go b/cloudformation/sagemaker/aws-sagemaker-workteam_cognitomemberdefinition.go index 606b670444..48e17ac564 100644 --- a/cloudformation/sagemaker/aws-sagemaker-workteam_cognitomemberdefinition.go +++ b/cloudformation/sagemaker/aws-sagemaker-workteam_cognitomemberdefinition.go @@ -26,6 +26,9 @@ type Workteam_CognitoMemberDefinition struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/sagemaker/aws-sagemaker-workteam_memberdefinition.go b/cloudformation/sagemaker/aws-sagemaker-workteam_memberdefinition.go index be47c3cb10..aa0a4c2257 100644 --- a/cloudformation/sagemaker/aws-sagemaker-workteam_memberdefinition.go +++ b/cloudformation/sagemaker/aws-sagemaker-workteam_memberdefinition.go @@ -16,6 +16,9 @@ type Workteam_MemberDefinition struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/sagemaker/aws-sagemaker-workteam_notificationconfiguration.go b/cloudformation/sagemaker/aws-sagemaker-workteam_notificationconfiguration.go index 490ab53555..4c33cdb100 100644 --- a/cloudformation/sagemaker/aws-sagemaker-workteam_notificationconfiguration.go +++ b/cloudformation/sagemaker/aws-sagemaker-workteam_notificationconfiguration.go @@ -16,6 +16,9 @@ type Workteam_NotificationConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/sdb/aws-sdb-domain.go b/cloudformation/sdb/aws-sdb-domain.go index 28b2063948..69c256850b 100644 --- a/cloudformation/sdb/aws-sdb-domain.go +++ b/cloudformation/sdb/aws-sdb-domain.go @@ -20,6 +20,9 @@ type Domain struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -40,19 +43,21 @@ func (r *Domain) AWSCloudFormationType() string { func (r Domain) MarshalJSON() ([]byte, error) { type Properties Domain return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -61,12 +66,13 @@ func (r Domain) MarshalJSON() ([]byte, error) { func (r *Domain) UnmarshalJSON(b []byte) error { type Properties Domain res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -90,6 +96,9 @@ func (r *Domain) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/secretsmanager/aws-secretsmanager-resourcepolicy.go b/cloudformation/secretsmanager/aws-secretsmanager-resourcepolicy.go index 11273c6c11..7f21c1d6b4 100644 --- a/cloudformation/secretsmanager/aws-secretsmanager-resourcepolicy.go +++ b/cloudformation/secretsmanager/aws-secretsmanager-resourcepolicy.go @@ -25,6 +25,9 @@ type ResourcePolicy struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *ResourcePolicy) AWSCloudFormationType() string { func (r ResourcePolicy) MarshalJSON() ([]byte, error) { type Properties ResourcePolicy return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r ResourcePolicy) MarshalJSON() ([]byte, error) { func (r *ResourcePolicy) UnmarshalJSON(b []byte) error { type Properties ResourcePolicy res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *ResourcePolicy) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/secretsmanager/aws-secretsmanager-rotationschedule.go b/cloudformation/secretsmanager/aws-secretsmanager-rotationschedule.go index 3e1783f40c..c3d976b913 100644 --- a/cloudformation/secretsmanager/aws-secretsmanager-rotationschedule.go +++ b/cloudformation/secretsmanager/aws-secretsmanager-rotationschedule.go @@ -30,6 +30,9 @@ type RotationSchedule struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *RotationSchedule) AWSCloudFormationType() string { func (r RotationSchedule) MarshalJSON() ([]byte, error) { type Properties RotationSchedule return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r RotationSchedule) MarshalJSON() ([]byte, error) { func (r *RotationSchedule) UnmarshalJSON(b []byte) error { type Properties RotationSchedule res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *RotationSchedule) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/secretsmanager/aws-secretsmanager-rotationschedule_rotationrules.go b/cloudformation/secretsmanager/aws-secretsmanager-rotationschedule_rotationrules.go index fac1841548..24c7c585f4 100644 --- a/cloudformation/secretsmanager/aws-secretsmanager-rotationschedule_rotationrules.go +++ b/cloudformation/secretsmanager/aws-secretsmanager-rotationschedule_rotationrules.go @@ -16,6 +16,9 @@ type RotationSchedule_RotationRules struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/secretsmanager/aws-secretsmanager-secret.go b/cloudformation/secretsmanager/aws-secretsmanager-secret.go index a76953e233..2b6130b254 100644 --- a/cloudformation/secretsmanager/aws-secretsmanager-secret.go +++ b/cloudformation/secretsmanager/aws-secretsmanager-secret.go @@ -46,6 +46,9 @@ type Secret struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -66,19 +69,21 @@ func (r *Secret) AWSCloudFormationType() string { func (r Secret) MarshalJSON() ([]byte, error) { type Properties Secret return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -87,12 +92,13 @@ func (r Secret) MarshalJSON() ([]byte, error) { func (r *Secret) UnmarshalJSON(b []byte) error { type Properties Secret res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -116,6 +122,9 @@ func (r *Secret) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/secretsmanager/aws-secretsmanager-secret_generatesecretstring.go b/cloudformation/secretsmanager/aws-secretsmanager-secret_generatesecretstring.go index c97eb7f07b..811249566d 100644 --- a/cloudformation/secretsmanager/aws-secretsmanager-secret_generatesecretstring.go +++ b/cloudformation/secretsmanager/aws-secretsmanager-secret_generatesecretstring.go @@ -61,6 +61,9 @@ type Secret_GenerateSecretString struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/secretsmanager/aws-secretsmanager-secrettargetattachment.go b/cloudformation/secretsmanager/aws-secretsmanager-secrettargetattachment.go index c5a2ddef16..6bdb226d1a 100644 --- a/cloudformation/secretsmanager/aws-secretsmanager-secrettargetattachment.go +++ b/cloudformation/secretsmanager/aws-secretsmanager-secrettargetattachment.go @@ -30,6 +30,9 @@ type SecretTargetAttachment struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *SecretTargetAttachment) AWSCloudFormationType() string { func (r SecretTargetAttachment) MarshalJSON() ([]byte, error) { type Properties SecretTargetAttachment return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r SecretTargetAttachment) MarshalJSON() ([]byte, error) { func (r *SecretTargetAttachment) UnmarshalJSON(b []byte) error { type Properties SecretTargetAttachment res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *SecretTargetAttachment) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/securityhub/aws-securityhub-hub.go b/cloudformation/securityhub/aws-securityhub-hub.go index 7cf2394fbd..4d9bcb3003 100644 --- a/cloudformation/securityhub/aws-securityhub-hub.go +++ b/cloudformation/securityhub/aws-securityhub-hub.go @@ -20,6 +20,9 @@ type Hub struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -40,19 +43,21 @@ func (r *Hub) AWSCloudFormationType() string { func (r Hub) MarshalJSON() ([]byte, error) { type Properties Hub return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -61,12 +66,13 @@ func (r Hub) MarshalJSON() ([]byte, error) { func (r *Hub) UnmarshalJSON(b []byte) error { type Properties Hub res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -90,6 +96,9 @@ func (r *Hub) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/serverless/aws-serverless-api.go b/cloudformation/serverless/aws-serverless-api.go index 6a9069b977..c2475dafdc 100644 --- a/cloudformation/serverless/aws-serverless-api.go +++ b/cloudformation/serverless/aws-serverless-api.go @@ -90,6 +90,9 @@ type Api struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -110,19 +113,21 @@ func (r *Api) AWSCloudFormationType() string { func (r Api) MarshalJSON() ([]byte, error) { type Properties Api return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -131,12 +136,13 @@ func (r Api) MarshalJSON() ([]byte, error) { func (r *Api) UnmarshalJSON(b []byte) error { type Properties Api res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -160,6 +166,9 @@ func (r *Api) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/serverless/aws-serverless-api_accesslogsetting.go b/cloudformation/serverless/aws-serverless-api_accesslogsetting.go index 756e937891..b4840134a6 100644 --- a/cloudformation/serverless/aws-serverless-api_accesslogsetting.go +++ b/cloudformation/serverless/aws-serverless-api_accesslogsetting.go @@ -21,6 +21,9 @@ type Api_AccessLogSetting struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/serverless/aws-serverless-api_auth.go b/cloudformation/serverless/aws-serverless-api_auth.go index f6473fd066..ba60699998 100644 --- a/cloudformation/serverless/aws-serverless-api_auth.go +++ b/cloudformation/serverless/aws-serverless-api_auth.go @@ -21,6 +21,9 @@ type Api_Auth struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/serverless/aws-serverless-api_corsconfiguration.go b/cloudformation/serverless/aws-serverless-api_corsconfiguration.go index f0ba14a64a..7934bb4f76 100644 --- a/cloudformation/serverless/aws-serverless-api_corsconfiguration.go +++ b/cloudformation/serverless/aws-serverless-api_corsconfiguration.go @@ -36,6 +36,9 @@ type Api_CorsConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/serverless/aws-serverless-api_s3location.go b/cloudformation/serverless/aws-serverless-api_s3location.go index a3060d101d..b6bc1f9517 100644 --- a/cloudformation/serverless/aws-serverless-api_s3location.go +++ b/cloudformation/serverless/aws-serverless-api_s3location.go @@ -26,6 +26,9 @@ type Api_S3Location struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/serverless/aws-serverless-application.go b/cloudformation/serverless/aws-serverless-application.go index ef18477d25..de6f9e23cc 100644 --- a/cloudformation/serverless/aws-serverless-application.go +++ b/cloudformation/serverless/aws-serverless-application.go @@ -40,6 +40,9 @@ type Application struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -60,19 +63,21 @@ func (r *Application) AWSCloudFormationType() string { func (r Application) MarshalJSON() ([]byte, error) { type Properties Application return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -81,12 +86,13 @@ func (r Application) MarshalJSON() ([]byte, error) { func (r *Application) UnmarshalJSON(b []byte) error { type Properties Application res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -110,6 +116,9 @@ func (r *Application) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/serverless/aws-serverless-application_applicationlocation.go b/cloudformation/serverless/aws-serverless-application_applicationlocation.go index d95fec9dce..8d5aa59170 100644 --- a/cloudformation/serverless/aws-serverless-application_applicationlocation.go +++ b/cloudformation/serverless/aws-serverless-application_applicationlocation.go @@ -21,6 +21,9 @@ type Application_ApplicationLocation struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/serverless/aws-serverless-function.go b/cloudformation/serverless/aws-serverless-function.go index 285c0136b2..2de9541c8c 100644 --- a/cloudformation/serverless/aws-serverless-function.go +++ b/cloudformation/serverless/aws-serverless-function.go @@ -120,6 +120,9 @@ type Function struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -140,19 +143,21 @@ func (r *Function) AWSCloudFormationType() string { func (r Function) MarshalJSON() ([]byte, error) { type Properties Function return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -161,12 +166,13 @@ func (r Function) MarshalJSON() ([]byte, error) { func (r *Function) UnmarshalJSON(b []byte) error { type Properties Function res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -190,6 +196,9 @@ func (r *Function) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/serverless/aws-serverless-function_alexaskillevent.go b/cloudformation/serverless/aws-serverless-function_alexaskillevent.go index 2a753e5b3f..9d4603319d 100644 --- a/cloudformation/serverless/aws-serverless-function_alexaskillevent.go +++ b/cloudformation/serverless/aws-serverless-function_alexaskillevent.go @@ -16,6 +16,9 @@ type Function_AlexaSkillEvent struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/serverless/aws-serverless-function_apievent.go b/cloudformation/serverless/aws-serverless-function_apievent.go index db301401ff..0b30f76c4b 100644 --- a/cloudformation/serverless/aws-serverless-function_apievent.go +++ b/cloudformation/serverless/aws-serverless-function_apievent.go @@ -26,6 +26,9 @@ type Function_ApiEvent struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/serverless/aws-serverless-function_bucketsampt.go b/cloudformation/serverless/aws-serverless-function_bucketsampt.go index c5a09a96cb..40d72d7f46 100644 --- a/cloudformation/serverless/aws-serverless-function_bucketsampt.go +++ b/cloudformation/serverless/aws-serverless-function_bucketsampt.go @@ -16,6 +16,9 @@ type Function_BucketSAMPT struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/serverless/aws-serverless-function_cloudwatcheventevent.go b/cloudformation/serverless/aws-serverless-function_cloudwatcheventevent.go index 7af6f185c7..8f90c337dc 100644 --- a/cloudformation/serverless/aws-serverless-function_cloudwatcheventevent.go +++ b/cloudformation/serverless/aws-serverless-function_cloudwatcheventevent.go @@ -26,6 +26,9 @@ type Function_CloudWatchEventEvent struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/serverless/aws-serverless-function_cloudwatchlogsevent.go b/cloudformation/serverless/aws-serverless-function_cloudwatchlogsevent.go index 3a79117091..bd2babbee6 100644 --- a/cloudformation/serverless/aws-serverless-function_cloudwatchlogsevent.go +++ b/cloudformation/serverless/aws-serverless-function_cloudwatchlogsevent.go @@ -21,6 +21,9 @@ type Function_CloudWatchLogsEvent struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/serverless/aws-serverless-function_collectionsampt.go b/cloudformation/serverless/aws-serverless-function_collectionsampt.go index 1909d26413..b1577e2c66 100644 --- a/cloudformation/serverless/aws-serverless-function_collectionsampt.go +++ b/cloudformation/serverless/aws-serverless-function_collectionsampt.go @@ -16,6 +16,9 @@ type Function_CollectionSAMPT struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/serverless/aws-serverless-function_deadletterqueue.go b/cloudformation/serverless/aws-serverless-function_deadletterqueue.go index c6cef88a5c..4ea894d0ae 100644 --- a/cloudformation/serverless/aws-serverless-function_deadletterqueue.go +++ b/cloudformation/serverless/aws-serverless-function_deadletterqueue.go @@ -21,6 +21,9 @@ type Function_DeadLetterQueue struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/serverless/aws-serverless-function_deploymentpreference.go b/cloudformation/serverless/aws-serverless-function_deploymentpreference.go index dbbb173343..6cb30d0908 100644 --- a/cloudformation/serverless/aws-serverless-function_deploymentpreference.go +++ b/cloudformation/serverless/aws-serverless-function_deploymentpreference.go @@ -36,6 +36,9 @@ type Function_DeploymentPreference struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/serverless/aws-serverless-function_domainsampt.go b/cloudformation/serverless/aws-serverless-function_domainsampt.go index 8935502a60..697593b853 100644 --- a/cloudformation/serverless/aws-serverless-function_domainsampt.go +++ b/cloudformation/serverless/aws-serverless-function_domainsampt.go @@ -16,6 +16,9 @@ type Function_DomainSAMPT struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/serverless/aws-serverless-function_dynamodbevent.go b/cloudformation/serverless/aws-serverless-function_dynamodbevent.go index fc2e53c4da..3a2d2f466c 100644 --- a/cloudformation/serverless/aws-serverless-function_dynamodbevent.go +++ b/cloudformation/serverless/aws-serverless-function_dynamodbevent.go @@ -31,6 +31,9 @@ type Function_DynamoDBEvent struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/serverless/aws-serverless-function_emptysampt.go b/cloudformation/serverless/aws-serverless-function_emptysampt.go index f920ba2284..6a7a164c5c 100644 --- a/cloudformation/serverless/aws-serverless-function_emptysampt.go +++ b/cloudformation/serverless/aws-serverless-function_emptysampt.go @@ -11,6 +11,9 @@ type Function_EmptySAMPT struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/serverless/aws-serverless-function_eventsource.go b/cloudformation/serverless/aws-serverless-function_eventsource.go index c7bf99b4ef..a7e03ad779 100644 --- a/cloudformation/serverless/aws-serverless-function_eventsource.go +++ b/cloudformation/serverless/aws-serverless-function_eventsource.go @@ -21,6 +21,9 @@ type Function_EventSource struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/serverless/aws-serverless-function_functionenvironment.go b/cloudformation/serverless/aws-serverless-function_functionenvironment.go index a5f492ed8c..d8b9863685 100644 --- a/cloudformation/serverless/aws-serverless-function_functionenvironment.go +++ b/cloudformation/serverless/aws-serverless-function_functionenvironment.go @@ -16,6 +16,9 @@ type Function_FunctionEnvironment struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/serverless/aws-serverless-function_functionsampt.go b/cloudformation/serverless/aws-serverless-function_functionsampt.go index 99ee566c80..562e8cce4a 100644 --- a/cloudformation/serverless/aws-serverless-function_functionsampt.go +++ b/cloudformation/serverless/aws-serverless-function_functionsampt.go @@ -16,6 +16,9 @@ type Function_FunctionSAMPT struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/serverless/aws-serverless-function_iampolicydocument.go b/cloudformation/serverless/aws-serverless-function_iampolicydocument.go index 6c0b57eb8c..4595a4ab7f 100644 --- a/cloudformation/serverless/aws-serverless-function_iampolicydocument.go +++ b/cloudformation/serverless/aws-serverless-function_iampolicydocument.go @@ -16,6 +16,9 @@ type Function_IAMPolicyDocument struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/serverless/aws-serverless-function_identitysampt.go b/cloudformation/serverless/aws-serverless-function_identitysampt.go index 5d5a513f15..5a710e75db 100644 --- a/cloudformation/serverless/aws-serverless-function_identitysampt.go +++ b/cloudformation/serverless/aws-serverless-function_identitysampt.go @@ -16,6 +16,9 @@ type Function_IdentitySAMPT struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/serverless/aws-serverless-function_iotruleevent.go b/cloudformation/serverless/aws-serverless-function_iotruleevent.go index 2824811bce..8f38064760 100644 --- a/cloudformation/serverless/aws-serverless-function_iotruleevent.go +++ b/cloudformation/serverless/aws-serverless-function_iotruleevent.go @@ -21,6 +21,9 @@ type Function_IoTRuleEvent struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/serverless/aws-serverless-function_keysampt.go b/cloudformation/serverless/aws-serverless-function_keysampt.go index 601c6acd25..2209a1a42d 100644 --- a/cloudformation/serverless/aws-serverless-function_keysampt.go +++ b/cloudformation/serverless/aws-serverless-function_keysampt.go @@ -16,6 +16,9 @@ type Function_KeySAMPT struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/serverless/aws-serverless-function_kinesisevent.go b/cloudformation/serverless/aws-serverless-function_kinesisevent.go index 88e1b0fd48..d2d62b2aed 100644 --- a/cloudformation/serverless/aws-serverless-function_kinesisevent.go +++ b/cloudformation/serverless/aws-serverless-function_kinesisevent.go @@ -31,6 +31,9 @@ type Function_KinesisEvent struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/serverless/aws-serverless-function_loggroupsampt.go b/cloudformation/serverless/aws-serverless-function_loggroupsampt.go index 78f4b79298..0d93c9c377 100644 --- a/cloudformation/serverless/aws-serverless-function_loggroupsampt.go +++ b/cloudformation/serverless/aws-serverless-function_loggroupsampt.go @@ -16,6 +16,9 @@ type Function_LogGroupSAMPT struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/serverless/aws-serverless-function_queuesampt.go b/cloudformation/serverless/aws-serverless-function_queuesampt.go index 2c2c87afab..c4d6947fb1 100644 --- a/cloudformation/serverless/aws-serverless-function_queuesampt.go +++ b/cloudformation/serverless/aws-serverless-function_queuesampt.go @@ -16,6 +16,9 @@ type Function_QueueSAMPT struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/serverless/aws-serverless-function_s3event.go b/cloudformation/serverless/aws-serverless-function_s3event.go index 31764f9552..237b2d7256 100644 --- a/cloudformation/serverless/aws-serverless-function_s3event.go +++ b/cloudformation/serverless/aws-serverless-function_s3event.go @@ -26,6 +26,9 @@ type Function_S3Event struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/serverless/aws-serverless-function_s3keyfilter.go b/cloudformation/serverless/aws-serverless-function_s3keyfilter.go index 0273a099de..7313f9bb5d 100644 --- a/cloudformation/serverless/aws-serverless-function_s3keyfilter.go +++ b/cloudformation/serverless/aws-serverless-function_s3keyfilter.go @@ -16,6 +16,9 @@ type Function_S3KeyFilter struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/serverless/aws-serverless-function_s3keyfilterrule.go b/cloudformation/serverless/aws-serverless-function_s3keyfilterrule.go index 8bd05cb15d..7a9de1495e 100644 --- a/cloudformation/serverless/aws-serverless-function_s3keyfilterrule.go +++ b/cloudformation/serverless/aws-serverless-function_s3keyfilterrule.go @@ -21,6 +21,9 @@ type Function_S3KeyFilterRule struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/serverless/aws-serverless-function_s3location.go b/cloudformation/serverless/aws-serverless-function_s3location.go index b617b639ac..ccdeaec21c 100644 --- a/cloudformation/serverless/aws-serverless-function_s3location.go +++ b/cloudformation/serverless/aws-serverless-function_s3location.go @@ -26,6 +26,9 @@ type Function_S3Location struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/serverless/aws-serverless-function_s3notificationfilter.go b/cloudformation/serverless/aws-serverless-function_s3notificationfilter.go index fa6f495d64..f519f7e8a1 100644 --- a/cloudformation/serverless/aws-serverless-function_s3notificationfilter.go +++ b/cloudformation/serverless/aws-serverless-function_s3notificationfilter.go @@ -16,6 +16,9 @@ type Function_S3NotificationFilter struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/serverless/aws-serverless-function_sampolicytemplate.go b/cloudformation/serverless/aws-serverless-function_sampolicytemplate.go index 08b295561f..bc0a028b07 100644 --- a/cloudformation/serverless/aws-serverless-function_sampolicytemplate.go +++ b/cloudformation/serverless/aws-serverless-function_sampolicytemplate.go @@ -161,6 +161,9 @@ type Function_SAMPolicyTemplate struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/serverless/aws-serverless-function_scheduleevent.go b/cloudformation/serverless/aws-serverless-function_scheduleevent.go index 3286df16fb..33c2e23e45 100644 --- a/cloudformation/serverless/aws-serverless-function_scheduleevent.go +++ b/cloudformation/serverless/aws-serverless-function_scheduleevent.go @@ -21,6 +21,9 @@ type Function_ScheduleEvent struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/serverless/aws-serverless-function_snsevent.go b/cloudformation/serverless/aws-serverless-function_snsevent.go index 3a022f932f..9f47471280 100644 --- a/cloudformation/serverless/aws-serverless-function_snsevent.go +++ b/cloudformation/serverless/aws-serverless-function_snsevent.go @@ -16,6 +16,9 @@ type Function_SNSEvent struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/serverless/aws-serverless-function_sqsevent.go b/cloudformation/serverless/aws-serverless-function_sqsevent.go index 8f68e12e29..43f93003e5 100644 --- a/cloudformation/serverless/aws-serverless-function_sqsevent.go +++ b/cloudformation/serverless/aws-serverless-function_sqsevent.go @@ -26,6 +26,9 @@ type Function_SQSEvent struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/serverless/aws-serverless-function_statemachinesampt.go b/cloudformation/serverless/aws-serverless-function_statemachinesampt.go index 095ca78e2d..24e7adb1d4 100644 --- a/cloudformation/serverless/aws-serverless-function_statemachinesampt.go +++ b/cloudformation/serverless/aws-serverless-function_statemachinesampt.go @@ -16,6 +16,9 @@ type Function_StateMachineSAMPT struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/serverless/aws-serverless-function_streamsampt.go b/cloudformation/serverless/aws-serverless-function_streamsampt.go index cc89c7ff1e..64afe25ab7 100644 --- a/cloudformation/serverless/aws-serverless-function_streamsampt.go +++ b/cloudformation/serverless/aws-serverless-function_streamsampt.go @@ -16,6 +16,9 @@ type Function_StreamSAMPT struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/serverless/aws-serverless-function_tablesampt.go b/cloudformation/serverless/aws-serverless-function_tablesampt.go index 78e61e8ce2..55fa565d07 100644 --- a/cloudformation/serverless/aws-serverless-function_tablesampt.go +++ b/cloudformation/serverless/aws-serverless-function_tablesampt.go @@ -16,6 +16,9 @@ type Function_TableSAMPT struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/serverless/aws-serverless-function_tablestreamsampt.go b/cloudformation/serverless/aws-serverless-function_tablestreamsampt.go index 01352f6762..a4726630cb 100644 --- a/cloudformation/serverless/aws-serverless-function_tablestreamsampt.go +++ b/cloudformation/serverless/aws-serverless-function_tablestreamsampt.go @@ -21,6 +21,9 @@ type Function_TableStreamSAMPT struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/serverless/aws-serverless-function_topicsampt.go b/cloudformation/serverless/aws-serverless-function_topicsampt.go index 57b5a51ee5..a6313f4a53 100644 --- a/cloudformation/serverless/aws-serverless-function_topicsampt.go +++ b/cloudformation/serverless/aws-serverless-function_topicsampt.go @@ -16,6 +16,9 @@ type Function_TopicSAMPT struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/serverless/aws-serverless-function_vpcconfig.go b/cloudformation/serverless/aws-serverless-function_vpcconfig.go index 1e7ba5b439..01b718486c 100644 --- a/cloudformation/serverless/aws-serverless-function_vpcconfig.go +++ b/cloudformation/serverless/aws-serverless-function_vpcconfig.go @@ -21,6 +21,9 @@ type Function_VpcConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/serverless/aws-serverless-layerversion.go b/cloudformation/serverless/aws-serverless-layerversion.go index f1d820a8de..5734bcdeb1 100644 --- a/cloudformation/serverless/aws-serverless-layerversion.go +++ b/cloudformation/serverless/aws-serverless-layerversion.go @@ -45,6 +45,9 @@ type LayerVersion struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -65,19 +68,21 @@ func (r *LayerVersion) AWSCloudFormationType() string { func (r LayerVersion) MarshalJSON() ([]byte, error) { type Properties LayerVersion return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -86,12 +91,13 @@ func (r LayerVersion) MarshalJSON() ([]byte, error) { func (r *LayerVersion) UnmarshalJSON(b []byte) error { type Properties LayerVersion res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -115,6 +121,9 @@ func (r *LayerVersion) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/serverless/aws-serverless-simpletable.go b/cloudformation/serverless/aws-serverless-simpletable.go index 41652502db..611f7d864a 100644 --- a/cloudformation/serverless/aws-serverless-simpletable.go +++ b/cloudformation/serverless/aws-serverless-simpletable.go @@ -40,6 +40,9 @@ type SimpleTable struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -60,19 +63,21 @@ func (r *SimpleTable) AWSCloudFormationType() string { func (r SimpleTable) MarshalJSON() ([]byte, error) { type Properties SimpleTable return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -81,12 +86,13 @@ func (r SimpleTable) MarshalJSON() ([]byte, error) { func (r *SimpleTable) UnmarshalJSON(b []byte) error { type Properties SimpleTable res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -110,6 +116,9 @@ func (r *SimpleTable) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/serverless/aws-serverless-simpletable_primarykey.go b/cloudformation/serverless/aws-serverless-simpletable_primarykey.go index e5b438d1f5..a62d86b061 100644 --- a/cloudformation/serverless/aws-serverless-simpletable_primarykey.go +++ b/cloudformation/serverless/aws-serverless-simpletable_primarykey.go @@ -21,6 +21,9 @@ type SimpleTable_PrimaryKey struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/serverless/aws-serverless-simpletable_provisionedthroughput.go b/cloudformation/serverless/aws-serverless-simpletable_provisionedthroughput.go index ee2bf04a78..9e695718a4 100644 --- a/cloudformation/serverless/aws-serverless-simpletable_provisionedthroughput.go +++ b/cloudformation/serverless/aws-serverless-simpletable_provisionedthroughput.go @@ -21,6 +21,9 @@ type SimpleTable_ProvisionedThroughput struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/serverless/aws-serverless-simpletable_ssespecification.go b/cloudformation/serverless/aws-serverless-simpletable_ssespecification.go index 22d3c0d937..6252321e89 100644 --- a/cloudformation/serverless/aws-serverless-simpletable_ssespecification.go +++ b/cloudformation/serverless/aws-serverless-simpletable_ssespecification.go @@ -16,6 +16,9 @@ type SimpleTable_SSESpecification struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/servicecatalog/aws-servicecatalog-acceptedportfolioshare.go b/cloudformation/servicecatalog/aws-servicecatalog-acceptedportfolioshare.go index 00441b619d..b01949e801 100644 --- a/cloudformation/servicecatalog/aws-servicecatalog-acceptedportfolioshare.go +++ b/cloudformation/servicecatalog/aws-servicecatalog-acceptedportfolioshare.go @@ -25,6 +25,9 @@ type AcceptedPortfolioShare struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *AcceptedPortfolioShare) AWSCloudFormationType() string { func (r AcceptedPortfolioShare) MarshalJSON() ([]byte, error) { type Properties AcceptedPortfolioShare return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r AcceptedPortfolioShare) MarshalJSON() ([]byte, error) { func (r *AcceptedPortfolioShare) UnmarshalJSON(b []byte) error { type Properties AcceptedPortfolioShare res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *AcceptedPortfolioShare) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/servicecatalog/aws-servicecatalog-cloudformationproduct.go b/cloudformation/servicecatalog/aws-servicecatalog-cloudformationproduct.go index ddddac9de8..7b3343b807 100644 --- a/cloudformation/servicecatalog/aws-servicecatalog-cloudformationproduct.go +++ b/cloudformation/servicecatalog/aws-servicecatalog-cloudformationproduct.go @@ -43,6 +43,11 @@ type CloudFormationProduct struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationproduct.html#cfn-servicecatalog-cloudformationproduct-provisioningartifactparameters ProvisioningArtifactParameters []CloudFormationProduct_ProvisioningArtifactProperties `json:"ProvisioningArtifactParameters,omitempty"` + // ReplaceProvisioningArtifacts AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationproduct.html#cfn-servicecatalog-cloudformationproduct-replaceprovisioningartifacts + ReplaceProvisioningArtifacts bool `json:"ReplaceProvisioningArtifacts,omitempty"` + // SupportDescription AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationproduct.html#cfn-servicecatalog-cloudformationproduct-supportdescription @@ -66,6 +71,9 @@ type CloudFormationProduct struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -86,19 +94,21 @@ func (r *CloudFormationProduct) AWSCloudFormationType() string { func (r CloudFormationProduct) MarshalJSON() ([]byte, error) { type Properties CloudFormationProduct return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -107,12 +117,13 @@ func (r CloudFormationProduct) MarshalJSON() ([]byte, error) { func (r *CloudFormationProduct) UnmarshalJSON(b []byte) error { type Properties CloudFormationProduct res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -136,6 +147,9 @@ func (r *CloudFormationProduct) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/servicecatalog/aws-servicecatalog-cloudformationproduct_provisioningartifactproperties.go b/cloudformation/servicecatalog/aws-servicecatalog-cloudformationproduct_provisioningartifactproperties.go index 58772594b0..c34191ed65 100644 --- a/cloudformation/servicecatalog/aws-servicecatalog-cloudformationproduct_provisioningartifactproperties.go +++ b/cloudformation/servicecatalog/aws-servicecatalog-cloudformationproduct_provisioningartifactproperties.go @@ -31,6 +31,9 @@ type CloudFormationProduct_ProvisioningArtifactProperties struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/servicecatalog/aws-servicecatalog-cloudformationprovisionedproduct.go b/cloudformation/servicecatalog/aws-servicecatalog-cloudformationprovisionedproduct.go index 18b904d2f7..3c8ffd9fa0 100644 --- a/cloudformation/servicecatalog/aws-servicecatalog-cloudformationprovisionedproduct.go +++ b/cloudformation/servicecatalog/aws-servicecatalog-cloudformationprovisionedproduct.go @@ -71,6 +71,9 @@ type CloudFormationProvisionedProduct struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -91,19 +94,21 @@ func (r *CloudFormationProvisionedProduct) AWSCloudFormationType() string { func (r CloudFormationProvisionedProduct) MarshalJSON() ([]byte, error) { type Properties CloudFormationProvisionedProduct return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -112,12 +117,13 @@ func (r CloudFormationProvisionedProduct) MarshalJSON() ([]byte, error) { func (r *CloudFormationProvisionedProduct) UnmarshalJSON(b []byte) error { type Properties CloudFormationProvisionedProduct res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -141,6 +147,9 @@ func (r *CloudFormationProvisionedProduct) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/servicecatalog/aws-servicecatalog-cloudformationprovisionedproduct_provisioningparameter.go b/cloudformation/servicecatalog/aws-servicecatalog-cloudformationprovisionedproduct_provisioningparameter.go index 439fdf7a30..4bb3051b29 100644 --- a/cloudformation/servicecatalog/aws-servicecatalog-cloudformationprovisionedproduct_provisioningparameter.go +++ b/cloudformation/servicecatalog/aws-servicecatalog-cloudformationprovisionedproduct_provisioningparameter.go @@ -21,6 +21,9 @@ type CloudFormationProvisionedProduct_ProvisioningParameter struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/servicecatalog/aws-servicecatalog-cloudformationprovisionedproduct_provisioningpreferences.go b/cloudformation/servicecatalog/aws-servicecatalog-cloudformationprovisionedproduct_provisioningpreferences.go index b903cc805e..a5b241298a 100644 --- a/cloudformation/servicecatalog/aws-servicecatalog-cloudformationprovisionedproduct_provisioningpreferences.go +++ b/cloudformation/servicecatalog/aws-servicecatalog-cloudformationprovisionedproduct_provisioningpreferences.go @@ -46,6 +46,9 @@ type CloudFormationProvisionedProduct_ProvisioningPreferences struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/servicecatalog/aws-servicecatalog-launchnotificationconstraint.go b/cloudformation/servicecatalog/aws-servicecatalog-launchnotificationconstraint.go index a917647cba..8849ca4fa4 100644 --- a/cloudformation/servicecatalog/aws-servicecatalog-launchnotificationconstraint.go +++ b/cloudformation/servicecatalog/aws-servicecatalog-launchnotificationconstraint.go @@ -40,6 +40,9 @@ type LaunchNotificationConstraint struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -60,19 +63,21 @@ func (r *LaunchNotificationConstraint) AWSCloudFormationType() string { func (r LaunchNotificationConstraint) MarshalJSON() ([]byte, error) { type Properties LaunchNotificationConstraint return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -81,12 +86,13 @@ func (r LaunchNotificationConstraint) MarshalJSON() ([]byte, error) { func (r *LaunchNotificationConstraint) UnmarshalJSON(b []byte) error { type Properties LaunchNotificationConstraint res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -110,6 +116,9 @@ func (r *LaunchNotificationConstraint) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/servicecatalog/aws-servicecatalog-launchroleconstraint.go b/cloudformation/servicecatalog/aws-servicecatalog-launchroleconstraint.go index ee11b7f22f..98e99283fc 100644 --- a/cloudformation/servicecatalog/aws-servicecatalog-launchroleconstraint.go +++ b/cloudformation/servicecatalog/aws-servicecatalog-launchroleconstraint.go @@ -22,6 +22,11 @@ type LaunchRoleConstraint struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchroleconstraint.html#cfn-servicecatalog-launchroleconstraint-description Description string `json:"Description,omitempty"` + // LocalRoleName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchroleconstraint.html#cfn-servicecatalog-launchroleconstraint-localrolename + LocalRoleName string `json:"LocalRoleName,omitempty"` + // PortfolioId AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchroleconstraint.html#cfn-servicecatalog-launchroleconstraint-portfolioid @@ -33,13 +38,16 @@ type LaunchRoleConstraint struct { ProductId string `json:"ProductId,omitempty"` // RoleArn AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchroleconstraint.html#cfn-servicecatalog-launchroleconstraint-rolearn RoleArn string `json:"RoleArn,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -60,19 +68,21 @@ func (r *LaunchRoleConstraint) AWSCloudFormationType() string { func (r LaunchRoleConstraint) MarshalJSON() ([]byte, error) { type Properties LaunchRoleConstraint return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -81,12 +91,13 @@ func (r LaunchRoleConstraint) MarshalJSON() ([]byte, error) { func (r *LaunchRoleConstraint) UnmarshalJSON(b []byte) error { type Properties LaunchRoleConstraint res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -110,6 +121,9 @@ func (r *LaunchRoleConstraint) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/servicecatalog/aws-servicecatalog-launchtemplateconstraint.go b/cloudformation/servicecatalog/aws-servicecatalog-launchtemplateconstraint.go index 26edb75645..4e7816f5c6 100644 --- a/cloudformation/servicecatalog/aws-servicecatalog-launchtemplateconstraint.go +++ b/cloudformation/servicecatalog/aws-servicecatalog-launchtemplateconstraint.go @@ -40,6 +40,9 @@ type LaunchTemplateConstraint struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -60,19 +63,21 @@ func (r *LaunchTemplateConstraint) AWSCloudFormationType() string { func (r LaunchTemplateConstraint) MarshalJSON() ([]byte, error) { type Properties LaunchTemplateConstraint return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -81,12 +86,13 @@ func (r LaunchTemplateConstraint) MarshalJSON() ([]byte, error) { func (r *LaunchTemplateConstraint) UnmarshalJSON(b []byte) error { type Properties LaunchTemplateConstraint res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -110,6 +116,9 @@ func (r *LaunchTemplateConstraint) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/servicecatalog/aws-servicecatalog-portfolio.go b/cloudformation/servicecatalog/aws-servicecatalog-portfolio.go index 0acada951b..122d88b551 100644 --- a/cloudformation/servicecatalog/aws-servicecatalog-portfolio.go +++ b/cloudformation/servicecatalog/aws-servicecatalog-portfolio.go @@ -41,6 +41,9 @@ type Portfolio struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -61,19 +64,21 @@ func (r *Portfolio) AWSCloudFormationType() string { func (r Portfolio) MarshalJSON() ([]byte, error) { type Properties Portfolio return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -82,12 +87,13 @@ func (r Portfolio) MarshalJSON() ([]byte, error) { func (r *Portfolio) UnmarshalJSON(b []byte) error { type Properties Portfolio res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -111,6 +117,9 @@ func (r *Portfolio) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/servicecatalog/aws-servicecatalog-portfolioprincipalassociation.go b/cloudformation/servicecatalog/aws-servicecatalog-portfolioprincipalassociation.go index 794f04271c..dc7bb9007f 100644 --- a/cloudformation/servicecatalog/aws-servicecatalog-portfolioprincipalassociation.go +++ b/cloudformation/servicecatalog/aws-servicecatalog-portfolioprincipalassociation.go @@ -35,6 +35,9 @@ type PortfolioPrincipalAssociation struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -55,19 +58,21 @@ func (r *PortfolioPrincipalAssociation) AWSCloudFormationType() string { func (r PortfolioPrincipalAssociation) MarshalJSON() ([]byte, error) { type Properties PortfolioPrincipalAssociation return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -76,12 +81,13 @@ func (r PortfolioPrincipalAssociation) MarshalJSON() ([]byte, error) { func (r *PortfolioPrincipalAssociation) UnmarshalJSON(b []byte) error { type Properties PortfolioPrincipalAssociation res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -105,6 +111,9 @@ func (r *PortfolioPrincipalAssociation) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/servicecatalog/aws-servicecatalog-portfolioproductassociation.go b/cloudformation/servicecatalog/aws-servicecatalog-portfolioproductassociation.go index 437f2ae12c..b0f491e073 100644 --- a/cloudformation/servicecatalog/aws-servicecatalog-portfolioproductassociation.go +++ b/cloudformation/servicecatalog/aws-servicecatalog-portfolioproductassociation.go @@ -35,6 +35,9 @@ type PortfolioProductAssociation struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -55,19 +58,21 @@ func (r *PortfolioProductAssociation) AWSCloudFormationType() string { func (r PortfolioProductAssociation) MarshalJSON() ([]byte, error) { type Properties PortfolioProductAssociation return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -76,12 +81,13 @@ func (r PortfolioProductAssociation) MarshalJSON() ([]byte, error) { func (r *PortfolioProductAssociation) UnmarshalJSON(b []byte) error { type Properties PortfolioProductAssociation res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -105,6 +111,9 @@ func (r *PortfolioProductAssociation) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/servicecatalog/aws-servicecatalog-portfolioshare.go b/cloudformation/servicecatalog/aws-servicecatalog-portfolioshare.go index 2f44e8dd13..5753d98932 100644 --- a/cloudformation/servicecatalog/aws-servicecatalog-portfolioshare.go +++ b/cloudformation/servicecatalog/aws-servicecatalog-portfolioshare.go @@ -30,6 +30,9 @@ type PortfolioShare struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *PortfolioShare) AWSCloudFormationType() string { func (r PortfolioShare) MarshalJSON() ([]byte, error) { type Properties PortfolioShare return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r PortfolioShare) MarshalJSON() ([]byte, error) { func (r *PortfolioShare) UnmarshalJSON(b []byte) error { type Properties PortfolioShare res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *PortfolioShare) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/servicecatalog/aws-servicecatalog-resourceupdateconstraint.go b/cloudformation/servicecatalog/aws-servicecatalog-resourceupdateconstraint.go index cd4c07fed6..7ff6b4b8c2 100644 --- a/cloudformation/servicecatalog/aws-servicecatalog-resourceupdateconstraint.go +++ b/cloudformation/servicecatalog/aws-servicecatalog-resourceupdateconstraint.go @@ -40,6 +40,9 @@ type ResourceUpdateConstraint struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -60,19 +63,21 @@ func (r *ResourceUpdateConstraint) AWSCloudFormationType() string { func (r ResourceUpdateConstraint) MarshalJSON() ([]byte, error) { type Properties ResourceUpdateConstraint return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -81,12 +86,13 @@ func (r ResourceUpdateConstraint) MarshalJSON() ([]byte, error) { func (r *ResourceUpdateConstraint) UnmarshalJSON(b []byte) error { type Properties ResourceUpdateConstraint res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -110,6 +116,9 @@ func (r *ResourceUpdateConstraint) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/servicecatalog/aws-servicecatalog-stacksetconstraint.go b/cloudformation/servicecatalog/aws-servicecatalog-stacksetconstraint.go index 81017cba5e..dd6174078f 100644 --- a/cloudformation/servicecatalog/aws-servicecatalog-stacksetconstraint.go +++ b/cloudformation/servicecatalog/aws-servicecatalog-stacksetconstraint.go @@ -60,6 +60,9 @@ type StackSetConstraint struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -80,19 +83,21 @@ func (r *StackSetConstraint) AWSCloudFormationType() string { func (r StackSetConstraint) MarshalJSON() ([]byte, error) { type Properties StackSetConstraint return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -101,12 +106,13 @@ func (r StackSetConstraint) MarshalJSON() ([]byte, error) { func (r *StackSetConstraint) UnmarshalJSON(b []byte) error { type Properties StackSetConstraint res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -130,6 +136,9 @@ func (r *StackSetConstraint) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/servicecatalog/aws-servicecatalog-tagoption.go b/cloudformation/servicecatalog/aws-servicecatalog-tagoption.go index 056f23bd1e..ba907530b3 100644 --- a/cloudformation/servicecatalog/aws-servicecatalog-tagoption.go +++ b/cloudformation/servicecatalog/aws-servicecatalog-tagoption.go @@ -30,6 +30,9 @@ type TagOption struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *TagOption) AWSCloudFormationType() string { func (r TagOption) MarshalJSON() ([]byte, error) { type Properties TagOption return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r TagOption) MarshalJSON() ([]byte, error) { func (r *TagOption) UnmarshalJSON(b []byte) error { type Properties TagOption res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *TagOption) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/servicecatalog/aws-servicecatalog-tagoptionassociation.go b/cloudformation/servicecatalog/aws-servicecatalog-tagoptionassociation.go index 45aee83460..ae82042821 100644 --- a/cloudformation/servicecatalog/aws-servicecatalog-tagoptionassociation.go +++ b/cloudformation/servicecatalog/aws-servicecatalog-tagoptionassociation.go @@ -25,6 +25,9 @@ type TagOptionAssociation struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *TagOptionAssociation) AWSCloudFormationType() string { func (r TagOptionAssociation) MarshalJSON() ([]byte, error) { type Properties TagOptionAssociation return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r TagOptionAssociation) MarshalJSON() ([]byte, error) { func (r *TagOptionAssociation) UnmarshalJSON(b []byte) error { type Properties TagOptionAssociation res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *TagOptionAssociation) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/servicediscovery/aws-servicediscovery-httpnamespace.go b/cloudformation/servicediscovery/aws-servicediscovery-httpnamespace.go index 2feac121a8..61efab8a00 100644 --- a/cloudformation/servicediscovery/aws-servicediscovery-httpnamespace.go +++ b/cloudformation/servicediscovery/aws-servicediscovery-httpnamespace.go @@ -6,6 +6,7 @@ import ( "fmt" "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" ) // HttpNamespace AWS CloudFormation Resource (AWS::ServiceDiscovery::HttpNamespace) @@ -22,9 +23,17 @@ type HttpNamespace struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-httpnamespace.html#cfn-servicediscovery-httpnamespace-name Name string `json:"Name,omitempty"` + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-httpnamespace.html#cfn-servicediscovery-httpnamespace-tags + Tags []tags.Tag `json:"Tags,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +54,21 @@ func (r *HttpNamespace) AWSCloudFormationType() string { func (r HttpNamespace) MarshalJSON() ([]byte, error) { type Properties HttpNamespace return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +77,13 @@ func (r HttpNamespace) MarshalJSON() ([]byte, error) { func (r *HttpNamespace) UnmarshalJSON(b []byte) error { type Properties HttpNamespace res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +107,9 @@ func (r *HttpNamespace) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/servicediscovery/aws-servicediscovery-instance.go b/cloudformation/servicediscovery/aws-servicediscovery-instance.go index 0e02de76b8..f0fbe9b103 100644 --- a/cloudformation/servicediscovery/aws-servicediscovery-instance.go +++ b/cloudformation/servicediscovery/aws-servicediscovery-instance.go @@ -30,6 +30,9 @@ type Instance struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *Instance) AWSCloudFormationType() string { func (r Instance) MarshalJSON() ([]byte, error) { type Properties Instance return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r Instance) MarshalJSON() ([]byte, error) { func (r *Instance) UnmarshalJSON(b []byte) error { type Properties Instance res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *Instance) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/servicediscovery/aws-servicediscovery-privatednsnamespace.go b/cloudformation/servicediscovery/aws-servicediscovery-privatednsnamespace.go index d4adb0f3d4..7a2b9aa374 100644 --- a/cloudformation/servicediscovery/aws-servicediscovery-privatednsnamespace.go +++ b/cloudformation/servicediscovery/aws-servicediscovery-privatednsnamespace.go @@ -6,6 +6,7 @@ import ( "fmt" "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" ) // PrivateDnsNamespace AWS CloudFormation Resource (AWS::ServiceDiscovery::PrivateDnsNamespace) @@ -22,6 +23,11 @@ type PrivateDnsNamespace struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-privatednsnamespace.html#cfn-servicediscovery-privatednsnamespace-name Name string `json:"Name,omitempty"` + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-privatednsnamespace.html#cfn-servicediscovery-privatednsnamespace-tags + Tags []tags.Tag `json:"Tags,omitempty"` + // Vpc AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-privatednsnamespace.html#cfn-servicediscovery-privatednsnamespace-vpc @@ -30,6 +36,9 @@ type PrivateDnsNamespace struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +59,21 @@ func (r *PrivateDnsNamespace) AWSCloudFormationType() string { func (r PrivateDnsNamespace) MarshalJSON() ([]byte, error) { type Properties PrivateDnsNamespace return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +82,13 @@ func (r PrivateDnsNamespace) MarshalJSON() ([]byte, error) { func (r *PrivateDnsNamespace) UnmarshalJSON(b []byte) error { type Properties PrivateDnsNamespace res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +112,9 @@ func (r *PrivateDnsNamespace) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/servicediscovery/aws-servicediscovery-publicdnsnamespace.go b/cloudformation/servicediscovery/aws-servicediscovery-publicdnsnamespace.go index 3f53cb7756..e5256b92c2 100644 --- a/cloudformation/servicediscovery/aws-servicediscovery-publicdnsnamespace.go +++ b/cloudformation/servicediscovery/aws-servicediscovery-publicdnsnamespace.go @@ -6,6 +6,7 @@ import ( "fmt" "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" ) // PublicDnsNamespace AWS CloudFormation Resource (AWS::ServiceDiscovery::PublicDnsNamespace) @@ -22,9 +23,17 @@ type PublicDnsNamespace struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-publicdnsnamespace.html#cfn-servicediscovery-publicdnsnamespace-name Name string `json:"Name,omitempty"` + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-publicdnsnamespace.html#cfn-servicediscovery-publicdnsnamespace-tags + Tags []tags.Tag `json:"Tags,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +54,21 @@ func (r *PublicDnsNamespace) AWSCloudFormationType() string { func (r PublicDnsNamespace) MarshalJSON() ([]byte, error) { type Properties PublicDnsNamespace return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +77,13 @@ func (r PublicDnsNamespace) MarshalJSON() ([]byte, error) { func (r *PublicDnsNamespace) UnmarshalJSON(b []byte) error { type Properties PublicDnsNamespace res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +107,9 @@ func (r *PublicDnsNamespace) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/servicediscovery/aws-servicediscovery-service.go b/cloudformation/servicediscovery/aws-servicediscovery-service.go index 7559430a15..57467cead5 100644 --- a/cloudformation/servicediscovery/aws-servicediscovery-service.go +++ b/cloudformation/servicediscovery/aws-servicediscovery-service.go @@ -6,6 +6,7 @@ import ( "fmt" "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" ) // Service AWS CloudFormation Resource (AWS::ServiceDiscovery::Service) @@ -42,9 +43,17 @@ type Service struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-service.html#cfn-servicediscovery-service-namespaceid NamespaceId string `json:"NamespaceId,omitempty"` + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-service.html#cfn-servicediscovery-service-tags + Tags []tags.Tag `json:"Tags,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -65,19 +74,21 @@ func (r *Service) AWSCloudFormationType() string { func (r Service) MarshalJSON() ([]byte, error) { type Properties Service return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -86,12 +97,13 @@ func (r Service) MarshalJSON() ([]byte, error) { func (r *Service) UnmarshalJSON(b []byte) error { type Properties Service res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -115,6 +127,9 @@ func (r *Service) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/servicediscovery/aws-servicediscovery-service_dnsconfig.go b/cloudformation/servicediscovery/aws-servicediscovery-service_dnsconfig.go index 60b1adf09f..c2b58f729d 100644 --- a/cloudformation/servicediscovery/aws-servicediscovery-service_dnsconfig.go +++ b/cloudformation/servicediscovery/aws-servicediscovery-service_dnsconfig.go @@ -26,6 +26,9 @@ type Service_DnsConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/servicediscovery/aws-servicediscovery-service_dnsrecord.go b/cloudformation/servicediscovery/aws-servicediscovery-service_dnsrecord.go index 736612609f..19c8e26991 100644 --- a/cloudformation/servicediscovery/aws-servicediscovery-service_dnsrecord.go +++ b/cloudformation/servicediscovery/aws-servicediscovery-service_dnsrecord.go @@ -21,6 +21,9 @@ type Service_DnsRecord struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/servicediscovery/aws-servicediscovery-service_healthcheckconfig.go b/cloudformation/servicediscovery/aws-servicediscovery-service_healthcheckconfig.go index dd13f3a910..a4cc0f5f7e 100644 --- a/cloudformation/servicediscovery/aws-servicediscovery-service_healthcheckconfig.go +++ b/cloudformation/servicediscovery/aws-servicediscovery-service_healthcheckconfig.go @@ -26,6 +26,9 @@ type Service_HealthCheckConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/servicediscovery/aws-servicediscovery-service_healthcheckcustomconfig.go b/cloudformation/servicediscovery/aws-servicediscovery-service_healthcheckcustomconfig.go index 0d2a280bd9..7132397894 100644 --- a/cloudformation/servicediscovery/aws-servicediscovery-service_healthcheckcustomconfig.go +++ b/cloudformation/servicediscovery/aws-servicediscovery-service_healthcheckcustomconfig.go @@ -16,6 +16,9 @@ type Service_HealthCheckCustomConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ses/aws-ses-configurationset.go b/cloudformation/ses/aws-ses-configurationset.go index 7ff174c969..4ee8c1700b 100644 --- a/cloudformation/ses/aws-ses-configurationset.go +++ b/cloudformation/ses/aws-ses-configurationset.go @@ -20,6 +20,9 @@ type ConfigurationSet struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -40,19 +43,21 @@ func (r *ConfigurationSet) AWSCloudFormationType() string { func (r ConfigurationSet) MarshalJSON() ([]byte, error) { type Properties ConfigurationSet return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -61,12 +66,13 @@ func (r ConfigurationSet) MarshalJSON() ([]byte, error) { func (r *ConfigurationSet) UnmarshalJSON(b []byte) error { type Properties ConfigurationSet res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -90,6 +96,9 @@ func (r *ConfigurationSet) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ses/aws-ses-configurationseteventdestination.go b/cloudformation/ses/aws-ses-configurationseteventdestination.go index 282e089ca3..23dae3ff3a 100644 --- a/cloudformation/ses/aws-ses-configurationseteventdestination.go +++ b/cloudformation/ses/aws-ses-configurationseteventdestination.go @@ -25,6 +25,9 @@ type ConfigurationSetEventDestination struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *ConfigurationSetEventDestination) AWSCloudFormationType() string { func (r ConfigurationSetEventDestination) MarshalJSON() ([]byte, error) { type Properties ConfigurationSetEventDestination return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r ConfigurationSetEventDestination) MarshalJSON() ([]byte, error) { func (r *ConfigurationSetEventDestination) UnmarshalJSON(b []byte) error { type Properties ConfigurationSetEventDestination res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *ConfigurationSetEventDestination) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ses/aws-ses-configurationseteventdestination_cloudwatchdestination.go b/cloudformation/ses/aws-ses-configurationseteventdestination_cloudwatchdestination.go index 5822203e37..b514b65c58 100644 --- a/cloudformation/ses/aws-ses-configurationseteventdestination_cloudwatchdestination.go +++ b/cloudformation/ses/aws-ses-configurationseteventdestination_cloudwatchdestination.go @@ -16,6 +16,9 @@ type ConfigurationSetEventDestination_CloudWatchDestination struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ses/aws-ses-configurationseteventdestination_dimensionconfiguration.go b/cloudformation/ses/aws-ses-configurationseteventdestination_dimensionconfiguration.go index a08e371de4..5c28df259f 100644 --- a/cloudformation/ses/aws-ses-configurationseteventdestination_dimensionconfiguration.go +++ b/cloudformation/ses/aws-ses-configurationseteventdestination_dimensionconfiguration.go @@ -26,6 +26,9 @@ type ConfigurationSetEventDestination_DimensionConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ses/aws-ses-configurationseteventdestination_eventdestination.go b/cloudformation/ses/aws-ses-configurationseteventdestination_eventdestination.go index f7f5c9b4fd..255a58cb9e 100644 --- a/cloudformation/ses/aws-ses-configurationseteventdestination_eventdestination.go +++ b/cloudformation/ses/aws-ses-configurationseteventdestination_eventdestination.go @@ -36,6 +36,9 @@ type ConfigurationSetEventDestination_EventDestination struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ses/aws-ses-configurationseteventdestination_kinesisfirehosedestination.go b/cloudformation/ses/aws-ses-configurationseteventdestination_kinesisfirehosedestination.go index e768336509..1eb35102db 100644 --- a/cloudformation/ses/aws-ses-configurationseteventdestination_kinesisfirehosedestination.go +++ b/cloudformation/ses/aws-ses-configurationseteventdestination_kinesisfirehosedestination.go @@ -21,6 +21,9 @@ type ConfigurationSetEventDestination_KinesisFirehoseDestination struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ses/aws-ses-receiptfilter.go b/cloudformation/ses/aws-ses-receiptfilter.go index 207813072b..275a747641 100644 --- a/cloudformation/ses/aws-ses-receiptfilter.go +++ b/cloudformation/ses/aws-ses-receiptfilter.go @@ -20,6 +20,9 @@ type ReceiptFilter struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -40,19 +43,21 @@ func (r *ReceiptFilter) AWSCloudFormationType() string { func (r ReceiptFilter) MarshalJSON() ([]byte, error) { type Properties ReceiptFilter return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -61,12 +66,13 @@ func (r ReceiptFilter) MarshalJSON() ([]byte, error) { func (r *ReceiptFilter) UnmarshalJSON(b []byte) error { type Properties ReceiptFilter res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -90,6 +96,9 @@ func (r *ReceiptFilter) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ses/aws-ses-receiptfilter_filter.go b/cloudformation/ses/aws-ses-receiptfilter_filter.go index 21259c0d1e..f3d2fc330f 100644 --- a/cloudformation/ses/aws-ses-receiptfilter_filter.go +++ b/cloudformation/ses/aws-ses-receiptfilter_filter.go @@ -21,6 +21,9 @@ type ReceiptFilter_Filter struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ses/aws-ses-receiptfilter_ipfilter.go b/cloudformation/ses/aws-ses-receiptfilter_ipfilter.go index d612aa37f8..c7a080c3df 100644 --- a/cloudformation/ses/aws-ses-receiptfilter_ipfilter.go +++ b/cloudformation/ses/aws-ses-receiptfilter_ipfilter.go @@ -21,6 +21,9 @@ type ReceiptFilter_IpFilter struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ses/aws-ses-receiptrule.go b/cloudformation/ses/aws-ses-receiptrule.go index 5405a9ab8c..191d85b91f 100644 --- a/cloudformation/ses/aws-ses-receiptrule.go +++ b/cloudformation/ses/aws-ses-receiptrule.go @@ -30,6 +30,9 @@ type ReceiptRule struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *ReceiptRule) AWSCloudFormationType() string { func (r ReceiptRule) MarshalJSON() ([]byte, error) { type Properties ReceiptRule return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r ReceiptRule) MarshalJSON() ([]byte, error) { func (r *ReceiptRule) UnmarshalJSON(b []byte) error { type Properties ReceiptRule res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *ReceiptRule) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ses/aws-ses-receiptrule_action.go b/cloudformation/ses/aws-ses-receiptrule_action.go index a4dfb8b52d..8cc52d3ee9 100644 --- a/cloudformation/ses/aws-ses-receiptrule_action.go +++ b/cloudformation/ses/aws-ses-receiptrule_action.go @@ -46,6 +46,9 @@ type ReceiptRule_Action struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ses/aws-ses-receiptrule_addheaderaction.go b/cloudformation/ses/aws-ses-receiptrule_addheaderaction.go index 8d56fce472..dd709a7131 100644 --- a/cloudformation/ses/aws-ses-receiptrule_addheaderaction.go +++ b/cloudformation/ses/aws-ses-receiptrule_addheaderaction.go @@ -21,6 +21,9 @@ type ReceiptRule_AddHeaderAction struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ses/aws-ses-receiptrule_bounceaction.go b/cloudformation/ses/aws-ses-receiptrule_bounceaction.go index a4728e3e82..fa5dfd739a 100644 --- a/cloudformation/ses/aws-ses-receiptrule_bounceaction.go +++ b/cloudformation/ses/aws-ses-receiptrule_bounceaction.go @@ -36,6 +36,9 @@ type ReceiptRule_BounceAction struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ses/aws-ses-receiptrule_lambdaaction.go b/cloudformation/ses/aws-ses-receiptrule_lambdaaction.go index dd1e600dbc..e2f4d42bdf 100644 --- a/cloudformation/ses/aws-ses-receiptrule_lambdaaction.go +++ b/cloudformation/ses/aws-ses-receiptrule_lambdaaction.go @@ -26,6 +26,9 @@ type ReceiptRule_LambdaAction struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ses/aws-ses-receiptrule_rule.go b/cloudformation/ses/aws-ses-receiptrule_rule.go index 223b5d0996..355bff6aef 100644 --- a/cloudformation/ses/aws-ses-receiptrule_rule.go +++ b/cloudformation/ses/aws-ses-receiptrule_rule.go @@ -41,6 +41,9 @@ type ReceiptRule_Rule struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ses/aws-ses-receiptrule_s3action.go b/cloudformation/ses/aws-ses-receiptrule_s3action.go index 46b72d97af..7089a31258 100644 --- a/cloudformation/ses/aws-ses-receiptrule_s3action.go +++ b/cloudformation/ses/aws-ses-receiptrule_s3action.go @@ -31,6 +31,9 @@ type ReceiptRule_S3Action struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ses/aws-ses-receiptrule_snsaction.go b/cloudformation/ses/aws-ses-receiptrule_snsaction.go index 29a7ce2f1e..6e198531f3 100644 --- a/cloudformation/ses/aws-ses-receiptrule_snsaction.go +++ b/cloudformation/ses/aws-ses-receiptrule_snsaction.go @@ -21,6 +21,9 @@ type ReceiptRule_SNSAction struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ses/aws-ses-receiptrule_stopaction.go b/cloudformation/ses/aws-ses-receiptrule_stopaction.go index 2e5a656b28..a8a4dc2f99 100644 --- a/cloudformation/ses/aws-ses-receiptrule_stopaction.go +++ b/cloudformation/ses/aws-ses-receiptrule_stopaction.go @@ -21,6 +21,9 @@ type ReceiptRule_StopAction struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ses/aws-ses-receiptrule_workmailaction.go b/cloudformation/ses/aws-ses-receiptrule_workmailaction.go index 3eb1fd27b5..161763b252 100644 --- a/cloudformation/ses/aws-ses-receiptrule_workmailaction.go +++ b/cloudformation/ses/aws-ses-receiptrule_workmailaction.go @@ -21,6 +21,9 @@ type ReceiptRule_WorkmailAction struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ses/aws-ses-receiptruleset.go b/cloudformation/ses/aws-ses-receiptruleset.go index b621e1f87d..7b4763a60b 100644 --- a/cloudformation/ses/aws-ses-receiptruleset.go +++ b/cloudformation/ses/aws-ses-receiptruleset.go @@ -20,6 +20,9 @@ type ReceiptRuleSet struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -40,19 +43,21 @@ func (r *ReceiptRuleSet) AWSCloudFormationType() string { func (r ReceiptRuleSet) MarshalJSON() ([]byte, error) { type Properties ReceiptRuleSet return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -61,12 +66,13 @@ func (r ReceiptRuleSet) MarshalJSON() ([]byte, error) { func (r *ReceiptRuleSet) UnmarshalJSON(b []byte) error { type Properties ReceiptRuleSet res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -90,6 +96,9 @@ func (r *ReceiptRuleSet) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ses/aws-ses-template.go b/cloudformation/ses/aws-ses-template.go index cf3ddb61c5..130365c971 100644 --- a/cloudformation/ses/aws-ses-template.go +++ b/cloudformation/ses/aws-ses-template.go @@ -20,6 +20,9 @@ type Template struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -40,19 +43,21 @@ func (r *Template) AWSCloudFormationType() string { func (r Template) MarshalJSON() ([]byte, error) { type Properties Template return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -61,12 +66,13 @@ func (r Template) MarshalJSON() ([]byte, error) { func (r *Template) UnmarshalJSON(b []byte) error { type Properties Template res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -90,6 +96,9 @@ func (r *Template) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ses/aws-ses-template_template.go b/cloudformation/ses/aws-ses-template_template.go index fc689e82ad..9a8e92c24d 100644 --- a/cloudformation/ses/aws-ses-template_template.go +++ b/cloudformation/ses/aws-ses-template_template.go @@ -31,6 +31,9 @@ type Template_Template struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/sns/aws-sns-subscription.go b/cloudformation/sns/aws-sns-subscription.go index fdb33752fc..589d75c70b 100644 --- a/cloudformation/sns/aws-sns-subscription.go +++ b/cloudformation/sns/aws-sns-subscription.go @@ -55,6 +55,9 @@ type Subscription struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -75,19 +78,21 @@ func (r *Subscription) AWSCloudFormationType() string { func (r Subscription) MarshalJSON() ([]byte, error) { type Properties Subscription return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -96,12 +101,13 @@ func (r Subscription) MarshalJSON() ([]byte, error) { func (r *Subscription) UnmarshalJSON(b []byte) error { type Properties Subscription res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -125,6 +131,9 @@ func (r *Subscription) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/sns/aws-sns-topic.go b/cloudformation/sns/aws-sns-topic.go index 4100a14856..f6c9531119 100644 --- a/cloudformation/sns/aws-sns-topic.go +++ b/cloudformation/sns/aws-sns-topic.go @@ -13,11 +13,21 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html type Topic struct { + // ContentBasedDeduplication AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html#cfn-sns-topic-contentbaseddeduplication + ContentBasedDeduplication bool `json:"ContentBasedDeduplication,omitempty"` + // DisplayName AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html#cfn-sns-topic-displayname DisplayName string `json:"DisplayName,omitempty"` + // FifoTopic AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html#cfn-sns-topic-fifotopic + FifoTopic bool `json:"FifoTopic,omitempty"` + // KmsMasterKeyId AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html#cfn-sns-topic-kmsmasterkeyid @@ -41,6 +51,9 @@ type Topic struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -61,19 +74,21 @@ func (r *Topic) AWSCloudFormationType() string { func (r Topic) MarshalJSON() ([]byte, error) { type Properties Topic return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -82,12 +97,13 @@ func (r Topic) MarshalJSON() ([]byte, error) { func (r *Topic) UnmarshalJSON(b []byte) error { type Properties Topic res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -111,6 +127,9 @@ func (r *Topic) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/sns/aws-sns-topic_subscription.go b/cloudformation/sns/aws-sns-topic_subscription.go index 2e788eba7f..e36af4fcd6 100644 --- a/cloudformation/sns/aws-sns-topic_subscription.go +++ b/cloudformation/sns/aws-sns-topic_subscription.go @@ -21,6 +21,9 @@ type Topic_Subscription struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/sns/aws-sns-topicpolicy.go b/cloudformation/sns/aws-sns-topicpolicy.go index adaba24077..1102e03df8 100644 --- a/cloudformation/sns/aws-sns-topicpolicy.go +++ b/cloudformation/sns/aws-sns-topicpolicy.go @@ -25,6 +25,9 @@ type TopicPolicy struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *TopicPolicy) AWSCloudFormationType() string { func (r TopicPolicy) MarshalJSON() ([]byte, error) { type Properties TopicPolicy return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r TopicPolicy) MarshalJSON() ([]byte, error) { func (r *TopicPolicy) UnmarshalJSON(b []byte) error { type Properties TopicPolicy res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *TopicPolicy) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/sqs/aws-sqs-queue.go b/cloudformation/sqs/aws-sqs-queue.go index 617c9dbae4..bffcd22833 100644 --- a/cloudformation/sqs/aws-sqs-queue.go +++ b/cloudformation/sqs/aws-sqs-queue.go @@ -76,6 +76,9 @@ type Queue struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -96,19 +99,21 @@ func (r *Queue) AWSCloudFormationType() string { func (r Queue) MarshalJSON() ([]byte, error) { type Properties Queue return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -117,12 +122,13 @@ func (r Queue) MarshalJSON() ([]byte, error) { func (r *Queue) UnmarshalJSON(b []byte) error { type Properties Queue res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -146,6 +152,9 @@ func (r *Queue) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/sqs/aws-sqs-queuepolicy.go b/cloudformation/sqs/aws-sqs-queuepolicy.go index c11318a805..b5a20d3878 100644 --- a/cloudformation/sqs/aws-sqs-queuepolicy.go +++ b/cloudformation/sqs/aws-sqs-queuepolicy.go @@ -25,6 +25,9 @@ type QueuePolicy struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *QueuePolicy) AWSCloudFormationType() string { func (r QueuePolicy) MarshalJSON() ([]byte, error) { type Properties QueuePolicy return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r QueuePolicy) MarshalJSON() ([]byte, error) { func (r *QueuePolicy) UnmarshalJSON(b []byte) error { type Properties QueuePolicy res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *QueuePolicy) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ssm/aws-ssm-association.go b/cloudformation/ssm/aws-ssm-association.go index a308529d40..e5e80f6eff 100644 --- a/cloudformation/ssm/aws-ssm-association.go +++ b/cloudformation/ssm/aws-ssm-association.go @@ -17,6 +17,16 @@ type Association struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-associationname AssociationName string `json:"AssociationName,omitempty"` + // AutomationTargetParameterName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-automationtargetparametername + AutomationTargetParameterName string `json:"AutomationTargetParameterName,omitempty"` + + // ComplianceSeverity AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-complianceseverity + ComplianceSeverity string `json:"ComplianceSeverity,omitempty"` + // DocumentVersion AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-documentversion @@ -27,6 +37,16 @@ type Association struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-instanceid InstanceId string `json:"InstanceId,omitempty"` + // MaxConcurrency AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-maxconcurrency + MaxConcurrency string `json:"MaxConcurrency,omitempty"` + + // MaxErrors AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-maxerrors + MaxErrors string `json:"MaxErrors,omitempty"` + // Name AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-name @@ -40,21 +60,34 @@ type Association struct { // Parameters AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-parameters - Parameters map[string]Association_ParameterValues `json:"Parameters,omitempty"` + Parameters map[string]interface{} `json:"Parameters,omitempty"` // ScheduleExpression AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-scheduleexpression ScheduleExpression string `json:"ScheduleExpression,omitempty"` + // SyncCompliance AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-synccompliance + SyncCompliance string `json:"SyncCompliance,omitempty"` + // Targets AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-targets Targets []Association_Target `json:"Targets,omitempty"` + // WaitForSuccessTimeoutSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-waitforsuccesstimeoutseconds + WaitForSuccessTimeoutSeconds int `json:"WaitForSuccessTimeoutSeconds,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -75,19 +108,21 @@ func (r *Association) AWSCloudFormationType() string { func (r Association) MarshalJSON() ([]byte, error) { type Properties Association return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -96,12 +131,13 @@ func (r Association) MarshalJSON() ([]byte, error) { func (r *Association) UnmarshalJSON(b []byte) error { type Properties Association res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -125,6 +161,9 @@ func (r *Association) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ssm/aws-ssm-association_instanceassociationoutputlocation.go b/cloudformation/ssm/aws-ssm-association_instanceassociationoutputlocation.go index 5a1c0e8f7c..ec9fee1493 100644 --- a/cloudformation/ssm/aws-ssm-association_instanceassociationoutputlocation.go +++ b/cloudformation/ssm/aws-ssm-association_instanceassociationoutputlocation.go @@ -16,6 +16,9 @@ type Association_InstanceAssociationOutputLocation struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ssm/aws-ssm-association_s3outputlocation.go b/cloudformation/ssm/aws-ssm-association_s3outputlocation.go index 2fef72445a..30f8cfa6f5 100644 --- a/cloudformation/ssm/aws-ssm-association_s3outputlocation.go +++ b/cloudformation/ssm/aws-ssm-association_s3outputlocation.go @@ -18,9 +18,17 @@ type Association_S3OutputLocation struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-association-s3outputlocation.html#cfn-ssm-association-s3outputlocation-outputs3keyprefix OutputS3KeyPrefix string `json:"OutputS3KeyPrefix,omitempty"` + // OutputS3Region AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-association-s3outputlocation.html#cfn-ssm-association-s3outputlocation-outputs3region + OutputS3Region string `json:"OutputS3Region,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ssm/aws-ssm-association_target.go b/cloudformation/ssm/aws-ssm-association_target.go index 651ab9100a..c5be3b2fda 100644 --- a/cloudformation/ssm/aws-ssm-association_target.go +++ b/cloudformation/ssm/aws-ssm-association_target.go @@ -21,6 +21,9 @@ type Association_Target struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ssm/aws-ssm-document.go b/cloudformation/ssm/aws-ssm-document.go index 77ccd9bd07..17ca74ce65 100644 --- a/cloudformation/ssm/aws-ssm-document.go +++ b/cloudformation/ssm/aws-ssm-document.go @@ -36,6 +36,9 @@ type Document struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -56,19 +59,21 @@ func (r *Document) AWSCloudFormationType() string { func (r Document) MarshalJSON() ([]byte, error) { type Properties Document return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -77,12 +82,13 @@ func (r Document) MarshalJSON() ([]byte, error) { func (r *Document) UnmarshalJSON(b []byte) error { type Properties Document res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -106,6 +112,9 @@ func (r *Document) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ssm/aws-ssm-maintenancewindow.go b/cloudformation/ssm/aws-ssm-maintenancewindow.go index 5a8676bcc7..05161ed68e 100644 --- a/cloudformation/ssm/aws-ssm-maintenancewindow.go +++ b/cloudformation/ssm/aws-ssm-maintenancewindow.go @@ -66,6 +66,9 @@ type MaintenanceWindow struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -86,19 +89,21 @@ func (r *MaintenanceWindow) AWSCloudFormationType() string { func (r MaintenanceWindow) MarshalJSON() ([]byte, error) { type Properties MaintenanceWindow return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -107,12 +112,13 @@ func (r MaintenanceWindow) MarshalJSON() ([]byte, error) { func (r *MaintenanceWindow) UnmarshalJSON(b []byte) error { type Properties MaintenanceWindow res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -136,6 +142,9 @@ func (r *MaintenanceWindow) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ssm/aws-ssm-maintenancewindowtarget.go b/cloudformation/ssm/aws-ssm-maintenancewindowtarget.go index 73848e7f77..84af5f2df0 100644 --- a/cloudformation/ssm/aws-ssm-maintenancewindowtarget.go +++ b/cloudformation/ssm/aws-ssm-maintenancewindowtarget.go @@ -45,6 +45,9 @@ type MaintenanceWindowTarget struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -65,19 +68,21 @@ func (r *MaintenanceWindowTarget) AWSCloudFormationType() string { func (r MaintenanceWindowTarget) MarshalJSON() ([]byte, error) { type Properties MaintenanceWindowTarget return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -86,12 +91,13 @@ func (r MaintenanceWindowTarget) MarshalJSON() ([]byte, error) { func (r *MaintenanceWindowTarget) UnmarshalJSON(b []byte) error { type Properties MaintenanceWindowTarget res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -115,6 +121,9 @@ func (r *MaintenanceWindowTarget) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ssm/aws-ssm-maintenancewindowtarget_targets.go b/cloudformation/ssm/aws-ssm-maintenancewindowtarget_targets.go index 00d4ed3a8d..d2ec17ee12 100644 --- a/cloudformation/ssm/aws-ssm-maintenancewindowtarget_targets.go +++ b/cloudformation/ssm/aws-ssm-maintenancewindowtarget_targets.go @@ -21,6 +21,9 @@ type MaintenanceWindowTarget_Targets struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ssm/aws-ssm-maintenancewindowtask.go b/cloudformation/ssm/aws-ssm-maintenancewindowtask.go index ae4f5e2066..3bd66cc5b7 100644 --- a/cloudformation/ssm/aws-ssm-maintenancewindowtask.go +++ b/cloudformation/ssm/aws-ssm-maintenancewindowtask.go @@ -80,6 +80,9 @@ type MaintenanceWindowTask struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -100,19 +103,21 @@ func (r *MaintenanceWindowTask) AWSCloudFormationType() string { func (r MaintenanceWindowTask) MarshalJSON() ([]byte, error) { type Properties MaintenanceWindowTask return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -121,12 +126,13 @@ func (r MaintenanceWindowTask) MarshalJSON() ([]byte, error) { func (r *MaintenanceWindowTask) UnmarshalJSON(b []byte) error { type Properties MaintenanceWindowTask res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -150,6 +156,9 @@ func (r *MaintenanceWindowTask) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ssm/aws-ssm-maintenancewindowtask_logginginfo.go b/cloudformation/ssm/aws-ssm-maintenancewindowtask_logginginfo.go index 2ac95159c4..9701e1819a 100644 --- a/cloudformation/ssm/aws-ssm-maintenancewindowtask_logginginfo.go +++ b/cloudformation/ssm/aws-ssm-maintenancewindowtask_logginginfo.go @@ -26,6 +26,9 @@ type MaintenanceWindowTask_LoggingInfo struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ssm/aws-ssm-maintenancewindowtask_maintenancewindowautomationparameters.go b/cloudformation/ssm/aws-ssm-maintenancewindowtask_maintenancewindowautomationparameters.go index 2dd6602249..0438684276 100644 --- a/cloudformation/ssm/aws-ssm-maintenancewindowtask_maintenancewindowautomationparameters.go +++ b/cloudformation/ssm/aws-ssm-maintenancewindowtask_maintenancewindowautomationparameters.go @@ -21,6 +21,9 @@ type MaintenanceWindowTask_MaintenanceWindowAutomationParameters struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ssm/aws-ssm-maintenancewindowtask_maintenancewindowlambdaparameters.go b/cloudformation/ssm/aws-ssm-maintenancewindowtask_maintenancewindowlambdaparameters.go index 1b907fa8ec..33e3053ea7 100644 --- a/cloudformation/ssm/aws-ssm-maintenancewindowtask_maintenancewindowlambdaparameters.go +++ b/cloudformation/ssm/aws-ssm-maintenancewindowtask_maintenancewindowlambdaparameters.go @@ -26,6 +26,9 @@ type MaintenanceWindowTask_MaintenanceWindowLambdaParameters struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ssm/aws-ssm-maintenancewindowtask_maintenancewindowruncommandparameters.go b/cloudformation/ssm/aws-ssm-maintenancewindowtask_maintenancewindowruncommandparameters.go index 0d468dad99..6b60b6c556 100644 --- a/cloudformation/ssm/aws-ssm-maintenancewindowtask_maintenancewindowruncommandparameters.go +++ b/cloudformation/ssm/aws-ssm-maintenancewindowtask_maintenancewindowruncommandparameters.go @@ -56,6 +56,9 @@ type MaintenanceWindowTask_MaintenanceWindowRunCommandParameters struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ssm/aws-ssm-maintenancewindowtask_maintenancewindowstepfunctionsparameters.go b/cloudformation/ssm/aws-ssm-maintenancewindowtask_maintenancewindowstepfunctionsparameters.go index 7f9b50a60d..0911c7ffd6 100644 --- a/cloudformation/ssm/aws-ssm-maintenancewindowtask_maintenancewindowstepfunctionsparameters.go +++ b/cloudformation/ssm/aws-ssm-maintenancewindowtask_maintenancewindowstepfunctionsparameters.go @@ -21,6 +21,9 @@ type MaintenanceWindowTask_MaintenanceWindowStepFunctionsParameters struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ssm/aws-ssm-maintenancewindowtask_notificationconfig.go b/cloudformation/ssm/aws-ssm-maintenancewindowtask_notificationconfig.go index df6794d27e..e138423b5b 100644 --- a/cloudformation/ssm/aws-ssm-maintenancewindowtask_notificationconfig.go +++ b/cloudformation/ssm/aws-ssm-maintenancewindowtask_notificationconfig.go @@ -26,6 +26,9 @@ type MaintenanceWindowTask_NotificationConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ssm/aws-ssm-maintenancewindowtask_target.go b/cloudformation/ssm/aws-ssm-maintenancewindowtask_target.go index 9c408c2554..d3c6adea95 100644 --- a/cloudformation/ssm/aws-ssm-maintenancewindowtask_target.go +++ b/cloudformation/ssm/aws-ssm-maintenancewindowtask_target.go @@ -21,6 +21,9 @@ type MaintenanceWindowTask_Target struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ssm/aws-ssm-maintenancewindowtask_taskinvocationparameters.go b/cloudformation/ssm/aws-ssm-maintenancewindowtask_taskinvocationparameters.go index 88553018c1..ae55f518ab 100644 --- a/cloudformation/ssm/aws-ssm-maintenancewindowtask_taskinvocationparameters.go +++ b/cloudformation/ssm/aws-ssm-maintenancewindowtask_taskinvocationparameters.go @@ -31,6 +31,9 @@ type MaintenanceWindowTask_TaskInvocationParameters struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ssm/aws-ssm-parameter.go b/cloudformation/ssm/aws-ssm-parameter.go index ba01ae73e5..be1dae1bd5 100644 --- a/cloudformation/ssm/aws-ssm-parameter.go +++ b/cloudformation/ssm/aws-ssm-parameter.go @@ -17,6 +17,11 @@ type Parameter struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html#cfn-ssm-parameter-allowedpattern AllowedPattern string `json:"AllowedPattern,omitempty"` + // DataType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html#cfn-ssm-parameter-datatype + DataType string `json:"DataType,omitempty"` + // Description AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html#cfn-ssm-parameter-description @@ -55,6 +60,9 @@ type Parameter struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -75,19 +83,21 @@ func (r *Parameter) AWSCloudFormationType() string { func (r Parameter) MarshalJSON() ([]byte, error) { type Properties Parameter return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -96,12 +106,13 @@ func (r Parameter) MarshalJSON() ([]byte, error) { func (r *Parameter) UnmarshalJSON(b []byte) error { type Properties Parameter res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -125,6 +136,9 @@ func (r *Parameter) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ssm/aws-ssm-patchbaseline.go b/cloudformation/ssm/aws-ssm-patchbaseline.go index d6da47c5e5..df5f85a740 100644 --- a/cloudformation/ssm/aws-ssm-patchbaseline.go +++ b/cloudformation/ssm/aws-ssm-patchbaseline.go @@ -81,6 +81,9 @@ type PatchBaseline struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -101,19 +104,21 @@ func (r *PatchBaseline) AWSCloudFormationType() string { func (r PatchBaseline) MarshalJSON() ([]byte, error) { type Properties PatchBaseline return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -122,12 +127,13 @@ func (r PatchBaseline) MarshalJSON() ([]byte, error) { func (r *PatchBaseline) UnmarshalJSON(b []byte) error { type Properties PatchBaseline res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -151,6 +157,9 @@ func (r *PatchBaseline) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ssm/aws-ssm-patchbaseline_patchfilter.go b/cloudformation/ssm/aws-ssm-patchbaseline_patchfilter.go index 2bad734e78..ddbb858ce6 100644 --- a/cloudformation/ssm/aws-ssm-patchbaseline_patchfilter.go +++ b/cloudformation/ssm/aws-ssm-patchbaseline_patchfilter.go @@ -21,6 +21,9 @@ type PatchBaseline_PatchFilter struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ssm/aws-ssm-patchbaseline_patchfiltergroup.go b/cloudformation/ssm/aws-ssm-patchbaseline_patchfiltergroup.go index c4f2eb132d..8f5c15e42b 100644 --- a/cloudformation/ssm/aws-ssm-patchbaseline_patchfiltergroup.go +++ b/cloudformation/ssm/aws-ssm-patchbaseline_patchfiltergroup.go @@ -16,6 +16,9 @@ type PatchBaseline_PatchFilterGroup struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ssm/aws-ssm-patchbaseline_patchsource.go b/cloudformation/ssm/aws-ssm-patchbaseline_patchsource.go index 7b52268f0b..b6a8036883 100644 --- a/cloudformation/ssm/aws-ssm-patchbaseline_patchsource.go +++ b/cloudformation/ssm/aws-ssm-patchbaseline_patchsource.go @@ -26,6 +26,9 @@ type PatchBaseline_PatchSource struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ssm/aws-ssm-patchbaseline_patchstringdate.go b/cloudformation/ssm/aws-ssm-patchbaseline_patchstringdate.go new file mode 100644 index 0000000000..b9b21ceeb5 --- /dev/null +++ b/cloudformation/ssm/aws-ssm-patchbaseline_patchstringdate.go @@ -0,0 +1,30 @@ +package ssm + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// PatchBaseline_PatchStringDate AWS CloudFormation Resource (AWS::SSM::PatchBaseline.PatchStringDate) +// See: +type PatchBaseline_PatchStringDate struct { + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *PatchBaseline_PatchStringDate) AWSCloudFormationType() string { + return "AWS::SSM::PatchBaseline.PatchStringDate" +} diff --git a/cloudformation/ssm/aws-ssm-patchbaseline_rule.go b/cloudformation/ssm/aws-ssm-patchbaseline_rule.go index d0d1d55424..8b8def008b 100644 --- a/cloudformation/ssm/aws-ssm-patchbaseline_rule.go +++ b/cloudformation/ssm/aws-ssm-patchbaseline_rule.go @@ -13,6 +13,11 @@ type PatchBaseline_Rule struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-rule.html#cfn-ssm-patchbaseline-rule-approveafterdays ApproveAfterDays int `json:"ApproveAfterDays,omitempty"` + // ApproveUntilDate AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-rule.html#cfn-ssm-patchbaseline-rule-approveuntildate + ApproveUntilDate *PatchBaseline_PatchStringDate `json:"ApproveUntilDate,omitempty"` + // ComplianceLevel AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-rule.html#cfn-ssm-patchbaseline-rule-compliancelevel @@ -31,6 +36,9 @@ type PatchBaseline_Rule struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ssm/aws-ssm-patchbaseline_rulegroup.go b/cloudformation/ssm/aws-ssm-patchbaseline_rulegroup.go index 689bb73fc5..0b1f36a0f8 100644 --- a/cloudformation/ssm/aws-ssm-patchbaseline_rulegroup.go +++ b/cloudformation/ssm/aws-ssm-patchbaseline_rulegroup.go @@ -16,6 +16,9 @@ type PatchBaseline_RuleGroup struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ssm/aws-ssm-resourcedatasync.go b/cloudformation/ssm/aws-ssm-resourcedatasync.go index 38d048d42a..cf0b66c1bb 100644 --- a/cloudformation/ssm/aws-ssm-resourcedatasync.go +++ b/cloudformation/ssm/aws-ssm-resourcedatasync.go @@ -60,6 +60,9 @@ type ResourceDataSync struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -80,19 +83,21 @@ func (r *ResourceDataSync) AWSCloudFormationType() string { func (r ResourceDataSync) MarshalJSON() ([]byte, error) { type Properties ResourceDataSync return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -101,12 +106,13 @@ func (r ResourceDataSync) MarshalJSON() ([]byte, error) { func (r *ResourceDataSync) UnmarshalJSON(b []byte) error { type Properties ResourceDataSync res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -130,6 +136,9 @@ func (r *ResourceDataSync) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/ssm/aws-ssm-resourcedatasync_awsorganizationssource.go b/cloudformation/ssm/aws-ssm-resourcedatasync_awsorganizationssource.go index ba8f210833..8659c54487 100644 --- a/cloudformation/ssm/aws-ssm-resourcedatasync_awsorganizationssource.go +++ b/cloudformation/ssm/aws-ssm-resourcedatasync_awsorganizationssource.go @@ -21,6 +21,9 @@ type ResourceDataSync_AwsOrganizationsSource struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ssm/aws-ssm-resourcedatasync_s3destination.go b/cloudformation/ssm/aws-ssm-resourcedatasync_s3destination.go index 01b7184241..c39672b53b 100644 --- a/cloudformation/ssm/aws-ssm-resourcedatasync_s3destination.go +++ b/cloudformation/ssm/aws-ssm-resourcedatasync_s3destination.go @@ -36,6 +36,9 @@ type ResourceDataSync_S3Destination struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/ssm/aws-ssm-resourcedatasync_syncsource.go b/cloudformation/ssm/aws-ssm-resourcedatasync_syncsource.go index 49a2fc04cd..9660abd73e 100644 --- a/cloudformation/ssm/aws-ssm-resourcedatasync_syncsource.go +++ b/cloudformation/ssm/aws-ssm-resourcedatasync_syncsource.go @@ -31,6 +31,9 @@ type ResourceDataSync_SyncSource struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/stepfunctions/aws-stepfunctions-activity.go b/cloudformation/stepfunctions/aws-stepfunctions-activity.go index 9630e0f7ff..4b1cea8738 100644 --- a/cloudformation/stepfunctions/aws-stepfunctions-activity.go +++ b/cloudformation/stepfunctions/aws-stepfunctions-activity.go @@ -25,6 +25,9 @@ type Activity struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *Activity) AWSCloudFormationType() string { func (r Activity) MarshalJSON() ([]byte, error) { type Properties Activity return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r Activity) MarshalJSON() ([]byte, error) { func (r *Activity) UnmarshalJSON(b []byte) error { type Properties Activity res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *Activity) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/stepfunctions/aws-stepfunctions-activity_tagsentry.go b/cloudformation/stepfunctions/aws-stepfunctions-activity_tagsentry.go index 3e983420a3..9e2976cf0b 100644 --- a/cloudformation/stepfunctions/aws-stepfunctions-activity_tagsentry.go +++ b/cloudformation/stepfunctions/aws-stepfunctions-activity_tagsentry.go @@ -21,6 +21,9 @@ type Activity_TagsEntry struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/stepfunctions/aws-stepfunctions-statemachine.go b/cloudformation/stepfunctions/aws-stepfunctions-statemachine.go index 8740fa93d9..175c903453 100644 --- a/cloudformation/stepfunctions/aws-stepfunctions-statemachine.go +++ b/cloudformation/stepfunctions/aws-stepfunctions-statemachine.go @@ -12,11 +12,21 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html type StateMachine struct { + // DefinitionS3Location AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-definitions3location + DefinitionS3Location *StateMachine_S3Location `json:"DefinitionS3Location,omitempty"` + // DefinitionString AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-definitionstring DefinitionString string `json:"DefinitionString,omitempty"` + // DefinitionSubstitutions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-definitionsubstitutions + DefinitionSubstitutions *StateMachine_DefinitionSubstitutions `json:"DefinitionSubstitutions,omitempty"` + // LoggingConfiguration AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-loggingconfiguration @@ -45,6 +55,9 @@ type StateMachine struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -65,19 +78,21 @@ func (r *StateMachine) AWSCloudFormationType() string { func (r StateMachine) MarshalJSON() ([]byte, error) { type Properties StateMachine return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -86,12 +101,13 @@ func (r StateMachine) MarshalJSON() ([]byte, error) { func (r *StateMachine) UnmarshalJSON(b []byte) error { type Properties StateMachine res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -115,6 +131,9 @@ func (r *StateMachine) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/stepfunctions/aws-stepfunctions-statemachine_cloudwatchlogsloggroup.go b/cloudformation/stepfunctions/aws-stepfunctions-statemachine_cloudwatchlogsloggroup.go index 8944454a2d..99385f2af2 100644 --- a/cloudformation/stepfunctions/aws-stepfunctions-statemachine_cloudwatchlogsloggroup.go +++ b/cloudformation/stepfunctions/aws-stepfunctions-statemachine_cloudwatchlogsloggroup.go @@ -16,6 +16,9 @@ type StateMachine_CloudWatchLogsLogGroup struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/stepfunctions/aws-stepfunctions-statemachine_definitionsubstitutions.go b/cloudformation/stepfunctions/aws-stepfunctions-statemachine_definitionsubstitutions.go new file mode 100644 index 0000000000..7545e7c7d0 --- /dev/null +++ b/cloudformation/stepfunctions/aws-stepfunctions-statemachine_definitionsubstitutions.go @@ -0,0 +1,30 @@ +package stepfunctions + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// StateMachine_DefinitionSubstitutions AWS CloudFormation Resource (AWS::StepFunctions::StateMachine.DefinitionSubstitutions) +// See: +type StateMachine_DefinitionSubstitutions struct { + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *StateMachine_DefinitionSubstitutions) AWSCloudFormationType() string { + return "AWS::StepFunctions::StateMachine.DefinitionSubstitutions" +} diff --git a/cloudformation/stepfunctions/aws-stepfunctions-statemachine_logdestination.go b/cloudformation/stepfunctions/aws-stepfunctions-statemachine_logdestination.go index 2f570ac98c..5922e2384a 100644 --- a/cloudformation/stepfunctions/aws-stepfunctions-statemachine_logdestination.go +++ b/cloudformation/stepfunctions/aws-stepfunctions-statemachine_logdestination.go @@ -16,6 +16,9 @@ type StateMachine_LogDestination struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/stepfunctions/aws-stepfunctions-statemachine_loggingconfiguration.go b/cloudformation/stepfunctions/aws-stepfunctions-statemachine_loggingconfiguration.go index c2b5cef56d..e4139f2d49 100644 --- a/cloudformation/stepfunctions/aws-stepfunctions-statemachine_loggingconfiguration.go +++ b/cloudformation/stepfunctions/aws-stepfunctions-statemachine_loggingconfiguration.go @@ -26,6 +26,9 @@ type StateMachine_LoggingConfiguration struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/stepfunctions/aws-stepfunctions-statemachine_s3location.go b/cloudformation/stepfunctions/aws-stepfunctions-statemachine_s3location.go new file mode 100644 index 0000000000..4720a2d6aa --- /dev/null +++ b/cloudformation/stepfunctions/aws-stepfunctions-statemachine_s3location.go @@ -0,0 +1,45 @@ +package stepfunctions + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// StateMachine_S3Location AWS CloudFormation Resource (AWS::StepFunctions::StateMachine.S3Location) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-s3location.html +type StateMachine_S3Location struct { + + // Bucket AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-s3location.html#cfn-stepfunctions-statemachine-s3location-bucket + Bucket string `json:"Bucket,omitempty"` + + // Key AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-s3location.html#cfn-stepfunctions-statemachine-s3location-key + Key string `json:"Key,omitempty"` + + // Version AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-s3location.html#cfn-stepfunctions-statemachine-s3location-version + Version string `json:"Version,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *StateMachine_S3Location) AWSCloudFormationType() string { + return "AWS::StepFunctions::StateMachine.S3Location" +} diff --git a/cloudformation/stepfunctions/aws-stepfunctions-statemachine_tagsentry.go b/cloudformation/stepfunctions/aws-stepfunctions-statemachine_tagsentry.go index 2202735d79..9af636fdef 100644 --- a/cloudformation/stepfunctions/aws-stepfunctions-statemachine_tagsentry.go +++ b/cloudformation/stepfunctions/aws-stepfunctions-statemachine_tagsentry.go @@ -21,6 +21,9 @@ type StateMachine_TagsEntry struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/synthetics/aws-synthetics-canary.go b/cloudformation/synthetics/aws-synthetics-canary.go new file mode 100644 index 0000000000..36057aad7c --- /dev/null +++ b/cloudformation/synthetics/aws-synthetics-canary.go @@ -0,0 +1,162 @@ +package synthetics + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// Canary AWS CloudFormation Resource (AWS::Synthetics::Canary) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html +type Canary struct { + + // ArtifactS3Location AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-artifacts3location + ArtifactS3Location string `json:"ArtifactS3Location,omitempty"` + + // Code AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-code + Code *Canary_Code `json:"Code,omitempty"` + + // ExecutionRoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-executionrolearn + ExecutionRoleArn string `json:"ExecutionRoleArn,omitempty"` + + // FailureRetentionPeriod AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-failureretentionperiod + FailureRetentionPeriod int `json:"FailureRetentionPeriod,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-name + Name string `json:"Name,omitempty"` + + // RunConfig AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-runconfig + RunConfig *Canary_RunConfig `json:"RunConfig,omitempty"` + + // RuntimeVersion AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-runtimeversion + RuntimeVersion string `json:"RuntimeVersion,omitempty"` + + // Schedule AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-schedule + Schedule *Canary_Schedule `json:"Schedule,omitempty"` + + // StartCanaryAfterCreation AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-startcanaryaftercreation + StartCanaryAfterCreation bool `json:"StartCanaryAfterCreation"` + + // SuccessRetentionPeriod AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-successretentionperiod + SuccessRetentionPeriod int `json:"SuccessRetentionPeriod,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // VPCConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-vpcconfig + VPCConfig *Canary_VPCConfig `json:"VPCConfig,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Canary) AWSCloudFormationType() string { + return "AWS::Synthetics::Canary" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r Canary) MarshalJSON() ([]byte, error) { + type Properties Canary + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *Canary) UnmarshalJSON(b []byte) error { + type Properties Canary + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = Canary(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/synthetics/aws-synthetics-canary_code.go b/cloudformation/synthetics/aws-synthetics-canary_code.go new file mode 100644 index 0000000000..618b06e991 --- /dev/null +++ b/cloudformation/synthetics/aws-synthetics-canary_code.go @@ -0,0 +1,55 @@ +package synthetics + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Canary_Code AWS CloudFormation Resource (AWS::Synthetics::Canary.Code) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-code.html +type Canary_Code struct { + + // Handler AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-code.html#cfn-synthetics-canary-code-handler + Handler string `json:"Handler,omitempty"` + + // S3Bucket AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-code.html#cfn-synthetics-canary-code-s3bucket + S3Bucket string `json:"S3Bucket,omitempty"` + + // S3Key AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-code.html#cfn-synthetics-canary-code-s3key + S3Key string `json:"S3Key,omitempty"` + + // S3ObjectVersion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-code.html#cfn-synthetics-canary-code-s3objectversion + S3ObjectVersion string `json:"S3ObjectVersion,omitempty"` + + // Script AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-code.html#cfn-synthetics-canary-code-script + Script string `json:"Script,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Canary_Code) AWSCloudFormationType() string { + return "AWS::Synthetics::Canary.Code" +} diff --git a/cloudformation/synthetics/aws-synthetics-canary_runconfig.go b/cloudformation/synthetics/aws-synthetics-canary_runconfig.go new file mode 100644 index 0000000000..b73cf847ec --- /dev/null +++ b/cloudformation/synthetics/aws-synthetics-canary_runconfig.go @@ -0,0 +1,35 @@ +package synthetics + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Canary_RunConfig AWS CloudFormation Resource (AWS::Synthetics::Canary.RunConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-runconfig.html +type Canary_RunConfig struct { + + // TimeoutInSeconds AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-runconfig.html#cfn-synthetics-canary-runconfig-timeoutinseconds + TimeoutInSeconds int `json:"TimeoutInSeconds"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Canary_RunConfig) AWSCloudFormationType() string { + return "AWS::Synthetics::Canary.RunConfig" +} diff --git a/cloudformation/synthetics/aws-synthetics-canary_schedule.go b/cloudformation/synthetics/aws-synthetics-canary_schedule.go new file mode 100644 index 0000000000..e381600150 --- /dev/null +++ b/cloudformation/synthetics/aws-synthetics-canary_schedule.go @@ -0,0 +1,40 @@ +package synthetics + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Canary_Schedule AWS CloudFormation Resource (AWS::Synthetics::Canary.Schedule) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-schedule.html +type Canary_Schedule struct { + + // DurationInSeconds AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-schedule.html#cfn-synthetics-canary-schedule-durationinseconds + DurationInSeconds string `json:"DurationInSeconds,omitempty"` + + // Expression AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-schedule.html#cfn-synthetics-canary-schedule-expression + Expression string `json:"Expression,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Canary_Schedule) AWSCloudFormationType() string { + return "AWS::Synthetics::Canary.Schedule" +} diff --git a/cloudformation/synthetics/aws-synthetics-canary_vpcconfig.go b/cloudformation/synthetics/aws-synthetics-canary_vpcconfig.go new file mode 100644 index 0000000000..5ed98799ac --- /dev/null +++ b/cloudformation/synthetics/aws-synthetics-canary_vpcconfig.go @@ -0,0 +1,45 @@ +package synthetics + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Canary_VPCConfig AWS CloudFormation Resource (AWS::Synthetics::Canary.VPCConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-vpcconfig.html +type Canary_VPCConfig struct { + + // SecurityGroupIds AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-vpcconfig.html#cfn-synthetics-canary-vpcconfig-securitygroupids + SecurityGroupIds []string `json:"SecurityGroupIds,omitempty"` + + // SubnetIds AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-vpcconfig.html#cfn-synthetics-canary-vpcconfig-subnetids + SubnetIds []string `json:"SubnetIds,omitempty"` + + // VpcId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-vpcconfig.html#cfn-synthetics-canary-vpcconfig-vpcid + VpcId string `json:"VpcId,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Canary_VPCConfig) AWSCloudFormationType() string { + return "AWS::Synthetics::Canary.VPCConfig" +} diff --git a/cloudformation/transfer/aws-transfer-server.go b/cloudformation/transfer/aws-transfer-server.go index e92f1c4401..49403bd632 100644 --- a/cloudformation/transfer/aws-transfer-server.go +++ b/cloudformation/transfer/aws-transfer-server.go @@ -13,6 +13,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html type Server struct { + // Certificate AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html#cfn-transfer-server-certificate + Certificate string `json:"Certificate,omitempty"` + // EndpointDetails AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html#cfn-transfer-server-endpointdetails @@ -38,6 +43,11 @@ type Server struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html#cfn-transfer-server-loggingrole LoggingRole string `json:"LoggingRole,omitempty"` + // Protocols AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html#cfn-transfer-server-protocols + Protocols []Server_Protocol `json:"Protocols,omitempty"` + // Tags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html#cfn-transfer-server-tags @@ -46,6 +56,9 @@ type Server struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -66,19 +79,21 @@ func (r *Server) AWSCloudFormationType() string { func (r Server) MarshalJSON() ([]byte, error) { type Properties Server return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -87,12 +102,13 @@ func (r Server) MarshalJSON() ([]byte, error) { func (r *Server) UnmarshalJSON(b []byte) error { type Properties Server res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -116,6 +132,9 @@ func (r *Server) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/transfer/aws-transfer-server_endpointdetails.go b/cloudformation/transfer/aws-transfer-server_endpointdetails.go index ae7b789d4f..af089dde9f 100644 --- a/cloudformation/transfer/aws-transfer-server_endpointdetails.go +++ b/cloudformation/transfer/aws-transfer-server_endpointdetails.go @@ -31,6 +31,9 @@ type Server_EndpointDetails struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/transfer/aws-transfer-server_identityproviderdetails.go b/cloudformation/transfer/aws-transfer-server_identityproviderdetails.go index 3c1a47761c..1d88d91d07 100644 --- a/cloudformation/transfer/aws-transfer-server_identityproviderdetails.go +++ b/cloudformation/transfer/aws-transfer-server_identityproviderdetails.go @@ -21,6 +21,9 @@ type Server_IdentityProviderDetails struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/transfer/aws-transfer-server_protocol.go b/cloudformation/transfer/aws-transfer-server_protocol.go new file mode 100644 index 0000000000..1aa3a9973b --- /dev/null +++ b/cloudformation/transfer/aws-transfer-server_protocol.go @@ -0,0 +1,30 @@ +package transfer + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Server_Protocol AWS CloudFormation Resource (AWS::Transfer::Server.Protocol) +// See: +type Server_Protocol struct { + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Server_Protocol) AWSCloudFormationType() string { + return "AWS::Transfer::Server.Protocol" +} diff --git a/cloudformation/transfer/aws-transfer-user.go b/cloudformation/transfer/aws-transfer-user.go index 5f4bcc7ce0..45b973408d 100644 --- a/cloudformation/transfer/aws-transfer-user.go +++ b/cloudformation/transfer/aws-transfer-user.go @@ -61,6 +61,9 @@ type User struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -81,19 +84,21 @@ func (r *User) AWSCloudFormationType() string { func (r User) MarshalJSON() ([]byte, error) { type Properties User return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -102,12 +107,13 @@ func (r User) MarshalJSON() ([]byte, error) { func (r *User) UnmarshalJSON(b []byte) error { type Properties User res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -131,6 +137,9 @@ func (r *User) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/transfer/aws-transfer-user_homedirectorymapentry.go b/cloudformation/transfer/aws-transfer-user_homedirectorymapentry.go index 7941d093c1..f127653336 100644 --- a/cloudformation/transfer/aws-transfer-user_homedirectorymapentry.go +++ b/cloudformation/transfer/aws-transfer-user_homedirectorymapentry.go @@ -21,6 +21,9 @@ type User_HomeDirectoryMapEntry struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/transfer/aws-transfer-user_sshpublickey.go b/cloudformation/transfer/aws-transfer-user_sshpublickey.go index e1bfdfc8ec..42947e651d 100644 --- a/cloudformation/transfer/aws-transfer-user_sshpublickey.go +++ b/cloudformation/transfer/aws-transfer-user_sshpublickey.go @@ -11,6 +11,9 @@ type User_SshPublicKey struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/waf/aws-waf-bytematchset.go b/cloudformation/waf/aws-waf-bytematchset.go index 68ed59007d..7cd0a400c6 100644 --- a/cloudformation/waf/aws-waf-bytematchset.go +++ b/cloudformation/waf/aws-waf-bytematchset.go @@ -25,6 +25,9 @@ type ByteMatchSet struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *ByteMatchSet) AWSCloudFormationType() string { func (r ByteMatchSet) MarshalJSON() ([]byte, error) { type Properties ByteMatchSet return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r ByteMatchSet) MarshalJSON() ([]byte, error) { func (r *ByteMatchSet) UnmarshalJSON(b []byte) error { type Properties ByteMatchSet res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *ByteMatchSet) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/waf/aws-waf-bytematchset_bytematchtuple.go b/cloudformation/waf/aws-waf-bytematchset_bytematchtuple.go index 2a783d2b80..4b6374f012 100644 --- a/cloudformation/waf/aws-waf-bytematchset_bytematchtuple.go +++ b/cloudformation/waf/aws-waf-bytematchset_bytematchtuple.go @@ -36,6 +36,9 @@ type ByteMatchSet_ByteMatchTuple struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/waf/aws-waf-bytematchset_fieldtomatch.go b/cloudformation/waf/aws-waf-bytematchset_fieldtomatch.go index f26af6389e..75c8938eb1 100644 --- a/cloudformation/waf/aws-waf-bytematchset_fieldtomatch.go +++ b/cloudformation/waf/aws-waf-bytematchset_fieldtomatch.go @@ -21,6 +21,9 @@ type ByteMatchSet_FieldToMatch struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/waf/aws-waf-ipset.go b/cloudformation/waf/aws-waf-ipset.go index 6acace6d46..5cf0de6a57 100644 --- a/cloudformation/waf/aws-waf-ipset.go +++ b/cloudformation/waf/aws-waf-ipset.go @@ -25,6 +25,9 @@ type IPSet struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *IPSet) AWSCloudFormationType() string { func (r IPSet) MarshalJSON() ([]byte, error) { type Properties IPSet return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r IPSet) MarshalJSON() ([]byte, error) { func (r *IPSet) UnmarshalJSON(b []byte) error { type Properties IPSet res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *IPSet) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/waf/aws-waf-ipset_ipsetdescriptor.go b/cloudformation/waf/aws-waf-ipset_ipsetdescriptor.go index f449012c71..530ce17666 100644 --- a/cloudformation/waf/aws-waf-ipset_ipsetdescriptor.go +++ b/cloudformation/waf/aws-waf-ipset_ipsetdescriptor.go @@ -21,6 +21,9 @@ type IPSet_IPSetDescriptor struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/waf/aws-waf-rule.go b/cloudformation/waf/aws-waf-rule.go index 7421ac6c2b..801e45143f 100644 --- a/cloudformation/waf/aws-waf-rule.go +++ b/cloudformation/waf/aws-waf-rule.go @@ -30,6 +30,9 @@ type Rule struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *Rule) AWSCloudFormationType() string { func (r Rule) MarshalJSON() ([]byte, error) { type Properties Rule return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r Rule) MarshalJSON() ([]byte, error) { func (r *Rule) UnmarshalJSON(b []byte) error { type Properties Rule res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *Rule) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/waf/aws-waf-rule_predicate.go b/cloudformation/waf/aws-waf-rule_predicate.go index d2155938d4..195a9e289f 100644 --- a/cloudformation/waf/aws-waf-rule_predicate.go +++ b/cloudformation/waf/aws-waf-rule_predicate.go @@ -26,6 +26,9 @@ type Rule_Predicate struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/waf/aws-waf-sizeconstraintset.go b/cloudformation/waf/aws-waf-sizeconstraintset.go index 9f5c564caf..d13e66b569 100644 --- a/cloudformation/waf/aws-waf-sizeconstraintset.go +++ b/cloudformation/waf/aws-waf-sizeconstraintset.go @@ -25,6 +25,9 @@ type SizeConstraintSet struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *SizeConstraintSet) AWSCloudFormationType() string { func (r SizeConstraintSet) MarshalJSON() ([]byte, error) { type Properties SizeConstraintSet return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r SizeConstraintSet) MarshalJSON() ([]byte, error) { func (r *SizeConstraintSet) UnmarshalJSON(b []byte) error { type Properties SizeConstraintSet res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *SizeConstraintSet) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/waf/aws-waf-sizeconstraintset_fieldtomatch.go b/cloudformation/waf/aws-waf-sizeconstraintset_fieldtomatch.go index bd902cd567..87028f50a3 100644 --- a/cloudformation/waf/aws-waf-sizeconstraintset_fieldtomatch.go +++ b/cloudformation/waf/aws-waf-sizeconstraintset_fieldtomatch.go @@ -21,6 +21,9 @@ type SizeConstraintSet_FieldToMatch struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/waf/aws-waf-sizeconstraintset_sizeconstraint.go b/cloudformation/waf/aws-waf-sizeconstraintset_sizeconstraint.go index b7a4739ea9..086b718f96 100644 --- a/cloudformation/waf/aws-waf-sizeconstraintset_sizeconstraint.go +++ b/cloudformation/waf/aws-waf-sizeconstraintset_sizeconstraint.go @@ -31,6 +31,9 @@ type SizeConstraintSet_SizeConstraint struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/waf/aws-waf-sqlinjectionmatchset.go b/cloudformation/waf/aws-waf-sqlinjectionmatchset.go index 2a0ba3faa7..25d134df0e 100644 --- a/cloudformation/waf/aws-waf-sqlinjectionmatchset.go +++ b/cloudformation/waf/aws-waf-sqlinjectionmatchset.go @@ -25,6 +25,9 @@ type SqlInjectionMatchSet struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *SqlInjectionMatchSet) AWSCloudFormationType() string { func (r SqlInjectionMatchSet) MarshalJSON() ([]byte, error) { type Properties SqlInjectionMatchSet return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r SqlInjectionMatchSet) MarshalJSON() ([]byte, error) { func (r *SqlInjectionMatchSet) UnmarshalJSON(b []byte) error { type Properties SqlInjectionMatchSet res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *SqlInjectionMatchSet) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/waf/aws-waf-sqlinjectionmatchset_fieldtomatch.go b/cloudformation/waf/aws-waf-sqlinjectionmatchset_fieldtomatch.go index 38887b45d1..b8887ab81e 100644 --- a/cloudformation/waf/aws-waf-sqlinjectionmatchset_fieldtomatch.go +++ b/cloudformation/waf/aws-waf-sqlinjectionmatchset_fieldtomatch.go @@ -21,6 +21,9 @@ type SqlInjectionMatchSet_FieldToMatch struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/waf/aws-waf-sqlinjectionmatchset_sqlinjectionmatchtuple.go b/cloudformation/waf/aws-waf-sqlinjectionmatchset_sqlinjectionmatchtuple.go index 5cacf7b234..f71df3f036 100644 --- a/cloudformation/waf/aws-waf-sqlinjectionmatchset_sqlinjectionmatchtuple.go +++ b/cloudformation/waf/aws-waf-sqlinjectionmatchset_sqlinjectionmatchtuple.go @@ -21,6 +21,9 @@ type SqlInjectionMatchSet_SqlInjectionMatchTuple struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/waf/aws-waf-webacl.go b/cloudformation/waf/aws-waf-webacl.go index 81ee4be227..6af6951e69 100644 --- a/cloudformation/waf/aws-waf-webacl.go +++ b/cloudformation/waf/aws-waf-webacl.go @@ -35,6 +35,9 @@ type WebACL struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -55,19 +58,21 @@ func (r *WebACL) AWSCloudFormationType() string { func (r WebACL) MarshalJSON() ([]byte, error) { type Properties WebACL return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -76,12 +81,13 @@ func (r WebACL) MarshalJSON() ([]byte, error) { func (r *WebACL) UnmarshalJSON(b []byte) error { type Properties WebACL res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -105,6 +111,9 @@ func (r *WebACL) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/waf/aws-waf-webacl_activatedrule.go b/cloudformation/waf/aws-waf-webacl_activatedrule.go index 1e133c86ab..f2cb5bdaad 100644 --- a/cloudformation/waf/aws-waf-webacl_activatedrule.go +++ b/cloudformation/waf/aws-waf-webacl_activatedrule.go @@ -26,6 +26,9 @@ type WebACL_ActivatedRule struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/waf/aws-waf-webacl_wafaction.go b/cloudformation/waf/aws-waf-webacl_wafaction.go index 9f9719a478..18ccf165e3 100644 --- a/cloudformation/waf/aws-waf-webacl_wafaction.go +++ b/cloudformation/waf/aws-waf-webacl_wafaction.go @@ -16,6 +16,9 @@ type WebACL_WafAction struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/waf/aws-waf-xssmatchset.go b/cloudformation/waf/aws-waf-xssmatchset.go index 0e531a50eb..e6ccf4f85a 100644 --- a/cloudformation/waf/aws-waf-xssmatchset.go +++ b/cloudformation/waf/aws-waf-xssmatchset.go @@ -25,6 +25,9 @@ type XssMatchSet struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *XssMatchSet) AWSCloudFormationType() string { func (r XssMatchSet) MarshalJSON() ([]byte, error) { type Properties XssMatchSet return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r XssMatchSet) MarshalJSON() ([]byte, error) { func (r *XssMatchSet) UnmarshalJSON(b []byte) error { type Properties XssMatchSet res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *XssMatchSet) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/waf/aws-waf-xssmatchset_fieldtomatch.go b/cloudformation/waf/aws-waf-xssmatchset_fieldtomatch.go index 29e2098df5..3f2884a877 100644 --- a/cloudformation/waf/aws-waf-xssmatchset_fieldtomatch.go +++ b/cloudformation/waf/aws-waf-xssmatchset_fieldtomatch.go @@ -21,6 +21,9 @@ type XssMatchSet_FieldToMatch struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/waf/aws-waf-xssmatchset_xssmatchtuple.go b/cloudformation/waf/aws-waf-xssmatchset_xssmatchtuple.go index aef45e58b8..28139ade98 100644 --- a/cloudformation/waf/aws-waf-xssmatchset_xssmatchtuple.go +++ b/cloudformation/waf/aws-waf-xssmatchset_xssmatchtuple.go @@ -21,6 +21,9 @@ type XssMatchSet_XssMatchTuple struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafregional/aws-wafregional-bytematchset.go b/cloudformation/wafregional/aws-wafregional-bytematchset.go index a617ce2c51..9ccd4e027b 100644 --- a/cloudformation/wafregional/aws-wafregional-bytematchset.go +++ b/cloudformation/wafregional/aws-wafregional-bytematchset.go @@ -25,6 +25,9 @@ type ByteMatchSet struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *ByteMatchSet) AWSCloudFormationType() string { func (r ByteMatchSet) MarshalJSON() ([]byte, error) { type Properties ByteMatchSet return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r ByteMatchSet) MarshalJSON() ([]byte, error) { func (r *ByteMatchSet) UnmarshalJSON(b []byte) error { type Properties ByteMatchSet res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *ByteMatchSet) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/wafregional/aws-wafregional-bytematchset_bytematchtuple.go b/cloudformation/wafregional/aws-wafregional-bytematchset_bytematchtuple.go index eefe44557d..287e98d72d 100644 --- a/cloudformation/wafregional/aws-wafregional-bytematchset_bytematchtuple.go +++ b/cloudformation/wafregional/aws-wafregional-bytematchset_bytematchtuple.go @@ -36,6 +36,9 @@ type ByteMatchSet_ByteMatchTuple struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafregional/aws-wafregional-bytematchset_fieldtomatch.go b/cloudformation/wafregional/aws-wafregional-bytematchset_fieldtomatch.go index 23fb80f055..6094992574 100644 --- a/cloudformation/wafregional/aws-wafregional-bytematchset_fieldtomatch.go +++ b/cloudformation/wafregional/aws-wafregional-bytematchset_fieldtomatch.go @@ -21,6 +21,9 @@ type ByteMatchSet_FieldToMatch struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafregional/aws-wafregional-geomatchset.go b/cloudformation/wafregional/aws-wafregional-geomatchset.go index f7932344f4..5ab7d04124 100644 --- a/cloudformation/wafregional/aws-wafregional-geomatchset.go +++ b/cloudformation/wafregional/aws-wafregional-geomatchset.go @@ -25,6 +25,9 @@ type GeoMatchSet struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *GeoMatchSet) AWSCloudFormationType() string { func (r GeoMatchSet) MarshalJSON() ([]byte, error) { type Properties GeoMatchSet return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r GeoMatchSet) MarshalJSON() ([]byte, error) { func (r *GeoMatchSet) UnmarshalJSON(b []byte) error { type Properties GeoMatchSet res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *GeoMatchSet) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/wafregional/aws-wafregional-geomatchset_geomatchconstraint.go b/cloudformation/wafregional/aws-wafregional-geomatchset_geomatchconstraint.go index 4f9ec901cb..3b9b8dd78a 100644 --- a/cloudformation/wafregional/aws-wafregional-geomatchset_geomatchconstraint.go +++ b/cloudformation/wafregional/aws-wafregional-geomatchset_geomatchconstraint.go @@ -21,6 +21,9 @@ type GeoMatchSet_GeoMatchConstraint struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafregional/aws-wafregional-ipset.go b/cloudformation/wafregional/aws-wafregional-ipset.go index 2cea004ae4..f06d633269 100644 --- a/cloudformation/wafregional/aws-wafregional-ipset.go +++ b/cloudformation/wafregional/aws-wafregional-ipset.go @@ -25,6 +25,9 @@ type IPSet struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *IPSet) AWSCloudFormationType() string { func (r IPSet) MarshalJSON() ([]byte, error) { type Properties IPSet return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r IPSet) MarshalJSON() ([]byte, error) { func (r *IPSet) UnmarshalJSON(b []byte) error { type Properties IPSet res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *IPSet) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/wafregional/aws-wafregional-ipset_ipsetdescriptor.go b/cloudformation/wafregional/aws-wafregional-ipset_ipsetdescriptor.go index 869cbc1599..99b085e73a 100644 --- a/cloudformation/wafregional/aws-wafregional-ipset_ipsetdescriptor.go +++ b/cloudformation/wafregional/aws-wafregional-ipset_ipsetdescriptor.go @@ -21,6 +21,9 @@ type IPSet_IPSetDescriptor struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafregional/aws-wafregional-ratebasedrule.go b/cloudformation/wafregional/aws-wafregional-ratebasedrule.go index ce987ea5c5..1d32899830 100644 --- a/cloudformation/wafregional/aws-wafregional-ratebasedrule.go +++ b/cloudformation/wafregional/aws-wafregional-ratebasedrule.go @@ -40,6 +40,9 @@ type RateBasedRule struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -60,19 +63,21 @@ func (r *RateBasedRule) AWSCloudFormationType() string { func (r RateBasedRule) MarshalJSON() ([]byte, error) { type Properties RateBasedRule return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -81,12 +86,13 @@ func (r RateBasedRule) MarshalJSON() ([]byte, error) { func (r *RateBasedRule) UnmarshalJSON(b []byte) error { type Properties RateBasedRule res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -110,6 +116,9 @@ func (r *RateBasedRule) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/wafregional/aws-wafregional-ratebasedrule_predicate.go b/cloudformation/wafregional/aws-wafregional-ratebasedrule_predicate.go index faa045984f..82aaf50775 100644 --- a/cloudformation/wafregional/aws-wafregional-ratebasedrule_predicate.go +++ b/cloudformation/wafregional/aws-wafregional-ratebasedrule_predicate.go @@ -26,6 +26,9 @@ type RateBasedRule_Predicate struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafregional/aws-wafregional-regexpatternset.go b/cloudformation/wafregional/aws-wafregional-regexpatternset.go index 6a46a5da5d..9990630da8 100644 --- a/cloudformation/wafregional/aws-wafregional-regexpatternset.go +++ b/cloudformation/wafregional/aws-wafregional-regexpatternset.go @@ -25,6 +25,9 @@ type RegexPatternSet struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *RegexPatternSet) AWSCloudFormationType() string { func (r RegexPatternSet) MarshalJSON() ([]byte, error) { type Properties RegexPatternSet return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r RegexPatternSet) MarshalJSON() ([]byte, error) { func (r *RegexPatternSet) UnmarshalJSON(b []byte) error { type Properties RegexPatternSet res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *RegexPatternSet) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/wafregional/aws-wafregional-rule.go b/cloudformation/wafregional/aws-wafregional-rule.go index 26c291642e..1de0c09b35 100644 --- a/cloudformation/wafregional/aws-wafregional-rule.go +++ b/cloudformation/wafregional/aws-wafregional-rule.go @@ -30,6 +30,9 @@ type Rule struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -50,19 +53,21 @@ func (r *Rule) AWSCloudFormationType() string { func (r Rule) MarshalJSON() ([]byte, error) { type Properties Rule return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -71,12 +76,13 @@ func (r Rule) MarshalJSON() ([]byte, error) { func (r *Rule) UnmarshalJSON(b []byte) error { type Properties Rule res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -100,6 +106,9 @@ func (r *Rule) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/wafregional/aws-wafregional-rule_predicate.go b/cloudformation/wafregional/aws-wafregional-rule_predicate.go index f161cc3275..d5d0c22535 100644 --- a/cloudformation/wafregional/aws-wafregional-rule_predicate.go +++ b/cloudformation/wafregional/aws-wafregional-rule_predicate.go @@ -26,6 +26,9 @@ type Rule_Predicate struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafregional/aws-wafregional-sizeconstraintset.go b/cloudformation/wafregional/aws-wafregional-sizeconstraintset.go index 71fb747063..2dbc856e81 100644 --- a/cloudformation/wafregional/aws-wafregional-sizeconstraintset.go +++ b/cloudformation/wafregional/aws-wafregional-sizeconstraintset.go @@ -25,6 +25,9 @@ type SizeConstraintSet struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *SizeConstraintSet) AWSCloudFormationType() string { func (r SizeConstraintSet) MarshalJSON() ([]byte, error) { type Properties SizeConstraintSet return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r SizeConstraintSet) MarshalJSON() ([]byte, error) { func (r *SizeConstraintSet) UnmarshalJSON(b []byte) error { type Properties SizeConstraintSet res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *SizeConstraintSet) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/wafregional/aws-wafregional-sizeconstraintset_fieldtomatch.go b/cloudformation/wafregional/aws-wafregional-sizeconstraintset_fieldtomatch.go index 6662a4ba88..5df2c076fb 100644 --- a/cloudformation/wafregional/aws-wafregional-sizeconstraintset_fieldtomatch.go +++ b/cloudformation/wafregional/aws-wafregional-sizeconstraintset_fieldtomatch.go @@ -21,6 +21,9 @@ type SizeConstraintSet_FieldToMatch struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafregional/aws-wafregional-sizeconstraintset_sizeconstraint.go b/cloudformation/wafregional/aws-wafregional-sizeconstraintset_sizeconstraint.go index dcaa81b6ec..3182c05b7b 100644 --- a/cloudformation/wafregional/aws-wafregional-sizeconstraintset_sizeconstraint.go +++ b/cloudformation/wafregional/aws-wafregional-sizeconstraintset_sizeconstraint.go @@ -31,6 +31,9 @@ type SizeConstraintSet_SizeConstraint struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafregional/aws-wafregional-sqlinjectionmatchset.go b/cloudformation/wafregional/aws-wafregional-sqlinjectionmatchset.go index df76b7e786..b45aa13ff4 100644 --- a/cloudformation/wafregional/aws-wafregional-sqlinjectionmatchset.go +++ b/cloudformation/wafregional/aws-wafregional-sqlinjectionmatchset.go @@ -25,6 +25,9 @@ type SqlInjectionMatchSet struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *SqlInjectionMatchSet) AWSCloudFormationType() string { func (r SqlInjectionMatchSet) MarshalJSON() ([]byte, error) { type Properties SqlInjectionMatchSet return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r SqlInjectionMatchSet) MarshalJSON() ([]byte, error) { func (r *SqlInjectionMatchSet) UnmarshalJSON(b []byte) error { type Properties SqlInjectionMatchSet res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *SqlInjectionMatchSet) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/wafregional/aws-wafregional-sqlinjectionmatchset_fieldtomatch.go b/cloudformation/wafregional/aws-wafregional-sqlinjectionmatchset_fieldtomatch.go index f8806eabf4..c293918aba 100644 --- a/cloudformation/wafregional/aws-wafregional-sqlinjectionmatchset_fieldtomatch.go +++ b/cloudformation/wafregional/aws-wafregional-sqlinjectionmatchset_fieldtomatch.go @@ -21,6 +21,9 @@ type SqlInjectionMatchSet_FieldToMatch struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafregional/aws-wafregional-sqlinjectionmatchset_sqlinjectionmatchtuple.go b/cloudformation/wafregional/aws-wafregional-sqlinjectionmatchset_sqlinjectionmatchtuple.go index 16a067ed49..baddf255a9 100644 --- a/cloudformation/wafregional/aws-wafregional-sqlinjectionmatchset_sqlinjectionmatchtuple.go +++ b/cloudformation/wafregional/aws-wafregional-sqlinjectionmatchset_sqlinjectionmatchtuple.go @@ -21,6 +21,9 @@ type SqlInjectionMatchSet_SqlInjectionMatchTuple struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafregional/aws-wafregional-webacl.go b/cloudformation/wafregional/aws-wafregional-webacl.go index a0220042af..505f3845a6 100644 --- a/cloudformation/wafregional/aws-wafregional-webacl.go +++ b/cloudformation/wafregional/aws-wafregional-webacl.go @@ -35,6 +35,9 @@ type WebACL struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -55,19 +58,21 @@ func (r *WebACL) AWSCloudFormationType() string { func (r WebACL) MarshalJSON() ([]byte, error) { type Properties WebACL return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -76,12 +81,13 @@ func (r WebACL) MarshalJSON() ([]byte, error) { func (r *WebACL) UnmarshalJSON(b []byte) error { type Properties WebACL res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -105,6 +111,9 @@ func (r *WebACL) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/wafregional/aws-wafregional-webacl_action.go b/cloudformation/wafregional/aws-wafregional-webacl_action.go index ea78e38d47..860f3f3eae 100644 --- a/cloudformation/wafregional/aws-wafregional-webacl_action.go +++ b/cloudformation/wafregional/aws-wafregional-webacl_action.go @@ -16,6 +16,9 @@ type WebACL_Action struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafregional/aws-wafregional-webacl_rule.go b/cloudformation/wafregional/aws-wafregional-webacl_rule.go index 6168b12cd4..180f13e642 100644 --- a/cloudformation/wafregional/aws-wafregional-webacl_rule.go +++ b/cloudformation/wafregional/aws-wafregional-webacl_rule.go @@ -26,6 +26,9 @@ type WebACL_Rule struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafregional/aws-wafregional-webaclassociation.go b/cloudformation/wafregional/aws-wafregional-webaclassociation.go index 3223384753..4f1460ad17 100644 --- a/cloudformation/wafregional/aws-wafregional-webaclassociation.go +++ b/cloudformation/wafregional/aws-wafregional-webaclassociation.go @@ -25,6 +25,9 @@ type WebACLAssociation struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *WebACLAssociation) AWSCloudFormationType() string { func (r WebACLAssociation) MarshalJSON() ([]byte, error) { type Properties WebACLAssociation return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r WebACLAssociation) MarshalJSON() ([]byte, error) { func (r *WebACLAssociation) UnmarshalJSON(b []byte) error { type Properties WebACLAssociation res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *WebACLAssociation) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/wafregional/aws-wafregional-xssmatchset.go b/cloudformation/wafregional/aws-wafregional-xssmatchset.go index 0216e942d5..fa3dca5ec6 100644 --- a/cloudformation/wafregional/aws-wafregional-xssmatchset.go +++ b/cloudformation/wafregional/aws-wafregional-xssmatchset.go @@ -25,6 +25,9 @@ type XssMatchSet struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *XssMatchSet) AWSCloudFormationType() string { func (r XssMatchSet) MarshalJSON() ([]byte, error) { type Properties XssMatchSet return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r XssMatchSet) MarshalJSON() ([]byte, error) { func (r *XssMatchSet) UnmarshalJSON(b []byte) error { type Properties XssMatchSet res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *XssMatchSet) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/wafregional/aws-wafregional-xssmatchset_fieldtomatch.go b/cloudformation/wafregional/aws-wafregional-xssmatchset_fieldtomatch.go index 4e9ac74ad4..a08fe9b324 100644 --- a/cloudformation/wafregional/aws-wafregional-xssmatchset_fieldtomatch.go +++ b/cloudformation/wafregional/aws-wafregional-xssmatchset_fieldtomatch.go @@ -21,6 +21,9 @@ type XssMatchSet_FieldToMatch struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafregional/aws-wafregional-xssmatchset_xssmatchtuple.go b/cloudformation/wafregional/aws-wafregional-xssmatchset_xssmatchtuple.go index 0a053d49fe..2664c9f401 100644 --- a/cloudformation/wafregional/aws-wafregional-xssmatchset_xssmatchtuple.go +++ b/cloudformation/wafregional/aws-wafregional-xssmatchset_xssmatchtuple.go @@ -21,6 +21,9 @@ type XssMatchSet_XssMatchTuple struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-ipset.go b/cloudformation/wafv2/aws-wafv2-ipset.go index aea72d1ce3..fad34d1e09 100644 --- a/cloudformation/wafv2/aws-wafv2-ipset.go +++ b/cloudformation/wafv2/aws-wafv2-ipset.go @@ -46,6 +46,9 @@ type IPSet struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -66,19 +69,21 @@ func (r *IPSet) AWSCloudFormationType() string { func (r IPSet) MarshalJSON() ([]byte, error) { type Properties IPSet return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -87,12 +92,13 @@ func (r IPSet) MarshalJSON() ([]byte, error) { func (r *IPSet) UnmarshalJSON(b []byte) error { type Properties IPSet res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -116,6 +122,9 @@ func (r *IPSet) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/wafv2/aws-wafv2-regexpatternset.go b/cloudformation/wafv2/aws-wafv2-regexpatternset.go index 71f41ad9d0..ced61534b7 100644 --- a/cloudformation/wafv2/aws-wafv2-regexpatternset.go +++ b/cloudformation/wafv2/aws-wafv2-regexpatternset.go @@ -41,6 +41,9 @@ type RegexPatternSet struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -61,19 +64,21 @@ func (r *RegexPatternSet) AWSCloudFormationType() string { func (r RegexPatternSet) MarshalJSON() ([]byte, error) { type Properties RegexPatternSet return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -82,12 +87,13 @@ func (r RegexPatternSet) MarshalJSON() ([]byte, error) { func (r *RegexPatternSet) UnmarshalJSON(b []byte) error { type Properties RegexPatternSet res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -111,6 +117,9 @@ func (r *RegexPatternSet) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/wafv2/aws-wafv2-rulegroup.go b/cloudformation/wafv2/aws-wafv2-rulegroup.go index d42bb8c107..b75bf731d6 100644 --- a/cloudformation/wafv2/aws-wafv2-rulegroup.go +++ b/cloudformation/wafv2/aws-wafv2-rulegroup.go @@ -51,6 +51,9 @@ type RuleGroup struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -71,19 +74,21 @@ func (r *RuleGroup) AWSCloudFormationType() string { func (r RuleGroup) MarshalJSON() ([]byte, error) { type Properties RuleGroup return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -92,12 +97,13 @@ func (r RuleGroup) MarshalJSON() ([]byte, error) { func (r *RuleGroup) UnmarshalJSON(b []byte) error { type Properties RuleGroup res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -121,6 +127,9 @@ func (r *RuleGroup) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/wafv2/aws-wafv2-rulegroup_andstatementone.go b/cloudformation/wafv2/aws-wafv2-rulegroup_andstatementone.go index 23f212be43..5c3e4eadad 100644 --- a/cloudformation/wafv2/aws-wafv2-rulegroup_andstatementone.go +++ b/cloudformation/wafv2/aws-wafv2-rulegroup_andstatementone.go @@ -16,6 +16,9 @@ type RuleGroup_AndStatementOne struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-rulegroup_andstatementtwo.go b/cloudformation/wafv2/aws-wafv2-rulegroup_andstatementtwo.go index 911db1a1e9..7c250e744b 100644 --- a/cloudformation/wafv2/aws-wafv2-rulegroup_andstatementtwo.go +++ b/cloudformation/wafv2/aws-wafv2-rulegroup_andstatementtwo.go @@ -16,6 +16,9 @@ type RuleGroup_AndStatementTwo struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-rulegroup_bytematchstatement.go b/cloudformation/wafv2/aws-wafv2-rulegroup_bytematchstatement.go index 6655b43f14..bea33ce0ae 100644 --- a/cloudformation/wafv2/aws-wafv2-rulegroup_bytematchstatement.go +++ b/cloudformation/wafv2/aws-wafv2-rulegroup_bytematchstatement.go @@ -19,7 +19,7 @@ type RuleGroup_ByteMatchStatement struct { PositionalConstraint string `json:"PositionalConstraint,omitempty"` // SearchString AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-bytematchstatement.html#cfn-wafv2-rulegroup-bytematchstatement-searchstring SearchString string `json:"SearchString,omitempty"` @@ -36,6 +36,9 @@ type RuleGroup_ByteMatchStatement struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-rulegroup_fieldtomatch.go b/cloudformation/wafv2/aws-wafv2-rulegroup_fieldtomatch.go index 6fbec35618..8c34ceb15e 100644 --- a/cloudformation/wafv2/aws-wafv2-rulegroup_fieldtomatch.go +++ b/cloudformation/wafv2/aws-wafv2-rulegroup_fieldtomatch.go @@ -46,6 +46,9 @@ type RuleGroup_FieldToMatch struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-rulegroup_geomatchstatement.go b/cloudformation/wafv2/aws-wafv2-rulegroup_geomatchstatement.go index 8cdc0a3de4..a7b70f9ebd 100644 --- a/cloudformation/wafv2/aws-wafv2-rulegroup_geomatchstatement.go +++ b/cloudformation/wafv2/aws-wafv2-rulegroup_geomatchstatement.go @@ -16,6 +16,9 @@ type RuleGroup_GeoMatchStatement struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-rulegroup_ipsetreferencestatement.go b/cloudformation/wafv2/aws-wafv2-rulegroup_ipsetreferencestatement.go index 7724acb127..e8a7bf61f4 100644 --- a/cloudformation/wafv2/aws-wafv2-rulegroup_ipsetreferencestatement.go +++ b/cloudformation/wafv2/aws-wafv2-rulegroup_ipsetreferencestatement.go @@ -16,6 +16,9 @@ type RuleGroup_IPSetReferenceStatement struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-rulegroup_notstatementone.go b/cloudformation/wafv2/aws-wafv2-rulegroup_notstatementone.go index 7891e28241..64978805ed 100644 --- a/cloudformation/wafv2/aws-wafv2-rulegroup_notstatementone.go +++ b/cloudformation/wafv2/aws-wafv2-rulegroup_notstatementone.go @@ -16,6 +16,9 @@ type RuleGroup_NotStatementOne struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-rulegroup_notstatementtwo.go b/cloudformation/wafv2/aws-wafv2-rulegroup_notstatementtwo.go index 346e103c9b..e4da7a5b7b 100644 --- a/cloudformation/wafv2/aws-wafv2-rulegroup_notstatementtwo.go +++ b/cloudformation/wafv2/aws-wafv2-rulegroup_notstatementtwo.go @@ -16,6 +16,9 @@ type RuleGroup_NotStatementTwo struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-rulegroup_orstatementone.go b/cloudformation/wafv2/aws-wafv2-rulegroup_orstatementone.go index 0f35b4d398..386428013e 100644 --- a/cloudformation/wafv2/aws-wafv2-rulegroup_orstatementone.go +++ b/cloudformation/wafv2/aws-wafv2-rulegroup_orstatementone.go @@ -16,6 +16,9 @@ type RuleGroup_OrStatementOne struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-rulegroup_orstatementtwo.go b/cloudformation/wafv2/aws-wafv2-rulegroup_orstatementtwo.go index d5a5573fd2..34d4d4a24f 100644 --- a/cloudformation/wafv2/aws-wafv2-rulegroup_orstatementtwo.go +++ b/cloudformation/wafv2/aws-wafv2-rulegroup_orstatementtwo.go @@ -16,6 +16,9 @@ type RuleGroup_OrStatementTwo struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-rulegroup_ratebasedstatementone.go b/cloudformation/wafv2/aws-wafv2-rulegroup_ratebasedstatementone.go index 1fd3ee79b3..cb5b5f4869 100644 --- a/cloudformation/wafv2/aws-wafv2-rulegroup_ratebasedstatementone.go +++ b/cloudformation/wafv2/aws-wafv2-rulegroup_ratebasedstatementone.go @@ -26,6 +26,9 @@ type RuleGroup_RateBasedStatementOne struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-rulegroup_ratebasedstatementtwo.go b/cloudformation/wafv2/aws-wafv2-rulegroup_ratebasedstatementtwo.go index 9be97aae7a..7f7dd51e1f 100644 --- a/cloudformation/wafv2/aws-wafv2-rulegroup_ratebasedstatementtwo.go +++ b/cloudformation/wafv2/aws-wafv2-rulegroup_ratebasedstatementtwo.go @@ -26,6 +26,9 @@ type RuleGroup_RateBasedStatementTwo struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-rulegroup_regexpatternsetreferencestatement.go b/cloudformation/wafv2/aws-wafv2-rulegroup_regexpatternsetreferencestatement.go index fcd5d5722b..4e1b99c501 100644 --- a/cloudformation/wafv2/aws-wafv2-rulegroup_regexpatternsetreferencestatement.go +++ b/cloudformation/wafv2/aws-wafv2-rulegroup_regexpatternsetreferencestatement.go @@ -26,6 +26,9 @@ type RuleGroup_RegexPatternSetReferenceStatement struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-rulegroup_rule.go b/cloudformation/wafv2/aws-wafv2-rulegroup_rule.go index 36f84c5cd5..283d49a712 100644 --- a/cloudformation/wafv2/aws-wafv2-rulegroup_rule.go +++ b/cloudformation/wafv2/aws-wafv2-rulegroup_rule.go @@ -36,6 +36,9 @@ type RuleGroup_Rule struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-rulegroup_ruleaction.go b/cloudformation/wafv2/aws-wafv2-rulegroup_ruleaction.go index 3bbdd017e9..9db83be0a9 100644 --- a/cloudformation/wafv2/aws-wafv2-rulegroup_ruleaction.go +++ b/cloudformation/wafv2/aws-wafv2-rulegroup_ruleaction.go @@ -26,6 +26,9 @@ type RuleGroup_RuleAction struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-rulegroup_sizeconstraintstatement.go b/cloudformation/wafv2/aws-wafv2-rulegroup_sizeconstraintstatement.go index 86fe4fb54c..fe83eda79e 100644 --- a/cloudformation/wafv2/aws-wafv2-rulegroup_sizeconstraintstatement.go +++ b/cloudformation/wafv2/aws-wafv2-rulegroup_sizeconstraintstatement.go @@ -31,6 +31,9 @@ type RuleGroup_SizeConstraintStatement struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-rulegroup_sqlimatchstatement.go b/cloudformation/wafv2/aws-wafv2-rulegroup_sqlimatchstatement.go index 9ef2f1ff3f..b5624c504c 100644 --- a/cloudformation/wafv2/aws-wafv2-rulegroup_sqlimatchstatement.go +++ b/cloudformation/wafv2/aws-wafv2-rulegroup_sqlimatchstatement.go @@ -21,6 +21,9 @@ type RuleGroup_SqliMatchStatement struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-rulegroup_statementone.go b/cloudformation/wafv2/aws-wafv2-rulegroup_statementone.go index 43a5182d57..d58eb6b584 100644 --- a/cloudformation/wafv2/aws-wafv2-rulegroup_statementone.go +++ b/cloudformation/wafv2/aws-wafv2-rulegroup_statementone.go @@ -66,6 +66,9 @@ type RuleGroup_StatementOne struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-rulegroup_statementthree.go b/cloudformation/wafv2/aws-wafv2-rulegroup_statementthree.go index 05f452f32d..9eedd94e2b 100644 --- a/cloudformation/wafv2/aws-wafv2-rulegroup_statementthree.go +++ b/cloudformation/wafv2/aws-wafv2-rulegroup_statementthree.go @@ -46,6 +46,9 @@ type RuleGroup_StatementThree struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-rulegroup_statementtwo.go b/cloudformation/wafv2/aws-wafv2-rulegroup_statementtwo.go index 62be1537f2..ad11ccac6b 100644 --- a/cloudformation/wafv2/aws-wafv2-rulegroup_statementtwo.go +++ b/cloudformation/wafv2/aws-wafv2-rulegroup_statementtwo.go @@ -66,6 +66,9 @@ type RuleGroup_StatementTwo struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-rulegroup_texttransformation.go b/cloudformation/wafv2/aws-wafv2-rulegroup_texttransformation.go index 74e5517b89..667d888d91 100644 --- a/cloudformation/wafv2/aws-wafv2-rulegroup_texttransformation.go +++ b/cloudformation/wafv2/aws-wafv2-rulegroup_texttransformation.go @@ -21,6 +21,9 @@ type RuleGroup_TextTransformation struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-rulegroup_visibilityconfig.go b/cloudformation/wafv2/aws-wafv2-rulegroup_visibilityconfig.go index ff3eeca489..22c4003fcc 100644 --- a/cloudformation/wafv2/aws-wafv2-rulegroup_visibilityconfig.go +++ b/cloudformation/wafv2/aws-wafv2-rulegroup_visibilityconfig.go @@ -26,6 +26,9 @@ type RuleGroup_VisibilityConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-rulegroup_xssmatchstatement.go b/cloudformation/wafv2/aws-wafv2-rulegroup_xssmatchstatement.go index 26877a75f4..c03e0de78b 100644 --- a/cloudformation/wafv2/aws-wafv2-rulegroup_xssmatchstatement.go +++ b/cloudformation/wafv2/aws-wafv2-rulegroup_xssmatchstatement.go @@ -21,6 +21,9 @@ type RuleGroup_XssMatchStatement struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-webacl.go b/cloudformation/wafv2/aws-wafv2-webacl.go index ac4bb92127..8e90d58a73 100644 --- a/cloudformation/wafv2/aws-wafv2-webacl.go +++ b/cloudformation/wafv2/aws-wafv2-webacl.go @@ -51,6 +51,9 @@ type WebACL struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -71,19 +74,21 @@ func (r *WebACL) AWSCloudFormationType() string { func (r WebACL) MarshalJSON() ([]byte, error) { type Properties WebACL return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -92,12 +97,13 @@ func (r WebACL) MarshalJSON() ([]byte, error) { func (r *WebACL) UnmarshalJSON(b []byte) error { type Properties WebACL res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -121,6 +127,9 @@ func (r *WebACL) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/wafv2/aws-wafv2-webacl_andstatementone.go b/cloudformation/wafv2/aws-wafv2-webacl_andstatementone.go index 291c298c96..987e009e2c 100644 --- a/cloudformation/wafv2/aws-wafv2-webacl_andstatementone.go +++ b/cloudformation/wafv2/aws-wafv2-webacl_andstatementone.go @@ -16,6 +16,9 @@ type WebACL_AndStatementOne struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-webacl_andstatementtwo.go b/cloudformation/wafv2/aws-wafv2-webacl_andstatementtwo.go index 462de7fb86..f36d85b3e6 100644 --- a/cloudformation/wafv2/aws-wafv2-webacl_andstatementtwo.go +++ b/cloudformation/wafv2/aws-wafv2-webacl_andstatementtwo.go @@ -16,6 +16,9 @@ type WebACL_AndStatementTwo struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-webacl_bytematchstatement.go b/cloudformation/wafv2/aws-wafv2-webacl_bytematchstatement.go index da9027b309..934be5c90b 100644 --- a/cloudformation/wafv2/aws-wafv2-webacl_bytematchstatement.go +++ b/cloudformation/wafv2/aws-wafv2-webacl_bytematchstatement.go @@ -19,7 +19,7 @@ type WebACL_ByteMatchStatement struct { PositionalConstraint string `json:"PositionalConstraint,omitempty"` // SearchString AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-bytematchstatement.html#cfn-wafv2-webacl-bytematchstatement-searchstring SearchString string `json:"SearchString,omitempty"` @@ -36,6 +36,9 @@ type WebACL_ByteMatchStatement struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-webacl_defaultaction.go b/cloudformation/wafv2/aws-wafv2-webacl_defaultaction.go index 5bba598170..285b074cce 100644 --- a/cloudformation/wafv2/aws-wafv2-webacl_defaultaction.go +++ b/cloudformation/wafv2/aws-wafv2-webacl_defaultaction.go @@ -21,6 +21,9 @@ type WebACL_DefaultAction struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-webacl_excludedrule.go b/cloudformation/wafv2/aws-wafv2-webacl_excludedrule.go index 7aabbdf374..6e271a6696 100644 --- a/cloudformation/wafv2/aws-wafv2-webacl_excludedrule.go +++ b/cloudformation/wafv2/aws-wafv2-webacl_excludedrule.go @@ -16,6 +16,9 @@ type WebACL_ExcludedRule struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-webacl_fieldtomatch.go b/cloudformation/wafv2/aws-wafv2-webacl_fieldtomatch.go index 5615ca0c96..a59a52fb37 100644 --- a/cloudformation/wafv2/aws-wafv2-webacl_fieldtomatch.go +++ b/cloudformation/wafv2/aws-wafv2-webacl_fieldtomatch.go @@ -46,6 +46,9 @@ type WebACL_FieldToMatch struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-webacl_geomatchstatement.go b/cloudformation/wafv2/aws-wafv2-webacl_geomatchstatement.go index df543ab0db..82f98f44fa 100644 --- a/cloudformation/wafv2/aws-wafv2-webacl_geomatchstatement.go +++ b/cloudformation/wafv2/aws-wafv2-webacl_geomatchstatement.go @@ -16,6 +16,9 @@ type WebACL_GeoMatchStatement struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-webacl_ipsetreferencestatement.go b/cloudformation/wafv2/aws-wafv2-webacl_ipsetreferencestatement.go index b2cc787523..22c89789bd 100644 --- a/cloudformation/wafv2/aws-wafv2-webacl_ipsetreferencestatement.go +++ b/cloudformation/wafv2/aws-wafv2-webacl_ipsetreferencestatement.go @@ -16,6 +16,9 @@ type WebACL_IPSetReferenceStatement struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-webacl_managedrulegroupstatement.go b/cloudformation/wafv2/aws-wafv2-webacl_managedrulegroupstatement.go index d17a679983..864fc4fa6a 100644 --- a/cloudformation/wafv2/aws-wafv2-webacl_managedrulegroupstatement.go +++ b/cloudformation/wafv2/aws-wafv2-webacl_managedrulegroupstatement.go @@ -26,6 +26,9 @@ type WebACL_ManagedRuleGroupStatement struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-webacl_notstatementone.go b/cloudformation/wafv2/aws-wafv2-webacl_notstatementone.go index c4067cbb70..af168cf308 100644 --- a/cloudformation/wafv2/aws-wafv2-webacl_notstatementone.go +++ b/cloudformation/wafv2/aws-wafv2-webacl_notstatementone.go @@ -16,6 +16,9 @@ type WebACL_NotStatementOne struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-webacl_notstatementtwo.go b/cloudformation/wafv2/aws-wafv2-webacl_notstatementtwo.go index 613f949a0f..670fb168e0 100644 --- a/cloudformation/wafv2/aws-wafv2-webacl_notstatementtwo.go +++ b/cloudformation/wafv2/aws-wafv2-webacl_notstatementtwo.go @@ -16,6 +16,9 @@ type WebACL_NotStatementTwo struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-webacl_orstatementone.go b/cloudformation/wafv2/aws-wafv2-webacl_orstatementone.go index f9fa56a4e2..585440d062 100644 --- a/cloudformation/wafv2/aws-wafv2-webacl_orstatementone.go +++ b/cloudformation/wafv2/aws-wafv2-webacl_orstatementone.go @@ -16,6 +16,9 @@ type WebACL_OrStatementOne struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-webacl_orstatementtwo.go b/cloudformation/wafv2/aws-wafv2-webacl_orstatementtwo.go index 21a8624ead..38dd23d16e 100644 --- a/cloudformation/wafv2/aws-wafv2-webacl_orstatementtwo.go +++ b/cloudformation/wafv2/aws-wafv2-webacl_orstatementtwo.go @@ -16,6 +16,9 @@ type WebACL_OrStatementTwo struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-webacl_overrideaction.go b/cloudformation/wafv2/aws-wafv2-webacl_overrideaction.go index 396354b3ef..249375a5c4 100644 --- a/cloudformation/wafv2/aws-wafv2-webacl_overrideaction.go +++ b/cloudformation/wafv2/aws-wafv2-webacl_overrideaction.go @@ -21,6 +21,9 @@ type WebACL_OverrideAction struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-webacl_ratebasedstatementone.go b/cloudformation/wafv2/aws-wafv2-webacl_ratebasedstatementone.go index 83525da7c5..e4c1588dee 100644 --- a/cloudformation/wafv2/aws-wafv2-webacl_ratebasedstatementone.go +++ b/cloudformation/wafv2/aws-wafv2-webacl_ratebasedstatementone.go @@ -26,6 +26,9 @@ type WebACL_RateBasedStatementOne struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-webacl_ratebasedstatementtwo.go b/cloudformation/wafv2/aws-wafv2-webacl_ratebasedstatementtwo.go index d3d5c21e05..9355a38315 100644 --- a/cloudformation/wafv2/aws-wafv2-webacl_ratebasedstatementtwo.go +++ b/cloudformation/wafv2/aws-wafv2-webacl_ratebasedstatementtwo.go @@ -26,6 +26,9 @@ type WebACL_RateBasedStatementTwo struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-webacl_regexpatternsetreferencestatement.go b/cloudformation/wafv2/aws-wafv2-webacl_regexpatternsetreferencestatement.go index 060e71e1eb..238339daa2 100644 --- a/cloudformation/wafv2/aws-wafv2-webacl_regexpatternsetreferencestatement.go +++ b/cloudformation/wafv2/aws-wafv2-webacl_regexpatternsetreferencestatement.go @@ -26,6 +26,9 @@ type WebACL_RegexPatternSetReferenceStatement struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-webacl_rule.go b/cloudformation/wafv2/aws-wafv2-webacl_rule.go index db70f20776..7f70582667 100644 --- a/cloudformation/wafv2/aws-wafv2-webacl_rule.go +++ b/cloudformation/wafv2/aws-wafv2-webacl_rule.go @@ -41,6 +41,9 @@ type WebACL_Rule struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-webacl_ruleaction.go b/cloudformation/wafv2/aws-wafv2-webacl_ruleaction.go index 25471f8b76..e83d95df51 100644 --- a/cloudformation/wafv2/aws-wafv2-webacl_ruleaction.go +++ b/cloudformation/wafv2/aws-wafv2-webacl_ruleaction.go @@ -26,6 +26,9 @@ type WebACL_RuleAction struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-webacl_rulegroupreferencestatement.go b/cloudformation/wafv2/aws-wafv2-webacl_rulegroupreferencestatement.go index 62869187ec..d8e8f55da7 100644 --- a/cloudformation/wafv2/aws-wafv2-webacl_rulegroupreferencestatement.go +++ b/cloudformation/wafv2/aws-wafv2-webacl_rulegroupreferencestatement.go @@ -21,6 +21,9 @@ type WebACL_RuleGroupReferenceStatement struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-webacl_sizeconstraintstatement.go b/cloudformation/wafv2/aws-wafv2-webacl_sizeconstraintstatement.go index 658a3e183c..c882470072 100644 --- a/cloudformation/wafv2/aws-wafv2-webacl_sizeconstraintstatement.go +++ b/cloudformation/wafv2/aws-wafv2-webacl_sizeconstraintstatement.go @@ -31,6 +31,9 @@ type WebACL_SizeConstraintStatement struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-webacl_sqlimatchstatement.go b/cloudformation/wafv2/aws-wafv2-webacl_sqlimatchstatement.go index 17f7fdbb9c..2930cac9e7 100644 --- a/cloudformation/wafv2/aws-wafv2-webacl_sqlimatchstatement.go +++ b/cloudformation/wafv2/aws-wafv2-webacl_sqlimatchstatement.go @@ -21,6 +21,9 @@ type WebACL_SqliMatchStatement struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-webacl_statementone.go b/cloudformation/wafv2/aws-wafv2-webacl_statementone.go index a7b171337e..32d40f4d90 100644 --- a/cloudformation/wafv2/aws-wafv2-webacl_statementone.go +++ b/cloudformation/wafv2/aws-wafv2-webacl_statementone.go @@ -76,6 +76,9 @@ type WebACL_StatementOne struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-webacl_statementthree.go b/cloudformation/wafv2/aws-wafv2-webacl_statementthree.go index 07328776c3..3ad176960a 100644 --- a/cloudformation/wafv2/aws-wafv2-webacl_statementthree.go +++ b/cloudformation/wafv2/aws-wafv2-webacl_statementthree.go @@ -56,6 +56,9 @@ type WebACL_StatementThree struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-webacl_statementtwo.go b/cloudformation/wafv2/aws-wafv2-webacl_statementtwo.go index 5d1e357fa3..414278aa81 100644 --- a/cloudformation/wafv2/aws-wafv2-webacl_statementtwo.go +++ b/cloudformation/wafv2/aws-wafv2-webacl_statementtwo.go @@ -76,6 +76,9 @@ type WebACL_StatementTwo struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-webacl_texttransformation.go b/cloudformation/wafv2/aws-wafv2-webacl_texttransformation.go index 9dd15148fb..817ba78dab 100644 --- a/cloudformation/wafv2/aws-wafv2-webacl_texttransformation.go +++ b/cloudformation/wafv2/aws-wafv2-webacl_texttransformation.go @@ -21,6 +21,9 @@ type WebACL_TextTransformation struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-webacl_visibilityconfig.go b/cloudformation/wafv2/aws-wafv2-webacl_visibilityconfig.go index 67720277bf..a665f450b5 100644 --- a/cloudformation/wafv2/aws-wafv2-webacl_visibilityconfig.go +++ b/cloudformation/wafv2/aws-wafv2-webacl_visibilityconfig.go @@ -26,6 +26,9 @@ type WebACL_VisibilityConfig struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-webacl_xssmatchstatement.go b/cloudformation/wafv2/aws-wafv2-webacl_xssmatchstatement.go index ea17a35408..580184979f 100644 --- a/cloudformation/wafv2/aws-wafv2-webacl_xssmatchstatement.go +++ b/cloudformation/wafv2/aws-wafv2-webacl_xssmatchstatement.go @@ -21,6 +21,9 @@ type WebACL_XssMatchStatement struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-webaclassociation.go b/cloudformation/wafv2/aws-wafv2-webaclassociation.go index e36f47fd55..1dade79f97 100644 --- a/cloudformation/wafv2/aws-wafv2-webaclassociation.go +++ b/cloudformation/wafv2/aws-wafv2-webaclassociation.go @@ -25,6 +25,9 @@ type WebACLAssociation struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -45,19 +48,21 @@ func (r *WebACLAssociation) AWSCloudFormationType() string { func (r WebACLAssociation) MarshalJSON() ([]byte, error) { type Properties WebACLAssociation return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -66,12 +71,13 @@ func (r WebACLAssociation) MarshalJSON() ([]byte, error) { func (r *WebACLAssociation) UnmarshalJSON(b []byte) error { type Properties WebACLAssociation res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -95,6 +101,9 @@ func (r *WebACLAssociation) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/workspaces/aws-workspaces-workspace.go b/cloudformation/workspaces/aws-workspaces-workspace.go index 2e710b3dbb..b59cc62c32 100644 --- a/cloudformation/workspaces/aws-workspaces-workspace.go +++ b/cloudformation/workspaces/aws-workspaces-workspace.go @@ -56,6 +56,9 @@ type Workspace struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` @@ -76,19 +79,21 @@ func (r *Workspace) AWSCloudFormationType() string { func (r Workspace) MarshalJSON() ([]byte, error) { type Properties Workspace return json.Marshal(&struct { - Type string - Properties Properties - DependsOn []string `json:"DependsOn,omitempty"` - Metadata map[string]interface{} `json:"Metadata,omitempty"` - DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` - Condition string `json:"Condition,omitempty"` + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(r), - DependsOn: r.AWSCloudFormationDependsOn, - Metadata: r.AWSCloudFormationMetadata, - DeletionPolicy: r.AWSCloudFormationDeletionPolicy, - Condition: r.AWSCloudFormationCondition, + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, }) } @@ -97,12 +102,13 @@ func (r Workspace) MarshalJSON() ([]byte, error) { func (r *Workspace) UnmarshalJSON(b []byte) error { type Properties Workspace res := &struct { - Type string - Properties *Properties - DependsOn []string - Metadata map[string]interface{} - DeletionPolicy string - Condition string + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -126,6 +132,9 @@ func (r *Workspace) UnmarshalJSON(b []byte) error { if res.DeletionPolicy != "" { r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } diff --git a/cloudformation/workspaces/aws-workspaces-workspace_workspaceproperties.go b/cloudformation/workspaces/aws-workspaces-workspace_workspaceproperties.go index e57d6c23a6..9910c7599b 100644 --- a/cloudformation/workspaces/aws-workspaces-workspace_workspaceproperties.go +++ b/cloudformation/workspaces/aws-workspaces-workspace_workspaceproperties.go @@ -36,6 +36,9 @@ type Workspace_WorkspaceProperties struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource AWSCloudFormationDependsOn []string `json:"-"` diff --git a/generate/property.go b/generate/property.go index b6449baaaa..55fdbd386b 100644 --- a/generate/property.go +++ b/generate/property.go @@ -8,6 +8,34 @@ import ( "text/template" ) +var typeToGo = map[string]string{ + "String": "string", + "Long": "int64", + "Integer": "int", + "Double": "float64", + "Boolean": "bool", + "Timestamp": "string", + "Json": "interface{}", + "Map": "interface{}", + + // Overrides to fix CF errors + "ParameterValues": "interface{}", // fix for AWS::SSM::Association +} + +var typeToJSON = map[string]string{ + "String": "string", + "Long": "number", + "Integer": "number", + "Double": "number", + "Boolean": "boolean", + "Timestamp": "string", + "Json": "object", + "Map": "object", + + // Overrides to fix CF errors + "ParameterValues": "object", // fix for AWS::SSM::Association +} + // Property represents an AWS CloudFormation resource property type Property struct { @@ -125,21 +153,11 @@ func (p Property) IsMap() bool { return p.Type == "Map" } -// IsMapOfPrimitives checks whether a map contains primitive values -func (p Property) IsMapOfPrimitives() bool { - return p.IsMap() && p.PrimitiveItemType != "" -} - // IsList checks whether a property should be a list ([]...) func (p Property) IsList() bool { return p.Type == "List" } -// IsListOfPrimitives checks whether a list containers primitive values -func (p Property) IsListOfPrimitives() bool { - return p.IsList() && p.PrimitiveItemType != "" -} - // IsCustomType checks wither a property is a custom type func (p Property) IsCustomType() bool { return p.PrimitiveType == "" && p.ItemType == "" && p.PrimitiveItemType == "" @@ -162,8 +180,8 @@ func (p Property) GoType(typename string, basename string, name string) string { if p.IsMap() { - if p.IsMapOfPrimitives() { - return "map[string]" + convertTypeToGo(p.PrimitiveItemType) + if p.convertTypeToGo() != "" { + return "map[string]" + p.convertTypeToGo() } return "map[string]" + basename + "_" + p.ItemType @@ -172,8 +190,8 @@ func (p Property) GoType(typename string, basename string, name string) string { if p.IsList() { - if p.IsListOfPrimitives() { - return "[]" + convertTypeToGo(p.PrimitiveItemType) + if p.convertTypeToGo() != "" { + return "[]" + p.convertTypeToGo() } return "[]" + basename + "_" + p.ItemType @@ -192,65 +210,46 @@ func (p Property) GoType(typename string, basename string, name string) string { // GetJSONPrimitiveType returns the correct primitive property type for a JSON Schema. // If the property is a list/map, then it will return the type of the items. func (p Property) GetJSONPrimitiveType() string { + return p.convertTypeToJSON() +} - if p.IsPrimitive() { - return convertTypeToJSON(p.PrimitiveType) - } +// HasJSONPrimitiveType if GetJSONPrimitiveType is not "" +func (p Property) HasJSONPrimitiveType() bool { + return p.convertTypeToJSON() != "" +} - if p.IsMap() && p.IsMapOfPrimitives() { - return convertTypeToJSON(p.PrimitiveItemType) +func (p Property) convertTypeToGo() string { + if p.PrimitiveType != "" { + return convertTypeToGo(p.PrimitiveType) + } else if p.PrimitiveItemType != "" { + return convertTypeToGo(p.PrimitiveItemType) + } else { + return convertTypeToGo(p.ItemType) } +} - if p.IsList() && p.IsListOfPrimitives() { +func (p Property) convertTypeToJSON() string { + if p.PrimitiveType != "" { + return convertTypeToJSON(p.PrimitiveType) + } else if p.PrimitiveItemType != "" { return convertTypeToJSON(p.PrimitiveItemType) + } else { + return convertTypeToJSON(p.ItemType) } - - return "unknown" - } -func convertTypeToGo(pt string) string { - switch pt { - case "String": - return "string" - case "Long": - return "int64" - case "Integer": - return "int" - case "Double": - return "float64" - case "Boolean": - return "bool" - case "Timestamp": - return "string" - case "Json": - return "interface{}" - case "Map": - return "interface{}" - default: - return pt +func convertTypeToGo(name string) string { + t, ok := typeToGo[name] + if !ok { + return "" } + return t } func convertTypeToJSON(name string) string { - switch name { - case "String": - return "string" - case "Long": - return "number" - case "Integer": - return "number" - case "Double": - return "number" - case "Boolean": - return "boolean" - case "Timestamp": - return "string" - case "Json": - return "object" - case "Map": - return "object" - default: - return name + t, ok := typeToJSON[name] + if !ok { + return "" } + return t } diff --git a/generate/templates/schema-property.template b/generate/templates/schema-property.template index b11bd66d63..ab2d4bec7d 100644 --- a/generate/templates/schema-property.template +++ b/generate/templates/schema-property.template @@ -52,7 +52,7 @@ {{if .Property.IsMap}} "type": "object", - {{if .Property.IsMapOfPrimitives}} + {{if .Property.HasJSONPrimitiveType}} "patternProperties": { "^[a-zA-Z0-9]+$": { "type": "{{.Property.GetJSONPrimitiveType}}" @@ -75,7 +75,7 @@ {{if .Property.IsList}} "type": "array", - {{if .Property.IsListOfPrimitives}} + {{if .Property.HasJSONPrimitiveType}} "items": { "type": "{{.Property.GetJSONPrimitiveType}}" } diff --git a/schema/cloudformation.go b/schema/cloudformation.go index 7d7dd0645c..dad1088b93 100644 --- a/schema/cloudformation.go +++ b/schema/cloudformation.go @@ -66,6 +66,14 @@ var CloudformationSchema = `{ "AWS::ACMPCA::Certificate" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -157,6 +165,14 @@ var CloudformationSchema = `{ "AWS::ACMPCA::CertificateAuthority" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -296,6 +312,14 @@ var CloudformationSchema = `{ "AWS::ACMPCA::CertificateAuthorityActivation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -365,6 +389,14 @@ var CloudformationSchema = `{ "AWS::AccessAnalyzer::Analyzer" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -535,6 +567,14 @@ var CloudformationSchema = `{ "AWS::AmazonMQ::Broker" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -714,6 +754,14 @@ var CloudformationSchema = `{ "AWS::AmazonMQ::Configuration" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -788,6 +836,14 @@ var CloudformationSchema = `{ "AWS::AmazonMQ::ConfigurationAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -900,6 +956,14 @@ var CloudformationSchema = `{ "AWS::Amplify::App" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -1083,6 +1147,14 @@ var CloudformationSchema = `{ "AWS::Amplify::Branch" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -1183,6 +1255,14 @@ var CloudformationSchema = `{ "AWS::Amplify::Domain" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -1250,6 +1330,14 @@ var CloudformationSchema = `{ "AWS::ApiGateway::Account" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -1327,6 +1415,14 @@ var CloudformationSchema = `{ "AWS::ApiGateway::ApiKey" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -1423,6 +1519,14 @@ var CloudformationSchema = `{ "AWS::ApiGateway::Authorizer" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -1486,6 +1590,14 @@ var CloudformationSchema = `{ "AWS::ApiGateway::BasePathMapping" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -1543,6 +1655,14 @@ var CloudformationSchema = `{ "AWS::ApiGateway::ClientCertificate" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -1608,6 +1728,14 @@ var CloudformationSchema = `{ "AWS::ApiGateway::Deployment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -1835,6 +1963,14 @@ var CloudformationSchema = `{ "AWS::ApiGateway::DocumentationPart" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -1917,6 +2053,14 @@ var CloudformationSchema = `{ "AWS::ApiGateway::DocumentationVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -1989,6 +2133,14 @@ var CloudformationSchema = `{ "AWS::ApiGateway::DomainName" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -2080,6 +2232,14 @@ var CloudformationSchema = `{ "AWS::ApiGateway::GatewayResponse" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -2190,6 +2350,14 @@ var CloudformationSchema = `{ "AWS::ApiGateway::Method" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -2388,6 +2556,14 @@ var CloudformationSchema = `{ "AWS::ApiGateway::Model" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -2451,6 +2627,14 @@ var CloudformationSchema = `{ "AWS::ApiGateway::RequestValidator" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -2513,6 +2697,14 @@ var CloudformationSchema = `{ "AWS::ApiGateway::Resource" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -2612,6 +2804,14 @@ var CloudformationSchema = `{ "AWS::ApiGateway::RestApi" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -2752,6 +2952,14 @@ var CloudformationSchema = `{ "AWS::ApiGateway::Stage" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -2896,6 +3104,14 @@ var CloudformationSchema = `{ "AWS::ApiGateway::UsagePlan" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -3005,6 +3221,14 @@ var CloudformationSchema = `{ "AWS::ApiGateway::UsagePlanKey" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -3069,6 +3293,14 @@ var CloudformationSchema = `{ "AWS::ApiGateway::VpcLink" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -3165,6 +3397,14 @@ var CloudformationSchema = `{ "AWS::ApiGatewayV2::Api" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -3283,6 +3523,14 @@ var CloudformationSchema = `{ "AWS::ApiGatewayV2::ApiMapping" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -3367,6 +3615,14 @@ var CloudformationSchema = `{ "AWS::ApiGatewayV2::Authorizer" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -3442,6 +3698,14 @@ var CloudformationSchema = `{ "AWS::ApiGatewayV2::Deployment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -3505,6 +3769,14 @@ var CloudformationSchema = `{ "AWS::ApiGatewayV2::DomainName" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -3563,6 +3835,9 @@ var CloudformationSchema = `{ "ApiId": { "type": "string" }, + "ConnectionId": { + "type": "string" + }, "ConnectionType": { "type": "string" }, @@ -3601,6 +3876,9 @@ var CloudformationSchema = `{ }, "TimeoutInMillis": { "type": "number" + }, + "TlsConfig": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Integration.TlsConfig" } }, "required": [ @@ -3614,6 +3892,14 @@ var CloudformationSchema = `{ "AWS::ApiGatewayV2::Integration" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -3622,6 +3908,15 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::ApiGatewayV2::Integration.TlsConfig": { + "additionalProperties": false, + "properties": { + "ServerNameToVerify": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ApiGatewayV2::IntegrationResponse": { "additionalProperties": false, "properties": { @@ -3688,6 +3983,14 @@ var CloudformationSchema = `{ "AWS::ApiGatewayV2::IntegrationResponse" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -3756,6 +4059,14 @@ var CloudformationSchema = `{ "AWS::ApiGatewayV2::Model" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -3847,6 +4158,14 @@ var CloudformationSchema = `{ "AWS::ApiGatewayV2::Route" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -3930,6 +4249,14 @@ var CloudformationSchema = `{ "AWS::ApiGatewayV2::RouteResponse" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -4027,6 +4354,14 @@ var CloudformationSchema = `{ "AWS::ApiGatewayV2::Stage" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -4123,6 +4458,14 @@ var CloudformationSchema = `{ "AWS::AppConfig::Application" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -4215,6 +4558,14 @@ var CloudformationSchema = `{ "AWS::AppConfig::ConfigurationProfile" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -4318,6 +4669,14 @@ var CloudformationSchema = `{ "AWS::AppConfig::Deployment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -4411,6 +4770,14 @@ var CloudformationSchema = `{ "AWS::AppConfig::DeploymentStrategy" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -4496,6 +4863,14 @@ var CloudformationSchema = `{ "AWS::AppConfig::Environment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -4528,6 +4903,86 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::AppConfig::HostedConfigurationVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "ConfigurationProfileId": { + "type": "string" + }, + "Content": { + "type": "string" + }, + "ContentType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "LatestVersionNumber": { + "type": "number" + } + }, + "required": [ + "ApplicationId", + "ConfigurationProfileId", + "Content", + "ContentType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppConfig::HostedConfigurationVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::AppMesh::Mesh": { "additionalProperties": false, "properties": { @@ -4583,6 +5038,14 @@ var CloudformationSchema = `{ "AWS::AppMesh::Mesh" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -4647,6 +5110,9 @@ var CloudformationSchema = `{ "MeshName": { "type": "string" }, + "MeshOwner": { + "type": "string" + }, "RouteName": { "type": "string" }, @@ -4676,6 +5142,14 @@ var CloudformationSchema = `{ "AWS::AppMesh::Route" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -5065,6 +5539,9 @@ var CloudformationSchema = `{ "MeshName": { "type": "string" }, + "MeshOwner": { + "type": "string" + }, "Spec": { "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeSpec" }, @@ -5090,6 +5567,14 @@ var CloudformationSchema = `{ "AWS::AppMesh::VirtualNode" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -5154,6 +5639,45 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::AppMesh::VirtualNode.BackendDefaults": { + "additionalProperties": false, + "properties": { + "ClientPolicy": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicy" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ClientPolicy": { + "additionalProperties": false, + "properties": { + "TLS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicyTls" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ClientPolicyTls": { + "additionalProperties": false, + "properties": { + "Enforce": { + "type": "boolean" + }, + "Ports": { + "items": { + "type": "number" + }, + "type": "array" + }, + "Validation": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContext" + } + }, + "required": [ + "Validation" + ], + "type": "object" + }, "AWS::AppMesh::VirtualNode.DnsServiceDiscovery": { "additionalProperties": false, "properties": { @@ -5220,6 +5744,9 @@ var CloudformationSchema = `{ }, "PortMapping": { "$ref": "#/definitions/AWS::AppMesh::VirtualNode.PortMapping" + }, + "TLS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTls" } }, "required": [ @@ -5227,6 +5754,62 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::AppMesh::VirtualNode.ListenerTls": { + "additionalProperties": false, + "properties": { + "Certificate": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsCertificate" + }, + "Mode": { + "type": "string" + } + }, + "required": [ + "Certificate", + "Mode" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTlsAcmCertificate": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTlsCertificate": { + "additionalProperties": false, + "properties": { + "ACM": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsAcmCertificate" + }, + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsFileCertificate" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTlsFileCertificate": { + "additionalProperties": false, + "properties": { + "CertificateChain": { + "type": "string" + }, + "PrivateKey": { + "type": "string" + } + }, + "required": [ + "CertificateChain", + "PrivateKey" + ], + "type": "object" + }, "AWS::AppMesh::VirtualNode.Logging": { "additionalProperties": false, "properties": { @@ -5264,9 +5847,63 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::AppMesh::VirtualNode.TlsValidationContext": { + "additionalProperties": false, + "properties": { + "Trust": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextTrust" + } + }, + "required": [ + "Trust" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.TlsValidationContextAcmTrust": { + "additionalProperties": false, + "properties": { + "CertificateAuthorityArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "CertificateAuthorityArns" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.TlsValidationContextFileTrust": { + "additionalProperties": false, + "properties": { + "CertificateChain": { + "type": "string" + } + }, + "required": [ + "CertificateChain" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.TlsValidationContextTrust": { + "additionalProperties": false, + "properties": { + "ACM": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextAcmTrust" + }, + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextFileTrust" + } + }, + "type": "object" + }, "AWS::AppMesh::VirtualNode.VirtualNodeSpec": { "additionalProperties": false, "properties": { + "BackendDefaults": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.BackendDefaults" + }, "Backends": { "items": { "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Backend" @@ -5291,6 +5928,9 @@ var CloudformationSchema = `{ "AWS::AppMesh::VirtualNode.VirtualServiceBackend": { "additionalProperties": false, "properties": { + "ClientPolicy": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicy" + }, "VirtualServiceName": { "type": "string" } @@ -5335,6 +5975,9 @@ var CloudformationSchema = `{ "MeshName": { "type": "string" }, + "MeshOwner": { + "type": "string" + }, "Spec": { "$ref": "#/definitions/AWS::AppMesh::VirtualRouter.VirtualRouterSpec" }, @@ -5360,6 +6003,14 @@ var CloudformationSchema = `{ "AWS::AppMesh::VirtualRouter" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -5446,6 +6097,9 @@ var CloudformationSchema = `{ "MeshName": { "type": "string" }, + "MeshOwner": { + "type": "string" + }, "Spec": { "$ref": "#/definitions/AWS::AppMesh::VirtualService.VirtualServiceSpec" }, @@ -5471,6 +6125,14 @@ var CloudformationSchema = `{ "AWS::AppMesh::VirtualService" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -5581,6 +6243,14 @@ var CloudformationSchema = `{ "AWS::AppStream::DirectoryConfig" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -5698,6 +6368,14 @@ var CloudformationSchema = `{ "AWS::AppStream::Fleet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -5834,6 +6512,14 @@ var CloudformationSchema = `{ "AWS::AppStream::ImageBuilder" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -5985,6 +6671,14 @@ var CloudformationSchema = `{ "AWS::AppStream::Stack" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -6110,6 +6804,14 @@ var CloudformationSchema = `{ "AWS::AppStream::StackFleetAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -6175,6 +6877,14 @@ var CloudformationSchema = `{ "AWS::AppStream::StackUserAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -6242,6 +6952,14 @@ var CloudformationSchema = `{ "AWS::AppStream::User" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -6314,6 +7032,14 @@ var CloudformationSchema = `{ "AWS::AppSync::ApiCache" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -6374,6 +7100,14 @@ var CloudformationSchema = `{ "AWS::AppSync::ApiKey" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -6457,6 +7191,14 @@ var CloudformationSchema = `{ "AWS::AppSync::DataSource" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -6694,6 +7436,14 @@ var CloudformationSchema = `{ "AWS::AppSync::FunctionConfiguration" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -6770,6 +7520,14 @@ var CloudformationSchema = `{ "AWS::AppSync::GraphQLApi" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -6924,6 +7682,14 @@ var CloudformationSchema = `{ "AWS::AppSync::GraphQLSchema" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -7013,6 +7779,14 @@ var CloudformationSchema = `{ "AWS::AppSync::Resolver" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -7150,6 +7924,14 @@ var CloudformationSchema = `{ "AWS::ApplicationAutoScaling::ScalableTarget" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -7278,6 +8060,14 @@ var CloudformationSchema = `{ "AWS::ApplicationAutoScaling::ScalingPolicy" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -7471,6 +8261,14 @@ var CloudformationSchema = `{ "AWS::Athena::NamedQuery" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -7479,6 +8277,188 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::Athena::WorkGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RecursiveDeleteOption": { + "type": "boolean" + }, + "State": { + "type": "string" + }, + "Tags": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.Tags" + }, + "WorkGroupConfiguration": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.WorkGroupConfiguration" + }, + "WorkGroupConfigurationUpdates": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.WorkGroupConfigurationUpdates" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Athena::WorkGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Athena::WorkGroup.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "EncryptionOption": { + "type": "string" + }, + "KmsKey": { + "type": "string" + } + }, + "required": [ + "EncryptionOption" + ], + "type": "object" + }, + "AWS::Athena::WorkGroup.ResultConfiguration": { + "additionalProperties": false, + "properties": { + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.EncryptionConfiguration" + }, + "OutputLocation": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Athena::WorkGroup.ResultConfigurationUpdates": { + "additionalProperties": false, + "properties": { + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.EncryptionConfiguration" + }, + "OutputLocation": { + "type": "string" + }, + "RemoveEncryptionConfiguration": { + "type": "boolean" + }, + "RemoveOutputLocation": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Athena::WorkGroup.Tags": { + "additionalProperties": false, + "properties": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Athena::WorkGroup.WorkGroupConfiguration": { + "additionalProperties": false, + "properties": { + "BytesScannedCutoffPerQuery": { + "type": "number" + }, + "EnforceWorkGroupConfiguration": { + "type": "boolean" + }, + "PublishCloudWatchMetricsEnabled": { + "type": "boolean" + }, + "RequesterPaysEnabled": { + "type": "boolean" + }, + "ResultConfiguration": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.ResultConfiguration" + } + }, + "type": "object" + }, + "AWS::Athena::WorkGroup.WorkGroupConfigurationUpdates": { + "additionalProperties": false, + "properties": { + "BytesScannedCutoffPerQuery": { + "type": "number" + }, + "EnforceWorkGroupConfiguration": { + "type": "boolean" + }, + "PublishCloudWatchMetricsEnabled": { + "type": "boolean" + }, + "RemoveBytesScannedCutoffPerQuery": { + "type": "boolean" + }, + "RequesterPaysEnabled": { + "type": "boolean" + }, + "ResultConfigurationUpdates": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.ResultConfigurationUpdates" + } + }, + "type": "object" + }, "AWS::AutoScaling::AutoScalingGroup": { "additionalProperties": false, "properties": { @@ -7556,6 +8536,9 @@ var CloudformationSchema = `{ }, "type": "array" }, + "MaxInstanceLifetime": { + "type": "number" + }, "MaxSize": { "type": "string" }, @@ -7622,6 +8605,14 @@ var CloudformationSchema = `{ }, "UpdatePolicy": { "type": "object" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -7911,6 +8902,14 @@ var CloudformationSchema = `{ "AWS::AutoScaling::LaunchConfiguration" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -8032,6 +9031,14 @@ var CloudformationSchema = `{ "AWS::AutoScaling::LifecycleHook" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -8116,6 +9123,14 @@ var CloudformationSchema = `{ "AWS::AutoScaling::ScalingPolicy" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -8287,6 +9302,14 @@ var CloudformationSchema = `{ "AWS::AutoScaling::ScheduledAction" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -8348,6 +9371,14 @@ var CloudformationSchema = `{ "AWS::AutoScalingPlans::ScalingPlan" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -8631,6 +9662,14 @@ var CloudformationSchema = `{ "AWS::Backup::BackupPlan" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -8772,6 +9811,14 @@ var CloudformationSchema = `{ "AWS::Backup::BackupSelection" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -8886,6 +9933,14 @@ var CloudformationSchema = `{ "AWS::Backup::BackupVault" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -8972,6 +10027,14 @@ var CloudformationSchema = `{ "AWS::Batch::ComputeEnvironment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -9130,6 +10193,14 @@ var CloudformationSchema = `{ "AWS::Batch::JobDefinition" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -9206,9 +10277,7 @@ var CloudformationSchema = `{ } }, "required": [ - "Image", - "Memory", - "Vcpus" + "Image" ], "type": "object" }, @@ -9437,6 +10506,14 @@ var CloudformationSchema = `{ "AWS::Batch::JobQueue" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -9513,6 +10590,14 @@ var CloudformationSchema = `{ "AWS::Budgets::Budget" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -9680,7 +10765,7 @@ var CloudformationSchema = `{ }, "type": "object" }, - "AWS::CertificateManager::Certificate": { + "AWS::CE::CostCategory": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -9712,39 +10797,34 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DomainName": { + "Name": { "type": "string" }, - "DomainValidationOptions": { - "items": { - "$ref": "#/definitions/AWS::CertificateManager::Certificate.DomainValidationOption" - }, - "type": "array" - }, - "SubjectAlternativeNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "RuleVersion": { + "type": "string" }, - "ValidationMethod": { + "Rules": { "type": "string" } }, "required": [ - "DomainName" + "Name", + "RuleVersion", + "Rules" ], "type": "object" }, "Type": { "enum": [ - "AWS::CertificateManager::Certificate" + "AWS::CE::CostCategory" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -9755,23 +10835,65 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::CertificateManager::Certificate.DomainValidationOption": { + "AWS::Cassandra::Keyspace": { "additionalProperties": false, "properties": { - "DomainName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ValidationDomain": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "KeyspaceName": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cassandra::Keyspace" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "DomainName", - "ValidationDomain" + "Type" ], "type": "object" }, - "AWS::Cloud9::EnvironmentEC2": { + "AWS::Cassandra::Table": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -9803,45 +10925,51 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AutomaticStopTimeMinutes": { - "type": "number" - }, - "Description": { - "type": "string" - }, - "InstanceType": { - "type": "string" + "BillingMode": { + "$ref": "#/definitions/AWS::Cassandra::Table.BillingMode" }, - "Name": { - "type": "string" + "ClusteringKeyColumns": { + "items": { + "$ref": "#/definitions/AWS::Cassandra::Table.ClusteringKeyColumn" + }, + "type": "array" }, - "OwnerArn": { + "KeyspaceName": { "type": "string" }, - "Repositories": { + "PartitionKeyColumns": { "items": { - "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2.Repository" + "$ref": "#/definitions/AWS::Cassandra::Table.Column" }, "type": "array" }, - "SubnetId": { - "type": "string" - }, - "Tags": { + "RegularColumns": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::Cassandra::Table.Column" }, "type": "array" + }, + "TableName": { + "type": "string" } }, "required": [ - "InstanceType" + "KeyspaceName", + "PartitionKeyColumns" ], "type": "object" }, "Type": { "enum": [ - "AWS::Cloud9::EnvironmentEC2" + "AWS::Cassandra::Table" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -9852,23 +10980,367 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Cloud9::EnvironmentEC2.Repository": { + "AWS::Cassandra::Table.BillingMode": { "additionalProperties": false, "properties": { - "PathComponent": { + "Mode": { "type": "string" }, - "RepositoryUrl": { + "ProvisionedThroughput": { + "$ref": "#/definitions/AWS::Cassandra::Table.ProvisionedThroughput" + } + }, + "required": [ + "Mode" + ], + "type": "object" + }, + "AWS::Cassandra::Table.ClusteringKeyColumn": { + "additionalProperties": false, + "properties": { + "Column": { + "$ref": "#/definitions/AWS::Cassandra::Table.Column" + }, + "OrderBy": { "type": "string" } }, "required": [ - "PathComponent", - "RepositoryUrl" + "Column" ], "type": "object" }, - "AWS::CloudFormation::CustomResource": { + "AWS::Cassandra::Table.Column": { + "additionalProperties": false, + "properties": { + "ColumnName": { + "type": "string" + }, + "ColumnType": { + "type": "string" + } + }, + "required": [ + "ColumnName", + "ColumnType" + ], + "type": "object" + }, + "AWS::Cassandra::Table.ProvisionedThroughput": { + "additionalProperties": false, + "properties": { + "ReadCapacityUnits": { + "type": "number" + }, + "WriteCapacityUnits": { + "type": "number" + } + }, + "required": [ + "ReadCapacityUnits", + "WriteCapacityUnits" + ], + "type": "object" + }, + "AWS::CertificateManager::Certificate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CertificateAuthorityArn": { + "type": "string" + }, + "CertificateTransparencyLoggingPreference": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "DomainValidationOptions": { + "items": { + "$ref": "#/definitions/AWS::CertificateManager::Certificate.DomainValidationOption" + }, + "type": "array" + }, + "SubjectAlternativeNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ValidationMethod": { + "type": "string" + } + }, + "required": [ + "DomainName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CertificateManager::Certificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CertificateManager::Certificate.DomainValidationOption": { + "additionalProperties": false, + "properties": { + "DomainName": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "ValidationDomain": { + "type": "string" + } + }, + "required": [ + "DomainName" + ], + "type": "object" + }, + "AWS::Chatbot::SlackChannelConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConfigurationName": { + "type": "string" + }, + "IamRoleArn": { + "type": "string" + }, + "LoggingLevel": { + "type": "string" + }, + "SlackChannelId": { + "type": "string" + }, + "SlackWorkspaceId": { + "type": "string" + }, + "SnsTopicArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ConfigurationName", + "IamRoleArn", + "SlackChannelId", + "SlackWorkspaceId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Chatbot::SlackChannelConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cloud9::EnvironmentEC2": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutomaticStopTimeMinutes": { + "type": "number" + }, + "ConnectionType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "OwnerArn": { + "type": "string" + }, + "Repositories": { + "items": { + "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2.Repository" + }, + "type": "array" + }, + "SubnetId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "InstanceType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cloud9::EnvironmentEC2" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cloud9::EnvironmentEC2.Repository": { + "additionalProperties": false, + "properties": { + "PathComponent": { + "type": "string" + }, + "RepositoryUrl": { + "type": "string" + } + }, + "required": [ + "PathComponent", + "RepositoryUrl" + ], + "type": "object" + }, + "AWS::CloudFormation::CustomResource": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -9914,6 +11386,14 @@ var CloudformationSchema = `{ "AWS::CloudFormation::CustomResource" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -9981,6 +11461,14 @@ var CloudformationSchema = `{ "AWS::CloudFormation::Macro" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -10059,6 +11547,14 @@ var CloudformationSchema = `{ "AWS::CloudFormation::Stack" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -10119,6 +11615,14 @@ var CloudformationSchema = `{ "AWS::CloudFormation::WaitCondition" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -10165,6 +11669,14 @@ var CloudformationSchema = `{ "AWS::CloudFormation::WaitConditionHandle" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -10218,6 +11730,14 @@ var CloudformationSchema = `{ "AWS::CloudFront::CloudFrontOriginAccessIdentity" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -10290,6 +11810,14 @@ var CloudformationSchema = `{ "AWS::CloudFront::Distribution" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -10537,6 +12065,9 @@ var CloudformationSchema = `{ "Logging": { "$ref": "#/definitions/AWS::CloudFront::Distribution.Logging" }, + "OriginGroups": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroups" + }, "Origins": { "items": { "$ref": "#/definitions/AWS::CloudFront::Distribution.Origin" @@ -10612,6 +12143,9 @@ var CloudformationSchema = `{ "EventType": { "type": "string" }, + "IncludeBody": { + "type": "boolean" + }, "LambdaFunctionARN": { "type": "string" } @@ -10639,6 +12173,12 @@ var CloudformationSchema = `{ "AWS::CloudFront::Distribution.Origin": { "additionalProperties": false, "properties": { + "ConnectionAttempts": { + "type": "number" + }, + "ConnectionTimeout": { + "type": "number" + }, "CustomOriginConfig": { "$ref": "#/definitions/AWS::CloudFront::Distribution.CustomOriginConfig" }, @@ -10683,6 +12223,87 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::CloudFront::Distribution.OriginGroup": { + "additionalProperties": false, + "properties": { + "FailoverCriteria": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupFailoverCriteria" + }, + "Id": { + "type": "string" + }, + "Members": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupMembers" + } + }, + "required": [ + "FailoverCriteria", + "Id", + "Members" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginGroupFailoverCriteria": { + "additionalProperties": false, + "properties": { + "StatusCodes": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.StatusCodes" + } + }, + "required": [ + "StatusCodes" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginGroupMember": { + "additionalProperties": false, + "properties": { + "OriginId": { + "type": "string" + } + }, + "required": [ + "OriginId" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginGroupMembers": { + "additionalProperties": false, + "properties": { + "Items": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupMember" + }, + "type": "array" + }, + "Quantity": { + "type": "number" + } + }, + "required": [ + "Items", + "Quantity" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginGroups": { + "additionalProperties": false, + "properties": { + "Items": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroup" + }, + "type": "array" + }, + "Quantity": { + "type": "number" + } + }, + "required": [ + "Quantity" + ], + "type": "object" + }, "AWS::CloudFront::Distribution.Restrictions": { "additionalProperties": false, "properties": { @@ -10704,6 +12325,25 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::CloudFront::Distribution.StatusCodes": { + "additionalProperties": false, + "properties": { + "Items": { + "items": { + "type": "number" + }, + "type": "array" + }, + "Quantity": { + "type": "number" + } + }, + "required": [ + "Items", + "Quantity" + ], + "type": "object" + }, "AWS::CloudFront::Distribution.ViewerCertificate": { "additionalProperties": false, "properties": { @@ -10778,6 +12418,14 @@ var CloudformationSchema = `{ "AWS::CloudFront::StreamingDistribution" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -10965,6 +12613,14 @@ var CloudformationSchema = `{ "AWS::CloudTrail::Trail" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -11131,6 +12787,14 @@ var CloudformationSchema = `{ "AWS::CloudWatch::Alarm" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -11188,6 +12852,9 @@ var CloudformationSchema = `{ "MetricStat": { "$ref": "#/definitions/AWS::CloudWatch::Alarm.MetricStat" }, + "Period": { + "type": "number" + }, "ReturnData": { "type": "boolean" } @@ -11283,6 +12950,14 @@ var CloudformationSchema = `{ "AWS::CloudWatch::AnomalyDetector" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -11338,6 +13013,96 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::CloudWatch::CompositeAlarm": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ActionsEnabled": { + "type": "boolean" + }, + "AlarmActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AlarmDescription": { + "type": "string" + }, + "AlarmName": { + "type": "string" + }, + "AlarmRule": { + "type": "string" + }, + "InsufficientDataActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OKActions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "AlarmName", + "AlarmRule" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudWatch::CompositeAlarm" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::CloudWatch::Dashboard": { "additionalProperties": false, "properties": { @@ -11387,6 +13152,14 @@ var CloudformationSchema = `{ "AWS::CloudWatch::Dashboard" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -11435,6 +13208,9 @@ var CloudformationSchema = `{ }, "RuleState": { "type": "string" + }, + "Tags": { + "$ref": "#/definitions/AWS::CloudWatch::InsightRule.Tags" } }, "required": [ @@ -11449,6 +13225,14 @@ var CloudformationSchema = `{ "AWS::CloudWatch::InsightRule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -11457,6 +13241,11 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::CloudWatch::InsightRule.Tags": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::CodeBuild::Project": { "additionalProperties": false, "properties": { @@ -11578,6 +13367,14 @@ var CloudformationSchema = `{ "AWS::CodeBuild::Project" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -11967,6 +13764,12 @@ var CloudformationSchema = `{ "Name": { "type": "string" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "Type": { "type": "string" } @@ -11982,6 +13785,14 @@ var CloudformationSchema = `{ "AWS::CodeBuild::ReportGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -12086,6 +13897,14 @@ var CloudformationSchema = `{ "AWS::CodeBuild::SourceCredential" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -12158,6 +13977,14 @@ var CloudformationSchema = `{ "AWS::CodeCommit::Repository" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -12275,6 +14102,14 @@ var CloudformationSchema = `{ "AWS::CodeDeploy::Application" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -12328,6 +14163,14 @@ var CloudformationSchema = `{ "AWS::CodeDeploy::DeploymentConfig" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -12452,6 +14295,14 @@ var CloudformationSchema = `{ "AWS::CodeDeploy::DeploymentGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -12720,6 +14571,71 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::CodeGuruProfiler::ProfilingGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AgentPermissions": { + "type": "object" + }, + "ProfilingGroupName": { + "type": "string" + } + }, + "required": [ + "ProfilingGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeGuruProfiler::ProfilingGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::CodePipeline::CustomActionType": { "additionalProperties": false, "properties": { @@ -12797,6 +14713,14 @@ var CloudformationSchema = `{ "AWS::CodePipeline::CustomActionType" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -12952,6 +14876,14 @@ var CloudformationSchema = `{ "AWS::CodePipeline::Pipeline" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -13234,6 +15166,14 @@ var CloudformationSchema = `{ "AWS::CodePipeline::Webhook" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -13335,6 +15275,14 @@ var CloudformationSchema = `{ "AWS::CodeStar::GitHubRepository" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -13374,6 +15322,78 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::CodeStarConnections::Connection": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConnectionName": { + "type": "string" + }, + "ProviderType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ConnectionName", + "ProviderType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeStarConnections::Connection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::CodeStarNotifications::NotificationRule": { "additionalProperties": false, "properties": { @@ -13448,6 +15468,14 @@ var CloudformationSchema = `{ "AWS::CodeStarNotifications::NotificationRule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -13553,6 +15581,14 @@ var CloudformationSchema = `{ "AWS::Cognito::IdentityPool" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -13658,6 +15694,14 @@ var CloudformationSchema = `{ "AWS::Cognito::IdentityPoolRoleAttachment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -13847,6 +15891,14 @@ var CloudformationSchema = `{ "AWS::Cognito::UserPool" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -14230,6 +16282,14 @@ var CloudformationSchema = `{ "AWS::Cognito::UserPoolClient" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -14309,6 +16369,14 @@ var CloudformationSchema = `{ "AWS::Cognito::UserPoolDomain" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -14384,6 +16452,14 @@ var CloudformationSchema = `{ "AWS::Cognito::UserPoolGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -14458,6 +16534,14 @@ var CloudformationSchema = `{ "AWS::Cognito::UserPoolIdentityProvider" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -14526,6 +16610,14 @@ var CloudformationSchema = `{ "AWS::Cognito::UserPoolResourceServer" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -14609,6 +16701,14 @@ var CloudformationSchema = `{ "AWS::Cognito::UserPoolRiskConfigurationAttachment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -14809,6 +16909,14 @@ var CloudformationSchema = `{ "AWS::Cognito::UserPoolUICustomizationAttachment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -14893,6 +17001,14 @@ var CloudformationSchema = `{ "AWS::Cognito::UserPoolUser" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -14967,6 +17083,14 @@ var CloudformationSchema = `{ "AWS::Cognito::UserPoolUserToGroupAttachment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -15031,6 +17155,14 @@ var CloudformationSchema = `{ "AWS::Config::AggregationAuthorization" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -15100,6 +17232,14 @@ var CloudformationSchema = `{ "AWS::Config::ConfigRule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -15231,6 +17371,14 @@ var CloudformationSchema = `{ "AWS::Config::ConfigurationAggregator" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -15336,6 +17484,14 @@ var CloudformationSchema = `{ "AWS::Config::ConfigurationRecorder" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -15427,6 +17583,14 @@ var CloudformationSchema = `{ "AWS::Config::ConformancePack" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -15509,6 +17673,14 @@ var CloudformationSchema = `{ "AWS::Config::DeliveryChannel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -15584,6 +17756,14 @@ var CloudformationSchema = `{ "AWS::Config::OrganizationConfigRule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -15742,6 +17922,14 @@ var CloudformationSchema = `{ "AWS::Config::OrganizationConformancePack" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -15841,6 +18029,14 @@ var CloudformationSchema = `{ "AWS::Config::RemediationConfiguration" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -15993,6 +18189,14 @@ var CloudformationSchema = `{ "AWS::DAX::Cluster" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -16059,6 +18263,14 @@ var CloudformationSchema = `{ "AWS::DAX::ParameterGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -16121,6 +18333,14 @@ var CloudformationSchema = `{ "AWS::DAX::SubnetGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -16181,6 +18401,14 @@ var CloudformationSchema = `{ "AWS::DLM::LifecyclePolicy" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -16191,6 +18419,9 @@ var CloudformationSchema = `{ "AWS::DLM::LifecyclePolicy.CreateRule": { "additionalProperties": false, "properties": { + "CronExpression": { + "type": "string" + }, "Interval": { "type": "number" }, @@ -16204,10 +18435,6 @@ var CloudformationSchema = `{ "type": "array" } }, - "required": [ - "Interval", - "IntervalUnit" - ], "type": "object" }, "AWS::DLM::LifecyclePolicy.CrossRegionCopyRetainRule": { @@ -16220,6 +18447,10 @@ var CloudformationSchema = `{ "type": "string" } }, + "required": [ + "Interval", + "IntervalUnit" + ], "type": "object" }, "AWS::DLM::LifecyclePolicy.CrossRegionCopyRule": { @@ -16241,6 +18472,10 @@ var CloudformationSchema = `{ "type": "string" } }, + "required": [ + "Encrypted", + "TargetRegion" + ], "type": "object" }, "AWS::DLM::LifecyclePolicy.FastRestoreRule": { @@ -16411,6 +18646,14 @@ var CloudformationSchema = `{ "AWS::DMS::Certificate" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -16474,6 +18717,9 @@ var CloudformationSchema = `{ "ExtraConnectionAttributes": { "type": "string" }, + "KafkaSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.KafkaSettings" + }, "KinesisSettings": { "$ref": "#/definitions/AWS::DMS::Endpoint.KinesisSettings" }, @@ -16483,6 +18729,9 @@ var CloudformationSchema = `{ "MongoDbSettings": { "$ref": "#/definitions/AWS::DMS::Endpoint.MongoDbSettings" }, + "NeptuneSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.NeptuneSettings" + }, "Password": { "type": "string" }, @@ -16519,6 +18768,14 @@ var CloudformationSchema = `{ "AWS::DMS::Endpoint" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -16554,6 +18811,18 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::DMS::Endpoint.KafkaSettings": { + "additionalProperties": false, + "properties": { + "Broker": { + "type": "string" + }, + "Topic": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DMS::Endpoint.KinesisSettings": { "additionalProperties": false, "properties": { @@ -16608,6 +18877,33 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::DMS::Endpoint.NeptuneSettings": { + "additionalProperties": false, + "properties": { + "ErrorRetryDuration": { + "type": "number" + }, + "IamAuthEnabled": { + "type": "boolean" + }, + "MaxFileSize": { + "type": "number" + }, + "MaxRetryCount": { + "type": "number" + }, + "S3BucketFolder": { + "type": "string" + }, + "S3BucketName": { + "type": "string" + }, + "ServiceAccessRoleArn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DMS::Endpoint.S3Settings": { "additionalProperties": false, "properties": { @@ -16708,6 +19004,14 @@ var CloudformationSchema = `{ "AWS::DMS::EventSubscription" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -16807,6 +19111,14 @@ var CloudformationSchema = `{ "AWS::DMS::ReplicationInstance" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -16877,6 +19189,14 @@ var CloudformationSchema = `{ "AWS::DMS::ReplicationSubnetGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -16952,6 +19272,9 @@ var CloudformationSchema = `{ }, "TargetEndpointArn": { "type": "string" + }, + "TaskData": { + "type": "string" } }, "required": [ @@ -16968,6 +19291,14 @@ var CloudformationSchema = `{ "AWS::DMS::ReplicationTask" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -17053,6 +19384,14 @@ var CloudformationSchema = `{ "AWS::DataPipeline::Pipeline" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -17169,7 +19508,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::DirectoryService::MicrosoftAD": { + "AWS::Detective::Graph": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -17200,69 +19539,204 @@ var CloudformationSchema = `{ }, "Properties": { "additionalProperties": false, - "properties": { - "CreateAlias": { - "type": "boolean" - }, - "Edition": { + "properties": {}, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Detective::Graph" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Detective::MemberInvitation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, - "EnableSso": { - "type": "boolean" - }, - "Name": { + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GraphArn": { "type": "string" }, - "Password": { + "MemberEmailAddress": { "type": "string" }, - "ShortName": { + "MemberId": { "type": "string" }, - "VpcSettings": { - "$ref": "#/definitions/AWS::DirectoryService::MicrosoftAD.VpcSettings" + "Message": { + "type": "string" } }, "required": [ - "Name", - "Password", - "VpcSettings" + "GraphArn", + "MemberEmailAddress", + "MemberId" ], "type": "object" }, "Type": { "enum": [ - "AWS::DirectoryService::MicrosoftAD" + "AWS::Detective::MemberInvitation" ], "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DirectoryService::MicrosoftAD.VpcSettings": { - "additionalProperties": false, - "properties": { - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" }, - "VpcId": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "SubnetIds", - "VpcId" + "Type", + "Properties" ], "type": "object" }, - "AWS::DirectoryService::SimpleAD": { + "AWS::DirectoryService::MicrosoftAD": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CreateAlias": { + "type": "boolean" + }, + "Edition": { + "type": "string" + }, + "EnableSso": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Password": { + "type": "string" + }, + "ShortName": { + "type": "string" + }, + "VpcSettings": { + "$ref": "#/definitions/AWS::DirectoryService::MicrosoftAD.VpcSettings" + } + }, + "required": [ + "Name", + "Password", + "VpcSettings" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DirectoryService::MicrosoftAD" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DirectoryService::MicrosoftAD.VpcSettings": { + "additionalProperties": false, + "properties": { + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "SubnetIds", + "VpcId" + ], + "type": "object" + }, + "AWS::DirectoryService::SimpleAD": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -17332,6 +19806,14 @@ var CloudformationSchema = `{ "AWS::DirectoryService::SimpleAD" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -17409,6 +19891,9 @@ var CloudformationSchema = `{ "DBSubnetGroupName": { "type": "string" }, + "DeletionProtection": { + "type": "boolean" + }, "EnableCloudwatchLogsExports": { "items": { "type": "string" @@ -17466,6 +19951,14 @@ var CloudformationSchema = `{ "AWS::DocDB::DBCluster" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -17537,6 +20030,14 @@ var CloudformationSchema = `{ "AWS::DocDB::DBClusterParameterGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -17613,6 +20114,14 @@ var CloudformationSchema = `{ "AWS::DocDB::DBInstance" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -17683,6 +20192,14 @@ var CloudformationSchema = `{ "AWS::DocDB::DBSubnetGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -17785,6 +20302,14 @@ var CloudformationSchema = `{ "AWS::DynamoDB::Table" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -18042,6 +20567,14 @@ var CloudformationSchema = `{ "AWS::EC2::CapacityReservation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -18124,6 +20657,14 @@ var CloudformationSchema = `{ "AWS::EC2::ClientVpnAuthorizationRule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -18185,6 +20726,12 @@ var CloudformationSchema = `{ }, "type": "array" }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, "ServerCertificateArn": { "type": "string" }, @@ -18200,6 +20747,9 @@ var CloudformationSchema = `{ "TransportProtocol": { "type": "string" }, + "VpcId": { + "type": "string" + }, "VpnPort": { "type": "number" } @@ -18217,6 +20767,14 @@ var CloudformationSchema = `{ "AWS::EC2::ClientVpnEndpoint" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -18243,6 +20801,9 @@ var CloudformationSchema = `{ "ActiveDirectory": { "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest" }, + "FederatedAuthentication": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest" + }, "MutualAuthentication": { "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest" }, @@ -18285,6 +20846,18 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest": { + "additionalProperties": false, + "properties": { + "SAMLProviderArn": { + "type": "string" + } + }, + "required": [ + "SAMLProviderArn" + ], + "type": "object" + }, "AWS::EC2::ClientVpnEndpoint.TagSpecification": { "additionalProperties": false, "properties": { @@ -18361,6 +20934,14 @@ var CloudformationSchema = `{ "AWS::EC2::ClientVpnRoute" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -18419,74 +21000,14 @@ var CloudformationSchema = `{ "AWS::EC2::ClientVpnTargetNetworkAssociation" ], "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::CustomerGateway": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { + }, + "UpdateReplacePolicy": { "enum": [ "Delete", "Retain", "Snapshot" ], "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BgpAsn": { - "type": "number" - }, - "IpAddress": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "BgpAsn", - "IpAddress", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::CustomerGateway" - ], - "type": "string" } }, "required": [ @@ -18495,7 +21016,83 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EC2::DHCPOptions": { + "AWS::EC2::CustomerGateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BgpAsn": { + "type": "number" + }, + "IpAddress": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "BgpAsn", + "IpAddress", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::CustomerGateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::DHCPOptions": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -18565,6 +21162,14 @@ var CloudformationSchema = `{ "AWS::EC2::DHCPOptions" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -18655,6 +21260,14 @@ var CloudformationSchema = `{ "AWS::EC2::EC2Fleet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -18663,6 +21276,15 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::EC2::EC2Fleet.CapacityReservationOptionsRequest": { + "additionalProperties": false, + "properties": { + "UsageStrategy": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EC2::EC2Fleet.FleetLaunchTemplateConfigRequest": { "additionalProperties": false, "properties": { @@ -18690,6 +21312,9 @@ var CloudformationSchema = `{ "MaxPrice": { "type": "string" }, + "Placement": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.Placement" + }, "Priority": { "type": "number" }, @@ -18722,33 +21347,78 @@ var CloudformationSchema = `{ "properties": { "AllocationStrategy": { "type": "string" + }, + "CapacityReservationOptions": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.CapacityReservationOptionsRequest" + }, + "MaxTotalPrice": { + "type": "string" + }, + "MinTargetCapacity": { + "type": "number" + }, + "SingleAvailabilityZone": { + "type": "boolean" + }, + "SingleInstanceType": { + "type": "boolean" } }, "type": "object" }, - "AWS::EC2::EC2Fleet.SpotOptionsRequest": { + "AWS::EC2::EC2Fleet.Placement": { "additionalProperties": false, "properties": { - "AllocationStrategy": { + "Affinity": { "type": "string" }, - "InstanceInterruptionBehavior": { + "AvailabilityZone": { "type": "string" }, - "InstancePoolsToUseCount": { + "GroupName": { + "type": "string" + }, + "HostId": { + "type": "string" + }, + "HostResourceGroupArn": { + "type": "string" + }, + "PartitionNumber": { "type": "number" + }, + "SpreadDomain": { + "type": "string" + }, + "Tenancy": { + "type": "string" } }, "type": "object" }, - "AWS::EC2::EC2Fleet.TagRequest": { + "AWS::EC2::EC2Fleet.SpotOptionsRequest": { "additionalProperties": false, "properties": { - "Key": { + "AllocationStrategy": { "type": "string" }, - "Value": { + "InstanceInterruptionBehavior": { "type": "string" + }, + "InstancePoolsToUseCount": { + "type": "number" + }, + "MaxTotalPrice": { + "type": "string" + }, + "MinTargetCapacity": { + "type": "number" + }, + "SingleAvailabilityZone": { + "type": "boolean" + }, + "SingleInstanceType": { + "type": "boolean" } }, "type": "object" @@ -18761,7 +21431,7 @@ var CloudformationSchema = `{ }, "Tags": { "items": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.TagRequest" + "$ref": "#/definitions/Tag" }, "type": "array" } @@ -18844,6 +21514,14 @@ var CloudformationSchema = `{ "AWS::EC2::EIP" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -18906,6 +21584,14 @@ var CloudformationSchema = `{ "AWS::EC2::EIPAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -18959,6 +21645,14 @@ var CloudformationSchema = `{ "AWS::EC2::EgressOnlyInternetGateway" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -19033,6 +21727,14 @@ var CloudformationSchema = `{ "AWS::EC2::FlowLog" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -19091,6 +21793,14 @@ var CloudformationSchema = `{ "AWS::EC2::GatewayRouteTableAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -19155,6 +21865,14 @@ var CloudformationSchema = `{ "AWS::EC2::Host" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -19350,6 +22068,14 @@ var CloudformationSchema = `{ "AWS::EC2::Instance" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -19678,6 +22404,14 @@ var CloudformationSchema = `{ "AWS::EC2::InternetGateway" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -19731,6 +22465,14 @@ var CloudformationSchema = `{ "AWS::EC2::LaunchTemplate" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -19756,16 +22498,11 @@ var CloudformationSchema = `{ }, "type": "object" }, - "AWS::EC2::LaunchTemplate.CapacityReservationPreference": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::EC2::LaunchTemplate.CapacityReservationSpecification": { "additionalProperties": false, "properties": { "CapacityReservationPreference": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationPreference" + "type": "string" }, "CapacityReservationTarget": { "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationTarget" @@ -20220,6 +22957,14 @@ var CloudformationSchema = `{ "AWS::EC2::LocalGatewayRoute" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -20281,6 +23026,14 @@ var CloudformationSchema = `{ "AWS::EC2::LocalGatewayRouteTableVPCAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -20357,6 +23110,14 @@ var CloudformationSchema = `{ "AWS::EC2::NatGateway" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -20417,6 +23178,14 @@ var CloudformationSchema = `{ "AWS::EC2::NetworkAcl" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -20498,6 +23267,14 @@ var CloudformationSchema = `{ "AWS::EC2::NetworkAclEntry" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -20615,6 +23392,14 @@ var CloudformationSchema = `{ "AWS::EC2::NetworkInterface" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -20708,6 +23493,14 @@ var CloudformationSchema = `{ "AWS::EC2::NetworkInterfaceAttachment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -20770,6 +23563,14 @@ var CloudformationSchema = `{ "AWS::EC2::NetworkInterfacePermission" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -20821,6 +23622,14 @@ var CloudformationSchema = `{ "AWS::EC2::PlacementGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -20901,6 +23710,14 @@ var CloudformationSchema = `{ "AWS::EC2::Route" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -20961,6 +23778,14 @@ var CloudformationSchema = `{ "AWS::EC2::RouteTable" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -21039,6 +23864,14 @@ var CloudformationSchema = `{ "AWS::EC2::SecurityGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -21190,6 +24023,14 @@ var CloudformationSchema = `{ "AWS::EC2::SecurityGroupEgress" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -21277,6 +24118,14 @@ var CloudformationSchema = `{ "AWS::EC2::SecurityGroupIngress" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -21331,6 +24180,14 @@ var CloudformationSchema = `{ "AWS::EC2::SpotFleet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -21838,6 +24695,14 @@ var CloudformationSchema = `{ "AWS::EC2::Subnet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -21896,6 +24761,14 @@ var CloudformationSchema = `{ "AWS::EC2::SubnetCidrBlock" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -21954,6 +24827,14 @@ var CloudformationSchema = `{ "AWS::EC2::SubnetNetworkAclAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22012,6 +24893,14 @@ var CloudformationSchema = `{ "AWS::EC2::SubnetRouteTableAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22075,6 +24964,14 @@ var CloudformationSchema = `{ "AWS::EC2::TrafficMirrorFilter" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22160,6 +25057,14 @@ var CloudformationSchema = `{ "AWS::EC2::TrafficMirrorFilterRule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22257,6 +25162,14 @@ var CloudformationSchema = `{ "AWS::EC2::TrafficMirrorSession" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22320,6 +25233,14 @@ var CloudformationSchema = `{ "AWS::EC2::TrafficMirrorTarget" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22394,6 +25315,14 @@ var CloudformationSchema = `{ "AWS::EC2::TransitGateway" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22464,6 +25393,14 @@ var CloudformationSchema = `{ "AWS::EC2::TransitGatewayAttachment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22527,6 +25464,14 @@ var CloudformationSchema = `{ "AWS::EC2::TransitGatewayRoute" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22587,6 +25532,14 @@ var CloudformationSchema = `{ "AWS::EC2::TransitGatewayRouteTable" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22645,6 +25598,14 @@ var CloudformationSchema = `{ "AWS::EC2::TransitGatewayRouteTableAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22703,6 +25664,14 @@ var CloudformationSchema = `{ "AWS::EC2::TransitGatewayRouteTablePropagation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22772,6 +25741,14 @@ var CloudformationSchema = `{ "AWS::EC2::VPC" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22832,6 +25809,14 @@ var CloudformationSchema = `{ "AWS::EC2::VPCCidrBlock" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22890,6 +25875,14 @@ var CloudformationSchema = `{ "AWS::EC2::VPCDHCPOptionsAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22975,6 +25968,14 @@ var CloudformationSchema = `{ "AWS::EC2::VPCEndpoint" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23042,6 +26043,14 @@ var CloudformationSchema = `{ "AWS::EC2::VPCEndpointConnectionNotification" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23102,6 +26111,14 @@ var CloudformationSchema = `{ "AWS::EC2::VPCEndpointService" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23162,6 +26179,14 @@ var CloudformationSchema = `{ "AWS::EC2::VPCEndpointServicePermissions" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23222,6 +26247,14 @@ var CloudformationSchema = `{ "AWS::EC2::VPCGatewayAttachment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23295,6 +26328,14 @@ var CloudformationSchema = `{ "AWS::EC2::VPCPeeringConnection" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23374,6 +26415,14 @@ var CloudformationSchema = `{ "AWS::EC2::VPNConnection" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23444,6 +26493,14 @@ var CloudformationSchema = `{ "AWS::EC2::VPNConnectionRoute" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23507,6 +26564,14 @@ var CloudformationSchema = `{ "AWS::EC2::VPNGateway" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23568,6 +26633,14 @@ var CloudformationSchema = `{ "AWS::EC2::VPNGatewayRoutePropagation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23623,6 +26696,12 @@ var CloudformationSchema = `{ "KmsKeyId": { "type": "string" }, + "MultiAttachEnabled": { + "type": "boolean" + }, + "OutpostArn": { + "type": "string" + }, "Size": { "type": "number" }, @@ -23649,6 +26728,14 @@ var CloudformationSchema = `{ "AWS::EC2::Volume" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23711,6 +26798,14 @@ var CloudformationSchema = `{ "AWS::EC2::VolumeAttachment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23774,6 +26869,14 @@ var CloudformationSchema = `{ "AWS::ECR::Repository" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23793,6 +26896,113 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::ECS::CapacityProvider": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoScalingGroupProvider": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.AutoScalingGroupProvider" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AutoScalingGroupProvider" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::CapacityProvider" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ECS::CapacityProvider.AutoScalingGroupProvider": { + "additionalProperties": false, + "properties": { + "AutoScalingGroupArn": { + "type": "string" + }, + "ManagedScaling": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedScaling" + }, + "ManagedTerminationProtection": { + "type": "string" + } + }, + "required": [ + "AutoScalingGroupArn" + ], + "type": "object" + }, + "AWS::ECS::CapacityProvider.ManagedScaling": { + "additionalProperties": false, + "properties": { + "MaximumScalingStepSize": { + "type": "number" + }, + "MinimumScalingStepSize": { + "type": "number" + }, + "Status": { + "type": "string" + }, + "TargetCapacity": { + "type": "number" + } + }, + "type": "object" + }, "AWS::ECS::Cluster": { "additionalProperties": false, "properties": { @@ -23825,12 +27035,24 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "CapacityProviders": { + "items": { + "type": "string" + }, + "type": "array" + }, "ClusterName": { "type": "string" }, "ClusterSettings": { "items": { - "$ref": "#/definitions/AWS::ECS::Cluster.ClusterSetting" + "$ref": "#/definitions/AWS::ECS::Cluster.ClusterSettings" + }, + "type": "array" + }, + "DefaultCapacityProviderStrategy": { + "items": { + "$ref": "#/definitions/AWS::ECS::Cluster.CapacityProviderStrategyItem" }, "type": "array" }, @@ -23848,6 +27070,14 @@ var CloudformationSchema = `{ "AWS::ECS::Cluster" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23855,7 +27085,22 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ECS::Cluster.ClusterSetting": { + "AWS::ECS::Cluster.CapacityProviderStrategyItem": { + "additionalProperties": false, + "properties": { + "Base": { + "type": "number" + }, + "CapacityProvider": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster.ClusterSettings": { "additionalProperties": false, "properties": { "Name": { @@ -23865,10 +27110,6 @@ var CloudformationSchema = `{ "type": "string" } }, - "required": [ - "Name", - "Value" - ], "type": "object" }, "AWS::ECS::PrimaryTaskSet": { @@ -23925,6 +27166,14 @@ var CloudformationSchema = `{ "AWS::ECS::PrimaryTaskSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -24045,6 +27294,14 @@ var CloudformationSchema = `{ "AWS::ECS::Service" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -24278,6 +27535,14 @@ var CloudformationSchema = `{ "AWS::ECS::TaskDefinition" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -24608,9 +27873,6 @@ var CloudformationSchema = `{ "DeviceName": { "type": "string" }, - "DevicePolicy": { - "type": "string" - }, "DeviceType": { "type": "string" } @@ -24979,6 +28241,14 @@ var CloudformationSchema = `{ "AWS::ECS::TaskSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -25068,7 +28338,7 @@ var CloudformationSchema = `{ }, "type": "object" }, - "AWS::EFS::FileSystem": { + "AWS::EFS::AccessPoint": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -25100,49 +28370,52 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Encrypted": { - "type": "boolean" - }, - "FileSystemTags": { + "AccessPointTags": { "items": { - "$ref": "#/definitions/AWS::EFS::FileSystem.ElasticFileSystemTag" + "$ref": "#/definitions/AWS::EFS::AccessPoint.AccessPointTag" }, "type": "array" }, - "KmsKeyId": { + "ClientToken": { "type": "string" }, - "LifecyclePolicies": { - "items": { - "$ref": "#/definitions/AWS::EFS::FileSystem.LifecyclePolicy" - }, - "type": "array" - }, - "PerformanceMode": { + "FileSystemId": { "type": "string" }, - "ProvisionedThroughputInMibps": { - "type": "number" + "PosixUser": { + "$ref": "#/definitions/AWS::EFS::AccessPoint.PosixUser" }, - "ThroughputMode": { - "type": "string" + "RootDirectory": { + "$ref": "#/definitions/AWS::EFS::AccessPoint.RootDirectory" } }, + "required": [ + "FileSystemId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EFS::FileSystem" + "AWS::EFS::AccessPoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EFS::FileSystem.ElasticFileSystemTag": { + "AWS::EFS::AccessPoint.AccessPointTag": { "additionalProperties": false, "properties": { "Key": { @@ -25152,93 +28425,63 @@ var CloudformationSchema = `{ "type": "string" } }, - "required": [ - "Key", - "Value" - ], "type": "object" }, - "AWS::EFS::FileSystem.LifecyclePolicy": { + "AWS::EFS::AccessPoint.CreationInfo": { "additionalProperties": false, "properties": { - "TransitionToIA": { + "OwnerGid": { + "type": "string" + }, + "OwnerUid": { + "type": "string" + }, + "Permissions": { "type": "string" } }, "required": [ - "TransitionToIA" + "OwnerGid", + "OwnerUid", + "Permissions" ], "type": "object" }, - "AWS::EFS::MountTarget": { + "AWS::EFS::AccessPoint.PosixUser": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Gid": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FileSystemId": { - "type": "string" - }, - "IpAddress": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetId": { - "type": "string" - } + "SecondaryGids": { + "items": { + "type": "string" }, - "required": [ - "FileSystemId", - "SecurityGroups", - "SubnetId" - ], - "type": "object" + "type": "array" }, - "Type": { - "enum": [ - "AWS::EFS::MountTarget" - ], + "Uid": { "type": "string" } }, "required": [ - "Type", - "Properties" + "Gid", + "Uid" ], "type": "object" }, - "AWS::EKS::Cluster": { + "AWS::EFS::AccessPoint.RootDirectory": { + "additionalProperties": false, + "properties": { + "CreationInfo": { + "$ref": "#/definitions/AWS::EFS::AccessPoint.CreationInfo" + }, + "Path": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EFS::FileSystem": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -25270,6 +28513,201 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "Encrypted": { + "type": "boolean" + }, + "FileSystemPolicy": { + "type": "object" + }, + "FileSystemTags": { + "items": { + "$ref": "#/definitions/AWS::EFS::FileSystem.ElasticFileSystemTag" + }, + "type": "array" + }, + "KmsKeyId": { + "type": "string" + }, + "LifecyclePolicies": { + "items": { + "$ref": "#/definitions/AWS::EFS::FileSystem.LifecyclePolicy" + }, + "type": "array" + }, + "PerformanceMode": { + "type": "string" + }, + "ProvisionedThroughputInMibps": { + "type": "number" + }, + "ThroughputMode": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EFS::FileSystem" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EFS::FileSystem.ElasticFileSystemTag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::EFS::FileSystem.LifecyclePolicy": { + "additionalProperties": false, + "properties": { + "TransitionToIA": { + "type": "string" + } + }, + "required": [ + "TransitionToIA" + ], + "type": "object" + }, + "AWS::EFS::MountTarget": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "type": "string" + }, + "IpAddress": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "FileSystemId", + "SecurityGroups", + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EFS::MountTarget" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EKS::Cluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EncryptionConfig": { + "items": { + "$ref": "#/definitions/AWS::EKS::Cluster.EncryptionConfig" + }, + "type": "array" + }, "Name": { "type": "string" }, @@ -25294,6 +28732,14 @@ var CloudformationSchema = `{ "AWS::EKS::Cluster" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -25302,6 +28748,30 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::EKS::Cluster.EncryptionConfig": { + "additionalProperties": false, + "properties": { + "Provider": { + "$ref": "#/definitions/AWS::EKS::Cluster.Provider" + }, + "Resources": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EKS::Cluster.Provider": { + "additionalProperties": false, + "properties": { + "KeyArn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EKS::Cluster.ResourcesVpcConfig": { "additionalProperties": false, "properties": { @@ -25416,6 +28886,14 @@ var CloudformationSchema = `{ "AWS::EKS::Nodegroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -25575,6 +29053,14 @@ var CloudformationSchema = `{ "AWS::EMR::Cluster" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -26226,6 +29712,14 @@ var CloudformationSchema = `{ "AWS::EMR::InstanceFleetConfig" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -26447,6 +29941,14 @@ var CloudformationSchema = `{ "AWS::EMR::InstanceGroupConfig" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -26738,6 +30240,14 @@ var CloudformationSchema = `{ "AWS::EMR::SecurityConfiguration" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -26804,6 +30314,14 @@ var CloudformationSchema = `{ "AWS::EMR::Step" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -26974,6 +30492,14 @@ var CloudformationSchema = `{ "AWS::ElastiCache::CacheCluster" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -27041,6 +30567,14 @@ var CloudformationSchema = `{ "AWS::ElastiCache::ParameterGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -27117,6 +30651,9 @@ var CloudformationSchema = `{ "KmsKeyId": { "type": "string" }, + "MultiAZEnabled": { + "type": "boolean" + }, "NodeGroupConfiguration": { "items": { "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration" @@ -27200,6 +30737,14 @@ var CloudformationSchema = `{ "AWS::ElastiCache::ReplicationGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -27278,6 +30823,14 @@ var CloudformationSchema = `{ "AWS::ElastiCache::SecurityGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -27339,6 +30892,14 @@ var CloudformationSchema = `{ "AWS::ElastiCache::SecurityGroupIngress" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -27403,6 +30964,14 @@ var CloudformationSchema = `{ "AWS::ElastiCache::SubnetGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -27460,6 +31029,14 @@ var CloudformationSchema = `{ "AWS::ElasticBeanstalk::Application" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -27574,6 +31151,14 @@ var CloudformationSchema = `{ "AWS::ElasticBeanstalk::ApplicationVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -27665,6 +31250,14 @@ var CloudformationSchema = `{ "AWS::ElasticBeanstalk::ConfigurationTemplate" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -27793,6 +31386,14 @@ var CloudformationSchema = `{ "AWS::ElasticBeanstalk::Environment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -27956,6 +31557,14 @@ var CloudformationSchema = `{ "AWS::ElasticLoadBalancing::LoadBalancer" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -28206,6 +31815,14 @@ var CloudformationSchema = `{ "AWS::ElasticLoadBalancingV2::Listener" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -28487,6 +32104,14 @@ var CloudformationSchema = `{ "AWS::ElasticLoadBalancingV2::ListenerCertificate" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -28568,6 +32193,14 @@ var CloudformationSchema = `{ "AWS::ElasticLoadBalancingV2::ListenerRule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -28989,6 +32622,14 @@ var CloudformationSchema = `{ "AWS::ElasticLoadBalancingV2::LoadBalancer" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -29014,12 +32655,14 @@ var CloudformationSchema = `{ "AllocationId": { "type": "string" }, + "PrivateIPv4Address": { + "type": "string" + }, "SubnetId": { "type": "string" } }, "required": [ - "AllocationId", "SubnetId" ], "type": "object" @@ -29124,6 +32767,14 @@ var CloudformationSchema = `{ "AWS::ElasticLoadBalancingV2::TargetGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -29267,6 +32918,14 @@ var CloudformationSchema = `{ "AWS::Elasticsearch::Domain" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -29461,6 +33120,14 @@ var CloudformationSchema = `{ "AWS::EventSchemas::Discoverer" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -29537,6 +33204,14 @@ var CloudformationSchema = `{ "AWS::EventSchemas::Registry" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -29560,6 +33235,75 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::EventSchemas::RegistryPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Policy": { + "type": "object" + }, + "RegistryName": { + "type": "string" + }, + "RevisionId": { + "type": "string" + } + }, + "required": [ + "Policy", + "RegistryName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EventSchemas::RegistryPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::EventSchemas::Schema": { "additionalProperties": false, "properties": { @@ -29626,6 +33370,14 @@ var CloudformationSchema = `{ "AWS::EventSchemas::Schema" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -29699,6 +33451,14 @@ var CloudformationSchema = `{ "AWS::Events::EventBus" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -29767,6 +33527,14 @@ var CloudformationSchema = `{ "AWS::Events::EventBusPolicy" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -29857,6 +33625,14 @@ var CloudformationSchema = `{ "AWS::Events::Rule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -29955,6 +33731,36 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::Events::Rule.HttpParameters": { + "additionalProperties": false, + "properties": { + "HeaderParameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "PathParameterValues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "QueryStringParameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, "AWS::Events::Rule.InputTransformer": { "additionalProperties": false, "properties": { @@ -30055,6 +33861,9 @@ var CloudformationSchema = `{ "EcsParameters": { "$ref": "#/definitions/AWS::Events::Rule.EcsParameters" }, + "HttpParameters": { + "$ref": "#/definitions/AWS::Events::Rule.HttpParameters" + }, "Id": { "type": "string" }, @@ -30136,6 +33945,14 @@ var CloudformationSchema = `{ "AWS::FMS::NotificationChannel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -30233,6 +34050,14 @@ var CloudformationSchema = `{ "AWS::FMS::Policy" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -30249,6 +34074,12 @@ var CloudformationSchema = `{ "type": "string" }, "type": "array" + }, + "ORGUNIT": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" @@ -30337,6 +34168,9 @@ var CloudformationSchema = `{ "StorageCapacity": { "type": "number" }, + "StorageType": { + "type": "string" + }, "SubnetIds": { "items": { "type": "string" @@ -30364,6 +34198,14 @@ var CloudformationSchema = `{ "AWS::FSx::FileSystem" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -30509,6 +34351,14 @@ var CloudformationSchema = `{ "AWS::GameLift::Alias" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -30587,6 +34437,14 @@ var CloudformationSchema = `{ "AWS::GameLift::Build" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -30733,6 +34591,14 @@ var CloudformationSchema = `{ "AWS::GameLift::Fleet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -30887,6 +34753,14 @@ var CloudformationSchema = `{ "AWS::GameLift::GameSessionQueue" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -31008,6 +34882,14 @@ var CloudformationSchema = `{ "AWS::GameLift::MatchmakingConfiguration" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -31082,6 +34964,14 @@ var CloudformationSchema = `{ "AWS::GameLift::MatchmakingRuleSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -31142,6 +35032,14 @@ var CloudformationSchema = `{ "AWS::GameLift::Script" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -31173,7 +35071,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Glue::Classifier": { + "AWS::GlobalAccelerator::Accelerator": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -31205,120 +35103,55 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CsvClassifier": { - "$ref": "#/definitions/AWS::Glue::Classifier.CsvClassifier" + "Enabled": { + "type": "boolean" }, - "GrokClassifier": { - "$ref": "#/definitions/AWS::Glue::Classifier.GrokClassifier" + "IpAddressType": { + "type": "string" }, - "JsonClassifier": { - "$ref": "#/definitions/AWS::Glue::Classifier.JsonClassifier" + "IpAddresses": { + "items": { + "type": "string" + }, + "type": "array" }, - "XMLClassifier": { - "$ref": "#/definitions/AWS::Glue::Classifier.XMLClassifier" + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, + "required": [ + "Name" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::Classifier" + "AWS::GlobalAccelerator::Accelerator" ], "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Glue::Classifier.CsvClassifier": { - "additionalProperties": false, - "properties": { - "AllowSingleColumn": { - "type": "boolean" - }, - "ContainsHeader": { - "type": "string" - }, - "Delimiter": { - "type": "string" - }, - "DisableValueTrimming": { - "type": "boolean" - }, - "Header": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "QuoteSymbol": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Classifier.GrokClassifier": { - "additionalProperties": false, - "properties": { - "Classification": { - "type": "string" - }, - "CustomPatterns": { - "type": "string" - }, - "GrokPattern": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Classification", - "GrokPattern" - ], - "type": "object" - }, - "AWS::Glue::Classifier.JsonClassifier": { - "additionalProperties": false, - "properties": { - "JsonPath": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "JsonPath" - ], - "type": "object" - }, - "AWS::Glue::Classifier.XMLClassifier": { - "additionalProperties": false, - "properties": { - "Classification": { - "type": "string" - }, - "Name": { - "type": "string" }, - "RowTag": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Classification", - "RowTag" + "Type", + "Properties" ], "type": "object" }, - "AWS::Glue::Connection": { + "AWS::GlobalAccelerator::EndpointGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -31350,22 +35183,54 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CatalogId": { + "EndpointConfigurations": { + "items": { + "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup.EndpointConfiguration" + }, + "type": "array" + }, + "EndpointGroupRegion": { "type": "string" }, - "ConnectionInput": { - "$ref": "#/definitions/AWS::Glue::Connection.ConnectionInput" + "HealthCheckIntervalSeconds": { + "type": "number" + }, + "HealthCheckPath": { + "type": "string" + }, + "HealthCheckPort": { + "type": "number" + }, + "HealthCheckProtocol": { + "type": "string" + }, + "ListenerArn": { + "type": "string" + }, + "ThresholdCount": { + "type": "number" + }, + "TrafficDialPercentage": { + "type": "number" } }, "required": [ - "CatalogId", - "ConnectionInput" + "EndpointGroupRegion", + "ListenerArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::Connection" + "AWS::GlobalAccelerator::EndpointGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -31376,56 +35241,385 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Glue::Connection.ConnectionInput": { + "AWS::GlobalAccelerator::EndpointGroup.EndpointConfiguration": { "additionalProperties": false, "properties": { - "ConnectionProperties": { - "type": "object" - }, - "ConnectionType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "MatchCriteria": { - "items": { - "type": "string" - }, - "type": "array" + "ClientIPPreservationEnabled": { + "type": "boolean" }, - "Name": { + "EndpointId": { "type": "string" }, - "PhysicalConnectionRequirements": { - "$ref": "#/definitions/AWS::Glue::Connection.PhysicalConnectionRequirements" + "Weight": { + "type": "number" } }, "required": [ - "ConnectionProperties", - "ConnectionType" + "EndpointId" ], "type": "object" }, - "AWS::Glue::Connection.PhysicalConnectionRequirements": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "SecurityGroupIdList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler": { + "AWS::GlobalAccelerator::Listener": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceleratorArn": { + "type": "string" + }, + "ClientAffinity": { + "type": "string" + }, + "PortRanges": { + "items": { + "$ref": "#/definitions/AWS::GlobalAccelerator::Listener.PortRange" + }, + "type": "array" + }, + "Protocol": { + "type": "string" + } + }, + "required": [ + "AcceleratorArn", + "PortRanges", + "Protocol" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GlobalAccelerator::Listener" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GlobalAccelerator::Listener.PortRange": { + "additionalProperties": false, + "properties": { + "FromPort": { + "type": "number" + }, + "ToPort": { + "type": "number" + } + }, + "required": [ + "FromPort", + "ToPort" + ], + "type": "object" + }, + "AWS::Glue::Classifier": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CsvClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.CsvClassifier" + }, + "GrokClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.GrokClassifier" + }, + "JsonClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.JsonClassifier" + }, + "XMLClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.XMLClassifier" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Classifier" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Glue::Classifier.CsvClassifier": { + "additionalProperties": false, + "properties": { + "AllowSingleColumn": { + "type": "boolean" + }, + "ContainsHeader": { + "type": "string" + }, + "Delimiter": { + "type": "string" + }, + "DisableValueTrimming": { + "type": "boolean" + }, + "Header": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "QuoteSymbol": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Classifier.GrokClassifier": { + "additionalProperties": false, + "properties": { + "Classification": { + "type": "string" + }, + "CustomPatterns": { + "type": "string" + }, + "GrokPattern": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Classification", + "GrokPattern" + ], + "type": "object" + }, + "AWS::Glue::Classifier.JsonClassifier": { + "additionalProperties": false, + "properties": { + "JsonPath": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "JsonPath" + ], + "type": "object" + }, + "AWS::Glue::Classifier.XMLClassifier": { + "additionalProperties": false, + "properties": { + "Classification": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RowTag": { + "type": "string" + } + }, + "required": [ + "Classification", + "RowTag" + ], + "type": "object" + }, + "AWS::Glue::Connection": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "ConnectionInput": { + "$ref": "#/definitions/AWS::Glue::Connection.ConnectionInput" + } + }, + "required": [ + "CatalogId", + "ConnectionInput" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Connection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::Connection.ConnectionInput": { + "additionalProperties": false, + "properties": { + "ConnectionProperties": { + "type": "object" + }, + "ConnectionType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "MatchCriteria": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "PhysicalConnectionRequirements": { + "$ref": "#/definitions/AWS::Glue::Connection.PhysicalConnectionRequirements" + } + }, + "required": [ + "ConnectionProperties", + "ConnectionType" + ], + "type": "object" + }, + "AWS::Glue::Connection.PhysicalConnectionRequirements": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "SecurityGroupIdList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Crawler": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -31508,6 +35702,14 @@ var CloudformationSchema = `{ "AWS::Glue::Crawler" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -31674,6 +35876,14 @@ var CloudformationSchema = `{ "AWS::Glue::DataCatalogEncryptionSettings" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -31768,6 +35978,14 @@ var CloudformationSchema = `{ "AWS::Glue::Database" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -31850,6 +36068,12 @@ var CloudformationSchema = `{ "PublicKey": { "type": "string" }, + "PublicKeys": { + "items": { + "type": "string" + }, + "type": "array" + }, "RoleArn": { "type": "string" }, @@ -31882,6 +36106,14 @@ var CloudformationSchema = `{ "AWS::Glue::DevEndpoint" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -31988,6 +36220,14 @@ var CloudformationSchema = `{ "AWS::Glue::Job" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -32097,6 +36337,9 @@ var CloudformationSchema = `{ "Role": { "type": "string" }, + "Tags": { + "type": "object" + }, "Timeout": { "type": "number" }, @@ -32119,6 +36362,14 @@ var CloudformationSchema = `{ "AWS::Glue::MLTransform" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -32255,6 +36506,14 @@ var CloudformationSchema = `{ "AWS::Glue::Partition" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -32454,6 +36713,14 @@ var CloudformationSchema = `{ "AWS::Glue::SecurityConfiguration" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -32572,6 +36839,14 @@ var CloudformationSchema = `{ "AWS::Glue::Table" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -32814,6 +37089,14 @@ var CloudformationSchema = `{ "AWS::Glue::Trigger" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -32943,6 +37226,14 @@ var CloudformationSchema = `{ "AWS::Glue::Workflow" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -33002,6 +37293,14 @@ var CloudformationSchema = `{ "AWS::Greengrass::ConnectorDefinition" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -33097,6 +37396,14 @@ var CloudformationSchema = `{ "AWS::Greengrass::ConnectorDefinitionVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -33176,6 +37483,14 @@ var CloudformationSchema = `{ "AWS::Greengrass::CoreDefinition" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -33275,6 +37590,14 @@ var CloudformationSchema = `{ "AWS::Greengrass::CoreDefinitionVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -33358,6 +37681,14 @@ var CloudformationSchema = `{ "AWS::Greengrass::DeviceDefinition" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -33457,6 +37788,14 @@ var CloudformationSchema = `{ "AWS::Greengrass::DeviceDefinitionVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -33540,6 +37879,14 @@ var CloudformationSchema = `{ "AWS::Greengrass::FunctionDefinition" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -33741,6 +38088,14 @@ var CloudformationSchema = `{ "AWS::Greengrass::FunctionDefinitionVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -33923,6 +38278,14 @@ var CloudformationSchema = `{ "AWS::Greengrass::Group" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -34025,6 +38388,14 @@ var CloudformationSchema = `{ "AWS::Greengrass::GroupVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -34085,6 +38456,14 @@ var CloudformationSchema = `{ "AWS::Greengrass::LoggerDefinition" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -34188,6 +38567,14 @@ var CloudformationSchema = `{ "AWS::Greengrass::LoggerDefinitionVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -34275,6 +38662,14 @@ var CloudformationSchema = `{ "AWS::Greengrass::ResourceDefinition" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -34368,6 +38763,22 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting": { + "additionalProperties": false, + "properties": { + "GroupOwner": { + "type": "string" + }, + "GroupPermission": { + "type": "string" + } + }, + "required": [ + "GroupOwner", + "GroupPermission" + ], + "type": "object" + }, "AWS::Greengrass::ResourceDefinition.ResourceInstance": { "additionalProperties": false, "properties": { @@ -34394,6 +38805,9 @@ var CloudformationSchema = `{ "DestinationPath": { "type": "string" }, + "OwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting" + }, "S3Uri": { "type": "string" } @@ -34410,6 +38824,9 @@ var CloudformationSchema = `{ "DestinationPath": { "type": "string" }, + "OwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting" + }, "SageMakerJobArn": { "type": "string" } @@ -34491,6 +38908,14 @@ var CloudformationSchema = `{ "AWS::Greengrass::ResourceDefinitionVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -34569,6 +38994,22 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting": { + "additionalProperties": false, + "properties": { + "GroupOwner": { + "type": "string" + }, + "GroupPermission": { + "type": "string" + } + }, + "required": [ + "GroupOwner", + "GroupPermission" + ], + "type": "object" + }, "AWS::Greengrass::ResourceDefinitionVersion.ResourceInstance": { "additionalProperties": false, "properties": { @@ -34595,6 +39036,9 @@ var CloudformationSchema = `{ "DestinationPath": { "type": "string" }, + "OwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting" + }, "S3Uri": { "type": "string" } @@ -34611,6 +39055,9 @@ var CloudformationSchema = `{ "DestinationPath": { "type": "string" }, + "OwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting" + }, "SageMakerJobArn": { "type": "string" } @@ -34691,6 +39138,14 @@ var CloudformationSchema = `{ "AWS::Greengrass::SubscriptionDefinition" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -34791,6 +39246,14 @@ var CloudformationSchema = `{ "AWS::Greengrass::SubscriptionDefinitionVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -34872,6 +39335,14 @@ var CloudformationSchema = `{ "AWS::GuardDuty::Detector" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -34946,6 +39417,14 @@ var CloudformationSchema = `{ "AWS::GuardDuty::Filter" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -35054,6 +39533,14 @@ var CloudformationSchema = `{ "AWS::GuardDuty::IPSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -35115,77 +39602,14 @@ var CloudformationSchema = `{ "AWS::GuardDuty::Master" ], "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GuardDuty::Member": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { + }, + "UpdateReplacePolicy": { "enum": [ "Delete", "Retain", "Snapshot" ], "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DetectorId": { - "type": "string" - }, - "DisableEmailNotification": { - "type": "boolean" - }, - "Email": { - "type": "string" - }, - "MemberId": { - "type": "string" - }, - "Message": { - "type": "string" - }, - "Status": { - "type": "string" - } - }, - "required": [ - "DetectorId", - "Email", - "MemberId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GuardDuty::Member" - ], - "type": "string" } }, "required": [ @@ -35194,7 +39618,86 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::GuardDuty::ThreatIntelSet": { + "AWS::GuardDuty::Member": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DetectorId": { + "type": "string" + }, + "DisableEmailNotification": { + "type": "boolean" + }, + "Email": { + "type": "string" + }, + "MemberId": { + "type": "string" + }, + "Message": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "DetectorId", + "Email", + "MemberId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Member" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::ThreatIntelSet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -35255,6 +39758,14 @@ var CloudformationSchema = `{ "AWS::GuardDuty::ThreatIntelSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -35315,6 +39826,14 @@ var CloudformationSchema = `{ "AWS::IAM::AccessKey" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -35381,6 +39900,14 @@ var CloudformationSchema = `{ "AWS::IAM::Group" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -35459,6 +39986,14 @@ var CloudformationSchema = `{ "AWS::IAM::InstanceProfile" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -35540,6 +40075,14 @@ var CloudformationSchema = `{ "AWS::IAM::ManagedPolicy" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -35616,6 +40159,14 @@ var CloudformationSchema = `{ "AWS::IAM::Policy" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -35703,6 +40254,14 @@ var CloudformationSchema = `{ "AWS::IAM::Role" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -35779,6 +40338,14 @@ var CloudformationSchema = `{ "AWS::IAM::ServiceLinkedRole" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -35863,6 +40430,14 @@ var CloudformationSchema = `{ "AWS::IAM::User" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -35954,133 +40529,14 @@ var CloudformationSchema = `{ "AWS::IAM::UserToGroupAddition" ], "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Inspector::AssessmentTarget": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssessmentTargetName": { - "type": "string" - }, - "ResourceGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Inspector::AssessmentTarget" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Inspector::AssessmentTemplate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { + "UpdateReplacePolicy": { "enum": [ "Delete", "Retain", "Snapshot" ], "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssessmentTargetArn": { - "type": "string" - }, - "AssessmentTemplateName": { - "type": "string" - }, - "DurationInSeconds": { - "type": "number" - }, - "RulesPackageArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "UserAttributesForFindings": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AssessmentTargetArn", - "DurationInSeconds", - "RulesPackageArns" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Inspector::AssessmentTemplate" - ], - "type": "string" } }, "required": [ @@ -36089,7 +40545,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Inspector::ResourceGroup": { + "AWS::ImageBuilder::Component": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36121,21 +40577,58 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ResourceGroupTags": { - "items": { - "$ref": "#/definitions/Tag" + "ChangeDescription": { + "type": "string" + }, + "Data": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Platform": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "type": "array" + "type": "object" + }, + "Uri": { + "type": "string" + }, + "Version": { + "type": "string" } }, "required": [ - "ResourceGroupTags" + "Name", + "Platform", + "Version" ], "type": "object" }, "Type": { "enum": [ - "AWS::Inspector::ResourceGroup" + "AWS::ImageBuilder::Component" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -36146,7 +40639,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::IoT1Click::Device": { + "AWS::ImageBuilder::DistributionConfiguration": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36178,22 +40671,45 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DeviceId": { + "Description": { "type": "string" }, - "Enabled": { - "type": "boolean" + "Distributions": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration.Distribution" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" } }, "required": [ - "DeviceId", - "Enabled" + "Distributions", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT1Click::Device" + "AWS::ImageBuilder::DistributionConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -36204,7 +40720,25 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::IoT1Click::Placement": { + "AWS::ImageBuilder::DistributionConfiguration.Distribution": { + "additionalProperties": false, + "properties": { + "AmiDistributionConfiguration": { + "type": "object" + }, + "LicenseConfigurationArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Region": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::Image": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36236,27 +40770,45 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AssociatedDevices": { - "type": "object" - }, - "Attributes": { - "type": "object" + "DistributionConfigurationArn": { + "type": "string" }, - "PlacementName": { + "ImageRecipeArn": { "type": "string" }, - "ProjectName": { + "ImageTestsConfiguration": { + "$ref": "#/definitions/AWS::ImageBuilder::Image.ImageTestsConfiguration" + }, + "InfrastructureConfigurationArn": { "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" } }, "required": [ - "ProjectName" + "ImageRecipeArn", + "InfrastructureConfigurationArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT1Click::Placement" + "AWS::ImageBuilder::Image" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -36267,7 +40819,19 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::IoT1Click::Project": { + "AWS::ImageBuilder::Image.ImageTestsConfiguration": { + "additionalProperties": false, + "properties": { + "ImageTestsEnabled": { + "type": "boolean" + }, + "TimeoutMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImagePipeline": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36302,21 +40866,55 @@ var CloudformationSchema = `{ "Description": { "type": "string" }, - "PlacementTemplate": { - "$ref": "#/definitions/AWS::IoT1Click::Project.PlacementTemplate" + "DistributionConfigurationArn": { + "type": "string" }, - "ProjectName": { + "ImageRecipeArn": { + "type": "string" + }, + "ImageTestsConfiguration": { + "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration" + }, + "InfrastructureConfigurationArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.Schedule" + }, + "Status": { "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" } }, "required": [ - "PlacementTemplate" + "ImageRecipeArn", + "InfrastructureConfigurationArn", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT1Click::Project" + "AWS::ImageBuilder::ImagePipeline" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -36327,31 +40925,31 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::IoT1Click::Project.DeviceTemplate": { + "AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration": { "additionalProperties": false, "properties": { - "CallbackOverrides": { - "type": "object" + "ImageTestsEnabled": { + "type": "boolean" }, - "DeviceType": { - "type": "string" + "TimeoutMinutes": { + "type": "number" } }, "type": "object" }, - "AWS::IoT1Click::Project.PlacementTemplate": { + "AWS::ImageBuilder::ImagePipeline.Schedule": { "additionalProperties": false, "properties": { - "DefaultAttributes": { - "type": "object" + "PipelineExecutionStartCondition": { + "type": "string" }, - "DeviceTemplates": { - "type": "object" + "ScheduleExpression": { + "type": "string" } }, "type": "object" }, - "AWS::IoT::Certificate": { + "AWS::ImageBuilder::ImageRecipe": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36383,22 +40981,59 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CertificateSigningRequest": { + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping" + }, + "type": "array" + }, + "Components": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.ComponentConfiguration" + }, + "type": "array" + }, + "Description": { "type": "string" }, - "Status": { + "Name": { + "type": "string" + }, + "ParentImage": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Version": { "type": "string" } }, "required": [ - "CertificateSigningRequest", - "Status" + "Components", + "Name", + "ParentImage", + "Version" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::Certificate" + "AWS::ImageBuilder::ImageRecipe" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -36409,7 +41044,61 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::IoT::Policy": { + "AWS::ImageBuilder::ImageRecipe.ComponentConfiguration": { + "additionalProperties": false, + "properties": { + "ComponentArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" + }, + "SnapshotId": { + "type": "string" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification" + }, + "NoDevice": { + "type": "string" + }, + "VirtualName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::InfrastructureConfiguration": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36441,21 +41130,69 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "PolicyDocument": { + "Description": { + "type": "string" + }, + "InstanceProfileName": { + "type": "string" + }, + "InstanceTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "KeyPair": { + "type": "string" + }, + "Logging": { "type": "object" }, - "PolicyName": { + "Name": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnsTopicArn": { + "type": "string" + }, + "SubnetId": { "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "TerminateInstanceOnFailure": { + "type": "boolean" } }, "required": [ - "PolicyDocument" + "InstanceProfileName", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::Policy" + "AWS::ImageBuilder::InfrastructureConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -36466,7 +41203,28 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::IoT::PolicyPrincipalAttachment": { + "AWS::ImageBuilder::InfrastructureConfiguration.Logging": { + "additionalProperties": false, + "properties": { + "S3Logs": { + "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.S3Logs" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::InfrastructureConfiguration.S3Logs": { + "additionalProperties": false, + "properties": { + "S3BucketName": { + "type": "string" + }, + "S3KeyPrefix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Inspector::AssessmentTarget": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36498,33 +41256,36 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "PolicyName": { + "AssessmentTargetName": { "type": "string" }, - "Principal": { + "ResourceGroupArn": { "type": "string" } }, - "required": [ - "PolicyName", - "Principal" - ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::PolicyPrincipalAttachment" + "AWS::Inspector::AssessmentTarget" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::IoT::Thing": { + "AWS::Inspector::AssessmentTemplate": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36556,43 +41317,122 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AttributePayload": { - "$ref": "#/definitions/AWS::IoT::Thing.AttributePayload" + "AssessmentTargetArn": { + "type": "string" }, - "ThingName": { + "AssessmentTemplateName": { "type": "string" + }, + "DurationInSeconds": { + "type": "number" + }, + "RulesPackageArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "UserAttributesForFindings": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, + "required": [ + "AssessmentTargetArn", + "DurationInSeconds", + "RulesPackageArns" + ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::Thing" + "AWS::Inspector::AssessmentTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::IoT::Thing.AttributePayload": { + "AWS::Inspector::ResourceGroup": { "additionalProperties": false, "properties": { - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceGroupTags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, + "required": [ + "ResourceGroupTags" + ], "type": "object" + }, + "Type": { + "enum": [ + "AWS::Inspector::ResourceGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::IoT::ThingPrincipalAttachment": { + "AWS::IoT1Click::Device": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36624,22 +41464,30 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Principal": { + "DeviceId": { "type": "string" }, - "ThingName": { - "type": "string" + "Enabled": { + "type": "boolean" } }, "required": [ - "Principal", - "ThingName" + "DeviceId", + "Enabled" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::ThingPrincipalAttachment" + "AWS::IoT1Click::Device" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -36650,7 +41498,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::IoT::TopicRule": { + "AWS::IoT1Click::Placement": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36682,21 +41530,35 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "RuleName": { + "AssociatedDevices": { + "type": "object" + }, + "Attributes": { + "type": "object" + }, + "PlacementName": { "type": "string" }, - "TopicRulePayload": { - "$ref": "#/definitions/AWS::IoT::TopicRule.TopicRulePayload" + "ProjectName": { + "type": "string" } }, "required": [ - "TopicRulePayload" + "ProjectName" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::TopicRule" + "AWS::IoT1Click::Placement" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -36707,17 +41569,609 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::IoT::TopicRule.Action": { + "AWS::IoT1Click::Project": { "additionalProperties": false, "properties": { - "CloudwatchAlarm": { - "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchAlarmAction" - }, - "CloudwatchMetric": { - "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchMetricAction" - }, - "DynamoDB": { - "$ref": "#/definitions/AWS::IoT::TopicRule.DynamoDBAction" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "PlacementTemplate": { + "$ref": "#/definitions/AWS::IoT1Click::Project.PlacementTemplate" + }, + "ProjectName": { + "type": "string" + } + }, + "required": [ + "PlacementTemplate" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT1Click::Project" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT1Click::Project.DeviceTemplate": { + "additionalProperties": false, + "properties": { + "CallbackOverrides": { + "type": "object" + }, + "DeviceType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT1Click::Project.PlacementTemplate": { + "additionalProperties": false, + "properties": { + "DefaultAttributes": { + "type": "object" + }, + "DeviceTemplates": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::IoT::Certificate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CertificateSigningRequest": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "CertificateSigningRequest", + "Status" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::Certificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::Policy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + }, + "PolicyName": { + "type": "string" + } + }, + "required": [ + "PolicyDocument" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::Policy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::PolicyPrincipalAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyName": { + "type": "string" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "PolicyName", + "Principal" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::PolicyPrincipalAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::ProvisioningTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "PreProvisioningHook": { + "$ref": "#/definitions/AWS::IoT::ProvisioningTemplate.ProvisioningHook" + }, + "ProvisioningRoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "type": "object" + }, + "type": "array" + }, + "TemplateBody": { + "type": "string" + }, + "TemplateName": { + "type": "string" + } + }, + "required": [ + "ProvisioningRoleArn", + "TemplateBody" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::ProvisioningTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::ProvisioningTemplate.ProvisioningHook": { + "additionalProperties": false, + "properties": { + "PayloadVersion": { + "type": "string" + }, + "TargetArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::Thing": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AttributePayload": { + "$ref": "#/definitions/AWS::IoT::Thing.AttributePayload" + }, + "ThingName": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::Thing" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IoT::Thing.AttributePayload": { + "additionalProperties": false, + "properties": { + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::IoT::ThingPrincipalAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Principal": { + "type": "string" + }, + "ThingName": { + "type": "string" + } + }, + "required": [ + "Principal", + "ThingName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::ThingPrincipalAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::TopicRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "RuleName": { + "type": "string" + }, + "TopicRulePayload": { + "$ref": "#/definitions/AWS::IoT::TopicRule.TopicRulePayload" + } + }, + "required": [ + "TopicRulePayload" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::TopicRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.Action": { + "additionalProperties": false, + "properties": { + "CloudwatchAlarm": { + "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchAlarmAction" + }, + "CloudwatchMetric": { + "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchMetricAction" + }, + "DynamoDB": { + "$ref": "#/definitions/AWS::IoT::TopicRule.DynamoDBAction" }, "DynamoDBv2": { "$ref": "#/definitions/AWS::IoT::TopicRule.DynamoDBv2Action" @@ -36728,9 +42182,18 @@ var CloudformationSchema = `{ "Firehose": { "$ref": "#/definitions/AWS::IoT::TopicRule.FirehoseAction" }, + "Http": { + "$ref": "#/definitions/AWS::IoT::TopicRule.HttpAction" + }, "IotAnalytics": { "$ref": "#/definitions/AWS::IoT::TopicRule.IotAnalyticsAction" }, + "IotEvents": { + "$ref": "#/definitions/AWS::IoT::TopicRule.IotEventsAction" + }, + "IotSiteWise": { + "$ref": "#/definitions/AWS::IoT::TopicRule.IotSiteWiseAction" + }, "Kinesis": { "$ref": "#/definitions/AWS::IoT::TopicRule.KinesisAction" }, @@ -36755,6 +42218,58 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::IoT::TopicRule.AssetPropertyTimestamp": { + "additionalProperties": false, + "properties": { + "OffsetInNanos": { + "type": "string" + }, + "TimeInSeconds": { + "type": "string" + } + }, + "required": [ + "TimeInSeconds" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.AssetPropertyValue": { + "additionalProperties": false, + "properties": { + "Quality": { + "type": "string" + }, + "Timestamp": { + "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyTimestamp" + }, + "Value": { + "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyVariant" + } + }, + "required": [ + "Timestamp", + "Value" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.AssetPropertyVariant": { + "additionalProperties": false, + "properties": { + "BooleanValue": { + "type": "string" + }, + "DoubleValue": { + "type": "string" + }, + "IntegerValue": { + "type": "string" + }, + "StringValue": { + "type": "string" + } + }, + "type": "object" + }, "AWS::IoT::TopicRule.CloudwatchAlarmAction": { "additionalProperties": false, "properties": { @@ -36908,6 +42423,55 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::IoT::TopicRule.HttpAction": { + "additionalProperties": false, + "properties": { + "Auth": { + "$ref": "#/definitions/AWS::IoT::TopicRule.HttpAuthorization" + }, + "ConfirmationUrl": { + "type": "string" + }, + "Headers": { + "items": { + "$ref": "#/definitions/AWS::IoT::TopicRule.HttpActionHeader" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Url" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.HttpActionHeader": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.HttpAuthorization": { + "additionalProperties": false, + "properties": { + "Sigv4": { + "$ref": "#/definitions/AWS::IoT::TopicRule.SigV4Authorization" + } + }, + "type": "object" + }, "AWS::IoT::TopicRule.IotAnalyticsAction": { "additionalProperties": false, "properties": { @@ -36924,6 +42488,44 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::IoT::TopicRule.IotEventsAction": { + "additionalProperties": false, + "properties": { + "InputName": { + "type": "string" + }, + "MessageId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "InputName", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.IotSiteWiseAction": { + "additionalProperties": false, + "properties": { + "PutAssetPropertyValueEntries": { + "items": { + "$ref": "#/definitions/AWS::IoT::TopicRule.PutAssetPropertyValueEntry" + }, + "type": "array" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "PutAssetPropertyValueEntries", + "RoleArn" + ], + "type": "object" + }, "AWS::IoT::TopicRule.KinesisAction": { "additionalProperties": false, "properties": { @@ -36952,6 +42554,33 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::IoT::TopicRule.PutAssetPropertyValueEntry": { + "additionalProperties": false, + "properties": { + "AssetId": { + "type": "string" + }, + "EntryId": { + "type": "string" + }, + "PropertyAlias": { + "type": "string" + }, + "PropertyId": { + "type": "string" + }, + "PropertyValues": { + "items": { + "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyValue" + }, + "type": "array" + } + }, + "required": [ + "PropertyValues" + ], + "type": "object" + }, "AWS::IoT::TopicRule.PutItemInput": { "additionalProperties": false, "properties": { @@ -36967,6 +42596,9 @@ var CloudformationSchema = `{ "AWS::IoT::TopicRule.RepublishAction": { "additionalProperties": false, "properties": { + "Qos": { + "type": "number" + }, "RoleArn": { "type": "string" }, @@ -37000,6 +42632,26 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::IoT::TopicRule.SigV4Authorization": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "ServiceName": { + "type": "string" + }, + "SigningRegion": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "ServiceName", + "SigningRegion" + ], + "type": "object" + }, "AWS::IoT::TopicRule.SnsAction": { "additionalProperties": false, "properties": { @@ -37144,6 +42796,14 @@ var CloudformationSchema = `{ "AWS::IoTAnalytics::Channel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -37275,6 +42935,14 @@ var CloudformationSchema = `{ "AWS::IoTAnalytics::Dataset" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -37629,6 +43297,14 @@ var CloudformationSchema = `{ "AWS::IoTAnalytics::Datastore" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -37742,6 +43418,14 @@ var CloudformationSchema = `{ "AWS::IoTAnalytics::Pipeline" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -38021,6 +43705,14 @@ var CloudformationSchema = `{ "AWS::IoTEvents::DetectorModel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -38034,12 +43726,21 @@ var CloudformationSchema = `{ "ClearTimer": { "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.ClearTimer" }, + "DynamoDB": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.DynamoDB" + }, + "DynamoDBv2": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.DynamoDBv2" + }, "Firehose": { "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Firehose" }, "IotEvents": { "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.IotEvents" }, + "IotSiteWise": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.IotSiteWise" + }, "IotTopicPublish": { "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.IotTopicPublish" }, @@ -38064,6 +43765,51 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::IoTEvents::DetectorModel.AssetPropertyTimestamp": { + "additionalProperties": false, + "properties": { + "OffsetInNanos": { + "type": "string" + }, + "TimeInSeconds": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.AssetPropertyValue": { + "additionalProperties": false, + "properties": { + "Quality": { + "type": "string" + }, + "Timestamp": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyTimestamp" + }, + "Value": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyVariant" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.AssetPropertyVariant": { + "additionalProperties": false, + "properties": { + "BooleanValue": { + "type": "string" + }, + "DoubleValue": { + "type": "string" + }, + "IntegerValue": { + "type": "string" + }, + "StringValue": { + "type": "string" + } + }, + "type": "object" + }, "AWS::IoTEvents::DetectorModel.ClearTimer": { "additionalProperties": false, "properties": { @@ -38088,6 +43834,54 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::IoTEvents::DetectorModel.DynamoDB": { + "additionalProperties": false, + "properties": { + "HashKeyField": { + "type": "string" + }, + "HashKeyType": { + "type": "string" + }, + "HashKeyValue": { + "type": "string" + }, + "Operation": { + "type": "string" + }, + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, + "PayloadField": { + "type": "string" + }, + "RangeKeyField": { + "type": "string" + }, + "RangeKeyType": { + "type": "string" + }, + "RangeKeyValue": { + "type": "string" + }, + "TableName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.DynamoDBv2": { + "additionalProperties": false, + "properties": { + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, + "TableName": { + "type": "string" + } + }, + "type": "object" + }, "AWS::IoTEvents::DetectorModel.Event": { "additionalProperties": false, "properties": { @@ -38112,6 +43906,9 @@ var CloudformationSchema = `{ "DeliveryStreamName": { "type": "string" }, + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, "Separator": { "type": "string" } @@ -38123,6 +43920,30 @@ var CloudformationSchema = `{ "properties": { "InputName": { "type": "string" + }, + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.IotSiteWise": { + "additionalProperties": false, + "properties": { + "AssetId": { + "type": "string" + }, + "EntryId": { + "type": "string" + }, + "PropertyAlias": { + "type": "string" + }, + "PropertyId": { + "type": "string" + }, + "PropertyValue": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyValue" } }, "type": "object" @@ -38132,6 +43953,9 @@ var CloudformationSchema = `{ "properties": { "MqttTopic": { "type": "string" + }, + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" } }, "type": "object" @@ -38141,6 +43965,9 @@ var CloudformationSchema = `{ "properties": { "FunctionArn": { "type": "string" + }, + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" } }, "type": "object" @@ -38187,6 +44014,18 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::IoTEvents::DetectorModel.Payload": { + "additionalProperties": false, + "properties": { + "ContentExpression": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, "AWS::IoTEvents::DetectorModel.ResetTimer": { "additionalProperties": false, "properties": { @@ -38199,6 +44038,9 @@ var CloudformationSchema = `{ "AWS::IoTEvents::DetectorModel.SetTimer": { "additionalProperties": false, "properties": { + "DurationExpression": { + "type": "string" + }, "Seconds": { "type": "number" }, @@ -38223,6 +44065,9 @@ var CloudformationSchema = `{ "AWS::IoTEvents::DetectorModel.Sns": { "additionalProperties": false, "properties": { + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, "TargetArn": { "type": "string" } @@ -38232,6 +44077,9 @@ var CloudformationSchema = `{ "AWS::IoTEvents::DetectorModel.Sqs": { "additionalProperties": false, "properties": { + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, "QueueUrl": { "type": "string" }, @@ -38335,6 +44183,14 @@ var CloudformationSchema = `{ "AWS::IoTEvents::Input" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -38412,6 +44268,14 @@ var CloudformationSchema = `{ "AWS::IoTThingsGraph::FlowTemplate" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -38486,6 +44350,14 @@ var CloudformationSchema = `{ "AWS::KMS::Alias" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -38561,6 +44433,14 @@ var CloudformationSchema = `{ "AWS::KMS::Key" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -38630,6 +44510,14 @@ var CloudformationSchema = `{ "AWS::Kinesis::Stream" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -38704,6 +44592,14 @@ var CloudformationSchema = `{ "AWS::Kinesis::StreamConsumer" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -38770,6 +44666,14 @@ var CloudformationSchema = `{ "AWS::KinesisAnalytics::Application" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -39018,6 +44922,14 @@ var CloudformationSchema = `{ "AWS::KinesisAnalytics::ApplicationOutput" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -39157,6 +45069,14 @@ var CloudformationSchema = `{ "AWS::KinesisAnalytics::ApplicationReferenceDataSource" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -39345,6 +45265,12 @@ var CloudformationSchema = `{ }, "ServiceExecutionRole": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -39358,6 +45284,14 @@ var CloudformationSchema = `{ "AWS::KinesisAnalyticsV2::Application" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -39784,6 +45718,14 @@ var CloudformationSchema = `{ "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -39854,6 +45796,14 @@ var CloudformationSchema = `{ "AWS::KinesisAnalyticsV2::ApplicationOutput" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -39981,6 +45931,14 @@ var CloudformationSchema = `{ "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -40183,6 +46141,14 @@ var CloudformationSchema = `{ "AWS::KinesisFirehose::DeliveryStream" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -40200,10 +46166,6 @@ var CloudformationSchema = `{ "type": "number" } }, - "required": [ - "IntervalInSeconds", - "SizeInMBs" - ], "type": "object" }, "AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions": { @@ -40255,12 +46217,6 @@ var CloudformationSchema = `{ "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SchemaConfiguration" } }, - "required": [ - "Enabled", - "InputFormatConfiguration", - "OutputFormatConfiguration", - "SchemaConfiguration" - ], "type": "object" }, "AWS::KinesisFirehose::DeliveryStream.Deserializer": { @@ -40285,10 +46241,6 @@ var CloudformationSchema = `{ "type": "number" } }, - "required": [ - "IntervalInSeconds", - "SizeInMBs" - ], "type": "object" }, "AWS::KinesisFirehose::DeliveryStream.ElasticsearchDestinationConfiguration": { @@ -40300,6 +46252,9 @@ var CloudformationSchema = `{ "CloudWatchLoggingOptions": { "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" }, + "ClusterEndpoint": { + "type": "string" + }, "DomainARN": { "type": "string" }, @@ -40326,18 +46281,15 @@ var CloudformationSchema = `{ }, "TypeName": { "type": "string" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.VpcConfiguration" } }, "required": [ - "BufferingHints", - "DomainARN", "IndexName", - "IndexRotationPeriod", - "RetryOptions", "RoleARN", - "S3BackupMode", - "S3Configuration", - "TypeName" + "S3Configuration" ], "type": "object" }, @@ -40348,9 +46300,6 @@ var CloudformationSchema = `{ "type": "number" } }, - "required": [ - "DurationInSeconds" - ], "type": "object" }, "AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration": { @@ -40407,8 +46356,6 @@ var CloudformationSchema = `{ }, "required": [ "BucketARN", - "BufferingHints", - "CompressionFormat", "RoleARN" ], "type": "object" @@ -40432,9 +46379,6 @@ var CloudformationSchema = `{ "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Deserializer" } }, - "required": [ - "Deserializer" - ], "type": "object" }, "AWS::KinesisFirehose::DeliveryStream.KMSEncryptionConfig": { @@ -40532,9 +46476,6 @@ var CloudformationSchema = `{ "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Serializer" } }, - "required": [ - "Serializer" - ], "type": "object" }, "AWS::KinesisFirehose::DeliveryStream.ParquetSerDe": { @@ -40590,7 +46531,6 @@ var CloudformationSchema = `{ } }, "required": [ - "Parameters", "Type" ], "type": "object" @@ -40629,9 +46569,18 @@ var CloudformationSchema = `{ "ProcessingConfiguration": { "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" }, + "RetryOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RedshiftRetryOptions" + }, "RoleARN": { "type": "string" }, + "S3BackupConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + }, + "S3BackupMode": { + "type": "string" + }, "S3Configuration": { "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" }, @@ -40649,6 +46598,15 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::KinesisFirehose::DeliveryStream.RedshiftRetryOptions": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "number" + } + }, + "type": "object" + }, "AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration": { "additionalProperties": false, "properties": { @@ -40679,8 +46637,6 @@ var CloudformationSchema = `{ }, "required": [ "BucketARN", - "BufferingHints", - "CompressionFormat", "RoleARN" ], "type": "object" @@ -40707,14 +46663,6 @@ var CloudformationSchema = `{ "type": "string" } }, - "required": [ - "CatalogId", - "DatabaseName", - "Region", - "RoleARN", - "TableName", - "VersionId" - ], "type": "object" }, "AWS::KinesisFirehose::DeliveryStream.Serializer": { @@ -40775,8 +46723,31 @@ var CloudformationSchema = `{ "type": "number" } }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.VpcConfiguration": { + "additionalProperties": false, + "properties": { + "RoleARN": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, "required": [ - "DurationInSeconds" + "RoleARN", + "SecurityGroupIds", + "SubnetIds" ], "type": "object" }, @@ -40823,6 +46794,14 @@ var CloudformationSchema = `{ "AWS::LakeFormation::DataLakeSettings" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -40906,6 +46885,14 @@ var CloudformationSchema = `{ "AWS::LakeFormation::Permissions" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -40914,6 +46901,18 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::LakeFormation::Permissions.ColumnWildcard": { + "additionalProperties": false, + "properties": { + "ExcludedColumnNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::LakeFormation::Permissions.DataLakePrincipal": { "additionalProperties": false, "properties": { @@ -40923,6 +46922,15 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::LakeFormation::Permissions.DataLocationResource": { + "additionalProperties": false, + "properties": { + "S3Resource": { + "type": "string" + } + }, + "type": "object" + }, "AWS::LakeFormation::Permissions.DatabaseResource": { "additionalProperties": false, "properties": { @@ -40935,11 +46943,17 @@ var CloudformationSchema = `{ "AWS::LakeFormation::Permissions.Resource": { "additionalProperties": false, "properties": { + "DataLocationResource": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.DataLocationResource" + }, "DatabaseResource": { "$ref": "#/definitions/AWS::LakeFormation::Permissions.DatabaseResource" }, "TableResource": { "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableResource" + }, + "TableWithColumnsResource": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableWithColumnsResource" } }, "type": "object" @@ -40956,6 +46970,27 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::LakeFormation::Permissions.TableWithColumnsResource": { + "additionalProperties": false, + "properties": { + "ColumnNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ColumnWildcard": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.ColumnWildcard" + }, + "DatabaseName": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, "AWS::LakeFormation::Resource": { "additionalProperties": false, "properties": { @@ -41009,6 +47044,14 @@ var CloudformationSchema = `{ "AWS::LakeFormation::Resource" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -41080,6 +47123,14 @@ var CloudformationSchema = `{ "AWS::Lambda::Alias" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -41190,6 +47241,14 @@ var CloudformationSchema = `{ "AWS::Lambda::EventInvokeConfig" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -41311,6 +47370,14 @@ var CloudformationSchema = `{ "AWS::Lambda::EventSourceMapping" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -41443,6 +47510,14 @@ var CloudformationSchema = `{ "AWS::Lambda::Function" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -41585,6 +47660,14 @@ var CloudformationSchema = `{ "AWS::Lambda::LayerVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -41669,6 +47752,14 @@ var CloudformationSchema = `{ "AWS::Lambda::LayerVersionPermission" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -41740,6 +47831,14 @@ var CloudformationSchema = `{ "AWS::Lambda::Permission" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -41803,6 +47902,14 @@ var CloudformationSchema = `{ "AWS::Lambda::Version" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -41881,6 +47988,14 @@ var CloudformationSchema = `{ "AWS::Logs::Destination" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -41935,6 +48050,14 @@ var CloudformationSchema = `{ "AWS::Logs::LogGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -41991,6 +48114,14 @@ var CloudformationSchema = `{ "AWS::Logs::LogStream" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -42056,6 +48187,14 @@ var CloudformationSchema = `{ "AWS::Logs::MetricFilter" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -42144,6 +48283,14 @@ var CloudformationSchema = `{ "AWS::Logs::SubscriptionFilter" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -42205,6 +48352,9 @@ var CloudformationSchema = `{ "KafkaVersion": { "type": "string" }, + "LoggingInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.LoggingInfo" + }, "NumberOfBrokerNodes": { "type": "number" }, @@ -42228,6 +48378,14 @@ var CloudformationSchema = `{ "AWS::MSK::Cluster" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -42236,6 +48394,21 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::MSK::Cluster.BrokerLogs": { + "additionalProperties": false, + "properties": { + "CloudWatchLogs": { + "$ref": "#/definitions/AWS::MSK::Cluster.CloudWatchLogs" + }, + "Firehose": { + "$ref": "#/definitions/AWS::MSK::Cluster.Firehose" + }, + "S3": { + "$ref": "#/definitions/AWS::MSK::Cluster.S3" + } + }, + "type": "object" + }, "AWS::MSK::Cluster.BrokerNodeGroupInfo": { "additionalProperties": false, "properties": { @@ -42276,6 +48449,21 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::MSK::Cluster.CloudWatchLogs": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "LogGroup": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, "AWS::MSK::Cluster.ConfigurationInfo": { "additionalProperties": false, "properties": { @@ -42337,6 +48525,21 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::MSK::Cluster.Firehose": { + "additionalProperties": false, + "properties": { + "DeliveryStream": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, "AWS::MSK::Cluster.JmxExporter": { "additionalProperties": false, "properties": { @@ -42349,6 +48552,18 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::MSK::Cluster.LoggingInfo": { + "additionalProperties": false, + "properties": { + "BrokerLogs": { + "$ref": "#/definitions/AWS::MSK::Cluster.BrokerLogs" + } + }, + "required": [ + "BrokerLogs" + ], + "type": "object" + }, "AWS::MSK::Cluster.NodeExporter": { "additionalProperties": false, "properties": { @@ -42385,6 +48600,24 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::MSK::Cluster.S3": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "Prefix": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, "AWS::MSK::Cluster.StorageInfo": { "additionalProperties": false, "properties": { @@ -42406,6 +48639,240 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::Macie::CustomDataIdentifier": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "IgnoreWords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Keywords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaximumMatchDistance": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Regex": { + "type": "string" + } + }, + "required": [ + "Name", + "Regex" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Macie::CustomDataIdentifier" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Macie::FindingsFilter": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "FindingCriteria": { + "$ref": "#/definitions/AWS::Macie::FindingsFilter.FindingCriteria" + }, + "Name": { + "type": "string" + }, + "Position": { + "type": "number" + } + }, + "required": [ + "FindingCriteria", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Macie::FindingsFilter" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Macie::FindingsFilter.Criterion": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::Macie::FindingsFilter.FindingCriteria": { + "additionalProperties": false, + "properties": { + "Criterion": { + "$ref": "#/definitions/AWS::Macie::FindingsFilter.Criterion" + } + }, + "type": "object" + }, + "AWS::Macie::Session": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FindingPublishingFrequency": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Macie::Session" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::ManagedBlockchain::Member": { "additionalProperties": false, "properties": { @@ -42461,6 +48928,14 @@ var CloudformationSchema = `{ "AWS::ManagedBlockchain::Member" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -42641,6 +49116,14 @@ var CloudformationSchema = `{ "AWS::ManagedBlockchain::Node" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -42706,6 +49189,12 @@ var CloudformationSchema = `{ "Description": { "type": "string" }, + "HopDestinations": { + "items": { + "$ref": "#/definitions/AWS::MediaConvert::JobTemplate.HopDestination" + }, + "type": "array" + }, "Name": { "type": "string" }, @@ -42735,6 +49224,14 @@ var CloudformationSchema = `{ "AWS::MediaConvert::JobTemplate" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -42750,9 +49247,24 @@ var CloudformationSchema = `{ "type": "string" } }, - "required": [ - "Mode" - ], + "required": [ + "Mode" + ], + "type": "object" + }, + "AWS::MediaConvert::JobTemplate.HopDestination": { + "additionalProperties": false, + "properties": { + "Priority": { + "type": "number" + }, + "Queue": { + "type": "string" + }, + "WaitMinutes": { + "type": "number" + } + }, "type": "object" }, "AWS::MediaConvert::Preset": { @@ -42813,6 +49325,14 @@ var CloudformationSchema = `{ "AWS::MediaConvert::Preset" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -42876,6 +49396,14 @@ var CloudformationSchema = `{ "AWS::MediaConvert::Queue" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -42956,6 +49484,14 @@ var CloudformationSchema = `{ "AWS::MediaLive::Channel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -43316,7 +49852,508 @@ var CloudformationSchema = `{ }, "type": "object" }, - "AWS::MediaLive::Input": { + "AWS::MediaLive::Input": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Input.InputDestinationRequest" + }, + "type": "array" + }, + "InputSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MediaConnectFlows": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Input.MediaConnectFlowRequest" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Input.InputSourceRequest" + }, + "type": "array" + }, + "Tags": { + "type": "object" + }, + "Type": { + "type": "string" + }, + "Vpc": { + "$ref": "#/definitions/AWS::MediaLive::Input.InputVpcRequest" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaLive::Input" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::MediaLive::Input.InputDestinationRequest": { + "additionalProperties": false, + "properties": { + "StreamName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Input.InputSourceRequest": { + "additionalProperties": false, + "properties": { + "PasswordParam": { + "type": "string" + }, + "Url": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Input.InputVpcRequest": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaLive::Input.MediaConnectFlowRequest": { + "additionalProperties": false, + "properties": { + "FlowArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::InputSecurityGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Tags": { + "type": "object" + }, + "WhitelistRules": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::InputSecurityGroup.InputWhitelistRuleCidr" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaLive::InputSecurityGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::MediaLive::InputSecurityGroup.InputWhitelistRuleCidr": { + "additionalProperties": false, + "properties": { + "Cidr": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaStore::Container": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessLoggingEnabled": { + "type": "boolean" + }, + "ContainerName": { + "type": "string" + }, + "CorsPolicy": { + "items": { + "$ref": "#/definitions/AWS::MediaStore::Container.CorsRule" + }, + "type": "array" + }, + "LifecyclePolicy": { + "type": "string" + }, + "MetricPolicy": { + "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicy" + }, + "Policy": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ContainerName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaStore::Container" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaStore::Container.CorsRule": { + "additionalProperties": false, + "properties": { + "AllowedHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedOrigins": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExposeHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxAgeSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaStore::Container.MetricPolicy": { + "additionalProperties": false, + "properties": { + "ContainerLevelMetrics": { + "type": "string" + }, + "MetricPolicyRules": { + "items": { + "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicyRule" + }, + "type": "array" + } + }, + "required": [ + "ContainerLevelMetrics" + ], + "type": "object" + }, + "AWS::MediaStore::Container.MetricPolicyRule": { + "additionalProperties": false, + "properties": { + "ObjectGroup": { + "type": "string" + }, + "ObjectGroupName": { + "type": "string" + } + }, + "required": [ + "ObjectGroup", + "ObjectGroupName" + ], + "type": "object" + }, + "AWS::Neptune::DBCluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BackupRetentionPeriod": { + "type": "number" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBClusterParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EngineVersion": { + "type": "string" + }, + "IamAuthEnabled": { + "type": "boolean" + }, + "KmsKeyId": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "RestoreToTime": { + "type": "string" + }, + "RestoreType": { + "type": "string" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Neptune::DBClusterParameterGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43348,112 +50385,228 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Destinations": { + "Description": { + "type": "string" + }, + "Family": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::MediaLive::Input.InputDestinationRequest" + "$ref": "#/definitions/Tag" }, "type": "array" + } + }, + "required": [ + "Description", + "Family", + "Parameters" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBClusterParameterGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Neptune::DBInstance": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" }, - "InputSecurityGroups": { + { "items": { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowMajorVersionUpgrade": { + "type": "boolean" }, - "MediaConnectFlows": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Input.MediaConnectFlowRequest" - }, - "type": "array" + "AutoMinorVersionUpgrade": { + "type": "boolean" }, - "Name": { + "AvailabilityZone": { "type": "string" }, - "RoleArn": { + "DBClusterIdentifier": { "type": "string" }, - "Sources": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Input.InputSourceRequest" - }, - "type": "array" + "DBInstanceClass": { + "type": "string" }, - "Tags": { - "type": "object" + "DBInstanceIdentifier": { + "type": "string" }, - "Type": { + "DBParameterGroupName": { "type": "string" }, - "Vpc": { - "$ref": "#/definitions/AWS::MediaLive::Input.InputVpcRequest" + "DBSnapshotIdentifier": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, + "required": [ + "DBInstanceClass" + ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaLive::Input" + "AWS::Neptune::DBInstance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::MediaLive::Input.InputDestinationRequest": { - "additionalProperties": false, - "properties": { - "StreamName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Input.InputSourceRequest": { + "AWS::Neptune::DBParameterGroup": { "additionalProperties": false, "properties": { - "PasswordParam": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Url": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Username": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Input.InputVpcRequest": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" + "Metadata": { + "type": "object" }, - "SubnetIds": { - "items": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Family": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::MediaLive::Input.MediaConnectFlowRequest": { - "additionalProperties": false, - "properties": { - "FlowArn": { + "required": [ + "Description", + "Family", + "Parameters" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBParameterGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaLive::InputSecurityGroup": { + "AWS::Neptune::DBSubnetGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43485,40 +50638,126 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Tags": { - "type": "object" + "DBSubnetGroupDescription": { + "type": "string" }, - "WhitelistRules": { + "DBSubnetGroupName": { + "type": "string" + }, + "SubnetIds": { "items": { - "$ref": "#/definitions/AWS::MediaLive::InputSecurityGroup.InputWhitelistRuleCidr" + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" }, "type": "array" } }, + "required": [ + "DBSubnetGroupDescription", + "SubnetIds" + ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaLive::InputSecurityGroup" + "AWS::Neptune::DBSubnetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::MediaLive::InputSecurityGroup.InputWhitelistRuleCidr": { + "AWS::NetworkManager::CustomerGatewayAssociation": { "additionalProperties": false, "properties": { - "Cidr": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CustomerGatewayArn": { + "type": "string" + }, + "DeviceId": { + "type": "string" + }, + "GlobalNetworkId": { + "type": "string" + }, + "LinkId": { + "type": "string" + } + }, + "required": [ + "CustomerGatewayArn", + "DeviceId", + "GlobalNetworkId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::CustomerGatewayAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaStore::Container": { + "AWS::NetworkManager::Device": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43550,33 +50789,53 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AccessLoggingEnabled": { - "type": "boolean" + "Description": { + "type": "string" }, - "ContainerName": { + "GlobalNetworkId": { "type": "string" }, - "CorsPolicy": { + "Location": { + "$ref": "#/definitions/AWS::NetworkManager::Device.Location" + }, + "Model": { + "type": "string" + }, + "SerialNumber": { + "type": "string" + }, + "SiteId": { + "type": "string" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::MediaStore::Container.CorsRule" + "$ref": "#/definitions/Tag" }, "type": "array" }, - "LifecyclePolicy": { + "Type": { "type": "string" }, - "Policy": { + "Vendor": { "type": "string" } }, "required": [ - "ContainerName" + "GlobalNetworkId" ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaStore::Container" + "AWS::NetworkManager::Device" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -43587,40 +50846,22 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::MediaStore::Container.CorsRule": { + "AWS::NetworkManager::Device.Location": { "additionalProperties": false, "properties": { - "AllowedHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedMethods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedOrigins": { - "items": { - "type": "string" - }, - "type": "array" + "Address": { + "type": "string" }, - "ExposeHeaders": { - "items": { - "type": "string" - }, - "type": "array" + "Latitude": { + "type": "string" }, - "MaxAgeSeconds": { - "type": "number" + "Longitude": { + "type": "string" } }, "type": "object" }, - "AWS::Neptune::DBCluster": { + "AWS::NetworkManager::GlobalNetwork": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43652,85 +50893,136 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AvailabilityZones": { + "Description": { + "type": "string" + }, + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" - }, - "BackupRetentionPeriod": { - "type": "number" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBClusterParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::GlobalNetwork" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::NetworkManager::Link": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, - "DeletionProtection": { - "type": "boolean" - }, - "EnableCloudwatchLogsExports": { + { "items": { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Bandwidth": { + "$ref": "#/definitions/AWS::NetworkManager::Link.Bandwidth" }, - "EngineVersion": { - "type": "string" - }, - "IamAuthEnabled": { - "type": "boolean" - }, - "KmsKeyId": { + "Description": { "type": "string" }, - "Port": { - "type": "number" - }, - "PreferredBackupWindow": { + "GlobalNetworkId": { "type": "string" }, - "PreferredMaintenanceWindow": { + "Provider": { "type": "string" }, - "SnapshotIdentifier": { + "SiteId": { "type": "string" }, - "StorageEncrypted": { - "type": "boolean" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" + "Type": { + "type": "string" } }, + "required": [ + "Bandwidth", + "GlobalNetworkId", + "SiteId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Neptune::DBCluster" + "AWS::NetworkManager::Link" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Neptune::DBClusterParameterGroup": { + "AWS::NetworkManager::Link.Bandwidth": { + "additionalProperties": false, + "properties": { + "DownloadSpeed": { + "type": "number" + }, + "UploadSpeed": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::NetworkManager::LinkAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43762,35 +51054,34 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "DeviceId": { "type": "string" }, - "Family": { + "GlobalNetworkId": { "type": "string" }, - "Name": { + "LinkId": { "type": "string" - }, - "Parameters": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, "required": [ - "Description", - "Family", - "Parameters" + "DeviceId", + "GlobalNetworkId", + "LinkId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Neptune::DBClusterParameterGroup" + "AWS::NetworkManager::LinkAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -43801,7 +51092,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Neptune::DBInstance": { + "AWS::NetworkManager::Site": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43833,35 +51124,14 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AllowMajorVersionUpgrade": { - "type": "boolean" - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZone": { - "type": "string" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBInstanceClass": { - "type": "string" - }, - "DBInstanceIdentifier": { - "type": "string" - }, - "DBParameterGroupName": { - "type": "string" - }, - "DBSnapshotIdentifier": { + "Description": { "type": "string" }, - "DBSubnetGroupName": { + "GlobalNetworkId": { "type": "string" }, - "PreferredMaintenanceWindow": { - "type": "string" + "Location": { + "$ref": "#/definitions/AWS::NetworkManager::Site.Location" }, "Tags": { "items": { @@ -43871,13 +51141,21 @@ var CloudformationSchema = `{ } }, "required": [ - "DBInstanceClass" + "GlobalNetworkId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Neptune::DBInstance" + "AWS::NetworkManager::Site" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -43888,78 +51166,22 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Neptune::DBParameterGroup": { + "AWS::NetworkManager::Site.Location": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Address": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Family": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Description", - "Family", - "Parameters" - ], - "type": "object" + "Latitude": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::Neptune::DBParameterGroup" - ], + "Longitude": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::Neptune::DBSubnetGroup": { + "AWS::NetworkManager::TransitGatewayRegistration": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43991,34 +51213,30 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DBSubnetGroupDescription": { + "GlobalNetworkId": { "type": "string" }, - "DBSubnetGroupName": { + "TransitGatewayArn": { "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, "required": [ - "DBSubnetGroupDescription", - "SubnetIds" + "GlobalNetworkId", + "TransitGatewayArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Neptune::DBSubnetGroup" + "AWS::NetworkManager::TransitGatewayRegistration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -44125,6 +51343,14 @@ var CloudformationSchema = `{ "AWS::OpsWorks::App" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -44256,6 +51482,14 @@ var CloudformationSchema = `{ "AWS::OpsWorks::ElasticLoadBalancerAttachment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -44384,6 +51618,14 @@ var CloudformationSchema = `{ "AWS::OpsWorks::Instance" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -44624,6 +51866,14 @@ var CloudformationSchema = `{ "AWS::OpsWorks::Layer" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -44893,6 +52143,14 @@ var CloudformationSchema = `{ "AWS::OpsWorks::Stack" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -45039,6 +52297,14 @@ var CloudformationSchema = `{ "AWS::OpsWorks::UserProfile" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -45103,6 +52369,14 @@ var CloudformationSchema = `{ "AWS::OpsWorks::Volume" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -45231,6 +52505,14 @@ var CloudformationSchema = `{ "AWS::OpsWorksCM::Server" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -45308,6 +52590,14 @@ var CloudformationSchema = `{ "AWS::Pinpoint::ADMChannel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -45386,6 +52676,14 @@ var CloudformationSchema = `{ "AWS::Pinpoint::APNSChannel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -45464,6 +52762,14 @@ var CloudformationSchema = `{ "AWS::Pinpoint::APNSSandboxChannel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -45542,6 +52848,14 @@ var CloudformationSchema = `{ "AWS::Pinpoint::APNSVoipChannel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -45620,6 +52934,14 @@ var CloudformationSchema = `{ "AWS::Pinpoint::APNSVoipSandboxChannel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -45677,6 +52999,14 @@ var CloudformationSchema = `{ "AWS::Pinpoint::App" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -45743,6 +53073,14 @@ var CloudformationSchema = `{ "AWS::Pinpoint::ApplicationSettings" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -45857,6 +53195,14 @@ var CloudformationSchema = `{ "AWS::Pinpoint::BaiduChannel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -45960,6 +53306,14 @@ var CloudformationSchema = `{ "AWS::Pinpoint::Campaign" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -46299,6 +53653,14 @@ var CloudformationSchema = `{ "AWS::Pinpoint::EmailChannel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -46372,6 +53734,14 @@ var CloudformationSchema = `{ "AWS::Pinpoint::EmailTemplate" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -46434,6 +53804,14 @@ var CloudformationSchema = `{ "AWS::Pinpoint::EventStream" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -46474,243 +53852,267 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ApiKey": { - "type": "string" - }, + "ApiKey": { + "type": "string" + }, + "ApplicationId": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "ApiKey", + "ApplicationId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::GCMChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::PushTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ADM": { + "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate" + }, + "APNS": { + "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.APNSPushNotificationTemplate" + }, + "Baidu": { + "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate" + }, + "Default": { + "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.DefaultPushNotificationTemplate" + }, + "DefaultSubstitutions": { + "type": "string" + }, + "GCM": { + "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate" + }, + "Tags": { + "type": "object" + }, + "TemplateDescription": { + "type": "string" + }, + "TemplateName": { + "type": "string" + } + }, + "required": [ + "TemplateName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::PushTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::PushTemplate.APNSPushNotificationTemplate": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Body": { + "type": "string" + }, + "MediaUrl": { + "type": "string" + }, + "Sound": { + "type": "string" + }, + "Title": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Body": { + "type": "string" + }, + "ImageIconUrl": { + "type": "string" + }, + "ImageUrl": { + "type": "string" + }, + "SmallImageIconUrl": { + "type": "string" + }, + "Sound": { + "type": "string" + }, + "Title": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::PushTemplate.DefaultPushNotificationTemplate": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Body": { + "type": "string" + }, + "Sound": { + "type": "string" + }, + "Title": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::SMSChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { "ApplicationId": { "type": "string" }, "Enabled": { "type": "boolean" - } - }, - "required": [ - "ApiKey", - "ApplicationId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::GCMChannel" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::PushTemplate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ADM": { - "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate" - }, - "APNS": { - "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.APNSPushNotificationTemplate" - }, - "Baidu": { - "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate" - }, - "Default": { - "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.DefaultPushNotificationTemplate" }, - "DefaultSubstitutions": { - "type": "string" - }, - "GCM": { - "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate" - }, - "Tags": { - "type": "object" - }, - "TemplateDescription": { + "SenderId": { "type": "string" }, - "TemplateName": { + "ShortCode": { "type": "string" } }, "required": [ - "TemplateName" + "ApplicationId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::PushTemplate" + "AWS::Pinpoint::SMSChannel" ], "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::PushTemplate.APNSPushNotificationTemplate": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "Body": { - "type": "string" - }, - "MediaUrl": { - "type": "string" - }, - "Sound": { - "type": "string" - }, - "Title": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "Body": { - "type": "string" - }, - "ImageIconUrl": { - "type": "string" - }, - "ImageUrl": { - "type": "string" - }, - "SmallImageIconUrl": { - "type": "string" }, - "Sound": { - "type": "string" - }, - "Title": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::PushTemplate.DefaultPushNotificationTemplate": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "Body": { - "type": "string" - }, - "Sound": { - "type": "string" - }, - "Title": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::SMSChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { + "UpdateReplacePolicy": { "enum": [ "Delete", "Retain", "Snapshot" ], "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "SenderId": { - "type": "string" - }, - "ShortCode": { - "type": "string" - } - }, - "required": [ - "ApplicationId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::SMSChannel" - ], - "type": "string" } }, "required": [ @@ -46778,6 +54180,14 @@ var CloudformationSchema = `{ "AWS::Pinpoint::Segment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -47046,6 +54456,14 @@ var CloudformationSchema = `{ "AWS::Pinpoint::SmsTemplate" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -47103,6 +54521,14 @@ var CloudformationSchema = `{ "AWS::Pinpoint::VoiceChannel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -47175,6 +54601,14 @@ var CloudformationSchema = `{ "AWS::PinpointEmail::ConfigurationSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -47284,6 +54718,14 @@ var CloudformationSchema = `{ "AWS::PinpointEmail::ConfigurationSetEventDestination" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -47440,6 +54882,14 @@ var CloudformationSchema = `{ "AWS::PinpointEmail::DedicatedIpPool" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -47520,6 +54970,14 @@ var CloudformationSchema = `{ "AWS::PinpointEmail::Identity" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -47610,6 +55068,14 @@ var CloudformationSchema = `{ "AWS::QLDB::Ledger" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -47685,6 +55151,14 @@ var CloudformationSchema = `{ "AWS::RAM::ResourceShare" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -47844,6 +55318,14 @@ var CloudformationSchema = `{ "AWS::RDS::DBCluster" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -47945,6 +55427,14 @@ var CloudformationSchema = `{ "AWS::RDS::DBClusterParameterGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -48170,6 +55660,14 @@ var CloudformationSchema = `{ "AWS::RDS::DBInstance" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -48271,6 +55769,229 @@ var CloudformationSchema = `{ "AWS::RDS::DBParameterGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBProxy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Auth": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBProxy.AuthFormat" + }, + "type": "array" + }, + "DBProxyName": { + "type": "string" + }, + "DebugLogging": { + "type": "boolean" + }, + "EngineFamily": { + "type": "string" + }, + "IdleClientTimeout": { + "type": "number" + }, + "RequireTLS": { + "type": "boolean" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBProxy.TagFormat" + }, + "type": "array" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcSubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Auth", + "DBProxyName", + "EngineFamily", + "RoleArn", + "VpcSubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBProxy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBProxy.AuthFormat": { + "additionalProperties": false, + "properties": { + "AuthScheme": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "IAMAuth": { + "type": "string" + }, + "SecretArn": { + "type": "string" + }, + "UserName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RDS::DBProxy.TagFormat": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RDS::DBProxyTargetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConnectionPoolConfigurationInfo": { + "$ref": "#/definitions/AWS::RDS::DBProxyTargetGroup.ConnectionPoolConfigurationInfoFormat" + }, + "DBClusterIdentifiers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DBInstanceIdentifiers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DBProxyName": { + "type": "string" + } + }, + "required": [ + "DBProxyName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBProxyTargetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -48279,6 +56000,30 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::RDS::DBProxyTargetGroup.ConnectionPoolConfigurationInfoFormat": { + "additionalProperties": false, + "properties": { + "ConnectionBorrowTimeout": { + "type": "number" + }, + "InitQuery": { + "type": "string" + }, + "MaxConnectionsPercent": { + "type": "number" + }, + "MaxIdleConnectionsPercent": { + "type": "number" + }, + "SessionPinningFilters": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::RDS::DBSecurityGroup": { "additionalProperties": false, "properties": { @@ -48341,6 +56086,14 @@ var CloudformationSchema = `{ "AWS::RDS::DBSecurityGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -48425,6 +56178,14 @@ var CloudformationSchema = `{ "AWS::RDS::DBSecurityGroupIngress" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -48495,6 +56256,14 @@ var CloudformationSchema = `{ "AWS::RDS::DBSubnetGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -48567,6 +56336,14 @@ var CloudformationSchema = `{ "AWS::RDS::EventSubscription" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -48642,6 +56419,14 @@ var CloudformationSchema = `{ "AWS::RDS::OptionGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -48844,6 +56629,14 @@ var CloudformationSchema = `{ "AWS::Redshift::Cluster" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -48929,6 +56722,14 @@ var CloudformationSchema = `{ "AWS::Redshift::ClusterParameterGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -49005,6 +56806,14 @@ var CloudformationSchema = `{ "AWS::Redshift::ClusterSecurityGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -49068,6 +56877,14 @@ var CloudformationSchema = `{ "AWS::Redshift::ClusterSecurityGroupIngress" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -49135,6 +56952,14 @@ var CloudformationSchema = `{ "AWS::Redshift::ClusterSubnetGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -49143,6 +56968,128 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::ResourceGroups::Group": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ResourceQuery": { + "$ref": "#/definitions/AWS::ResourceGroups::Group.ResourceQuery" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ResourceGroups::Group" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ResourceGroups::Group.Query": { + "additionalProperties": false, + "properties": { + "ResourceTypeFilters": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StackIdentifier": { + "type": "string" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::ResourceGroups::Group.TagFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ResourceGroups::Group.ResourceQuery": { + "additionalProperties": false, + "properties": { + "Query": { + "$ref": "#/definitions/AWS::ResourceGroups::Group.Query" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ResourceGroups::Group.TagFilter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::RoboMaker::Fleet": { "additionalProperties": false, "properties": { @@ -49189,6 +57136,14 @@ var CloudformationSchema = `{ "AWS::RoboMaker::Fleet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -49255,6 +57210,14 @@ var CloudformationSchema = `{ "AWS::RoboMaker::Robot" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -49325,6 +57288,14 @@ var CloudformationSchema = `{ "AWS::RoboMaker::RobotApplication" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -49418,6 +57389,14 @@ var CloudformationSchema = `{ "AWS::RoboMaker::RobotApplicationVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -49496,6 +57475,14 @@ var CloudformationSchema = `{ "AWS::RoboMaker::SimulationApplication" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -49621,6 +57608,14 @@ var CloudformationSchema = `{ "AWS::RoboMaker::SimulationApplicationVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -49681,6 +57676,14 @@ var CloudformationSchema = `{ "AWS::Route53::HealthCheck" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -49848,6 +57851,14 @@ var CloudformationSchema = `{ "AWS::Route53::HostedZone" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -50001,6 +58012,14 @@ var CloudformationSchema = `{ "AWS::Route53::RecordSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -50098,6 +58117,14 @@ var CloudformationSchema = `{ "AWS::Route53::RecordSetGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -50266,6 +58293,14 @@ var CloudformationSchema = `{ "AWS::Route53Resolver::ResolverEndpoint" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -50357,6 +58392,14 @@ var CloudformationSchema = `{ "AWS::Route53Resolver::ResolverRule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -50433,6 +58476,14 @@ var CloudformationSchema = `{ "AWS::Route53Resolver::ResolverRuleAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -50508,6 +58559,14 @@ var CloudformationSchema = `{ "AWS::S3::AccessPoint" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -50649,6 +58708,14 @@ var CloudformationSchema = `{ "AWS::S3::Bucket" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -50818,6 +58885,15 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::S3::Bucket.DeleteMarkerReplication": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "type": "object" + }, "AWS::S3::Bucket.Destination": { "additionalProperties": false, "properties": { @@ -50951,6 +59027,22 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::S3::Bucket.Metrics": { + "additionalProperties": false, + "properties": { + "EventThreshold": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTimeValue" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "EventThreshold", + "Status" + ], + "type": "object" + }, "AWS::S3::Bucket.MetricsConfiguration": { "additionalProperties": false, "properties": { @@ -51152,6 +59244,12 @@ var CloudformationSchema = `{ "EncryptionConfiguration": { "$ref": "#/definitions/AWS::S3::Bucket.EncryptionConfiguration" }, + "Metrics": { + "$ref": "#/definitions/AWS::S3::Bucket.Metrics" + }, + "ReplicationTime": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTime" + }, "StorageClass": { "type": "string" } @@ -51164,15 +59262,24 @@ var CloudformationSchema = `{ "AWS::S3::Bucket.ReplicationRule": { "additionalProperties": false, "properties": { + "DeleteMarkerReplication": { + "$ref": "#/definitions/AWS::S3::Bucket.DeleteMarkerReplication" + }, "Destination": { "$ref": "#/definitions/AWS::S3::Bucket.ReplicationDestination" }, + "Filter": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRuleFilter" + }, "Id": { "type": "string" }, "Prefix": { "type": "string" }, + "Priority": { + "type": "number" + }, "SourceSelectionCriteria": { "$ref": "#/definitions/AWS::S3::Bucket.SourceSelectionCriteria" }, @@ -51182,11 +59289,68 @@ var CloudformationSchema = `{ }, "required": [ "Destination", - "Prefix", "Status" ], "type": "object" }, + "AWS::S3::Bucket.ReplicationRuleAndOperator": { + "additionalProperties": false, + "properties": { + "Prefix": { + "type": "string" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.ReplicationRuleFilter": { + "additionalProperties": false, + "properties": { + "And": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRuleAndOperator" + }, + "Prefix": { + "type": "string" + }, + "TagFilter": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.ReplicationTime": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + }, + "Time": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTimeValue" + } + }, + "required": [ + "Status", + "Time" + ], + "type": "object" + }, + "AWS::S3::Bucket.ReplicationTimeValue": { + "additionalProperties": false, + "properties": { + "Minutes": { + "type": "number" + } + }, + "required": [ + "Minutes" + ], + "type": "object" + }, "AWS::S3::Bucket.RoutingRule": { "additionalProperties": false, "properties": { @@ -51476,6 +59640,14 @@ var CloudformationSchema = `{ "AWS::S3::BucketPolicy" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -51527,6 +59699,14 @@ var CloudformationSchema = `{ "AWS::SDB::Domain" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -51577,6 +59757,14 @@ var CloudformationSchema = `{ "AWS::SES::ConfigurationSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -51634,6 +59822,14 @@ var CloudformationSchema = `{ "AWS::SES::ConfigurationSetEventDestination" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -51763,6 +59959,14 @@ var CloudformationSchema = `{ "AWS::SES::ReceiptFilter" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -51855,6 +60059,14 @@ var CloudformationSchema = `{ "AWS::SES::ReceiptRule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -52086,6 +60298,14 @@ var CloudformationSchema = `{ "AWS::SES::ReceiptRuleSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -52136,6 +60356,14 @@ var CloudformationSchema = `{ "AWS::SES::Template" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -52229,6 +60457,14 @@ var CloudformationSchema = `{ "AWS::SNS::Subscription" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -52269,9 +60505,15 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "ContentBasedDeduplication": { + "type": "boolean" + }, "DisplayName": { "type": "string" }, + "FifoTopic": { + "type": "boolean" + }, "KmsMasterKeyId": { "type": "string" }, @@ -52298,6 +60540,14 @@ var CloudformationSchema = `{ "AWS::SNS::Topic" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -52374,6 +60624,14 @@ var CloudformationSchema = `{ "AWS::SNS::TopicPolicy" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -52461,6 +60719,14 @@ var CloudformationSchema = `{ "AWS::SQS::Queue" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -52521,6 +60787,14 @@ var CloudformationSchema = `{ "AWS::SQS::QueuePolicy" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -52564,12 +60838,24 @@ var CloudformationSchema = `{ "AssociationName": { "type": "string" }, + "AutomationTargetParameterName": { + "type": "string" + }, + "ComplianceSeverity": { + "type": "string" + }, "DocumentVersion": { "type": "string" }, "InstanceId": { "type": "string" }, + "MaxConcurrency": { + "type": "string" + }, + "MaxErrors": { + "type": "string" + }, "Name": { "type": "string" }, @@ -52577,10 +60863,10 @@ var CloudformationSchema = `{ "$ref": "#/definitions/AWS::SSM::Association.InstanceAssociationOutputLocation" }, "Parameters": { - "additionalProperties": false, + "additionalProperties": true, "patternProperties": { "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::SSM::Association.ParameterValues" + "type": "object" } }, "type": "object" @@ -52588,11 +60874,17 @@ var CloudformationSchema = `{ "ScheduleExpression": { "type": "string" }, + "SyncCompliance": { + "type": "string" + }, "Targets": { "items": { "$ref": "#/definitions/AWS::SSM::Association.Target" }, "type": "array" + }, + "WaitForSuccessTimeoutSeconds": { + "type": "number" } }, "required": [ @@ -52605,6 +60897,14 @@ var CloudformationSchema = `{ "AWS::SSM::Association" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -52622,21 +60922,6 @@ var CloudformationSchema = `{ }, "type": "object" }, - "AWS::SSM::Association.ParameterValues": { - "additionalProperties": false, - "properties": { - "ParameterValues": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ParameterValues" - ], - "type": "object" - }, "AWS::SSM::Association.S3OutputLocation": { "additionalProperties": false, "properties": { @@ -52645,6 +60930,9 @@ var CloudformationSchema = `{ }, "OutputS3KeyPrefix": { "type": "string" + }, + "OutputS3Region": { + "type": "string" } }, "type": "object" @@ -52726,6 +61014,14 @@ var CloudformationSchema = `{ "AWS::SSM::Document" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -52814,6 +61110,14 @@ var CloudformationSchema = `{ "AWS::SSM::MaintenanceWindow" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -52888,6 +61192,14 @@ var CloudformationSchema = `{ "AWS::SSM::MaintenanceWindowTarget" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -53005,6 +61317,14 @@ var CloudformationSchema = `{ "AWS::SSM::MaintenanceWindowTask" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -53196,6 +61516,9 @@ var CloudformationSchema = `{ "AllowedPattern": { "type": "string" }, + "DataType": { + "type": "string" + }, "Description": { "type": "string" }, @@ -53229,6 +61552,14 @@ var CloudformationSchema = `{ "AWS::SSM::Parameter" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -53334,6 +61665,14 @@ var CloudformationSchema = `{ "AWS::SSM::PatchBaseline" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -53387,12 +61726,20 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::SSM::PatchBaseline.PatchStringDate": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::SSM::PatchBaseline.Rule": { "additionalProperties": false, "properties": { "ApproveAfterDays": { "type": "number" }, + "ApproveUntilDate": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchStringDate" + }, "ComplianceLevel": { "type": "string" }, @@ -53487,6 +61834,14 @@ var CloudformationSchema = `{ "AWS::SSM::ResourceDataSync" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -53613,6 +61968,14 @@ var CloudformationSchema = `{ "AWS::SageMaker::CodeRepository" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -53703,6 +62066,14 @@ var CloudformationSchema = `{ "AWS::SageMaker::Endpoint" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -53781,6 +62152,14 @@ var CloudformationSchema = `{ "AWS::SageMaker::EndpointConfig" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -53887,6 +62266,14 @@ var CloudformationSchema = `{ "AWS::SageMaker::Model" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -54039,6 +62426,14 @@ var CloudformationSchema = `{ "AWS::SageMaker::NotebookInstance" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -54102,6 +62497,14 @@ var CloudformationSchema = `{ "AWS::SageMaker::NotebookInstanceLifecycleConfig" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -54179,6 +62582,14 @@ var CloudformationSchema = `{ "AWS::SageMaker::Workteam" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -54280,6 +62691,14 @@ var CloudformationSchema = `{ "AWS::SecretsManager::ResourcePolicy" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -54340,6 +62759,14 @@ var CloudformationSchema = `{ "AWS::SecretsManager::RotationSchedule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -54389,183 +62816,207 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "GenerateSecretString": { - "$ref": "#/definitions/AWS::SecretsManager::Secret.GenerateSecretString" - }, - "KmsKeyId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "SecretString": { - "type": "string" - }, + "Description": { + "type": "string" + }, + "GenerateSecretString": { + "$ref": "#/definitions/AWS::SecretsManager::Secret.GenerateSecretString" + }, + "KmsKeyId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SecretString": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecretsManager::Secret" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SecretsManager::Secret.GenerateSecretString": { + "additionalProperties": false, + "properties": { + "ExcludeCharacters": { + "type": "string" + }, + "ExcludeLowercase": { + "type": "boolean" + }, + "ExcludeNumbers": { + "type": "boolean" + }, + "ExcludePunctuation": { + "type": "boolean" + }, + "ExcludeUppercase": { + "type": "boolean" + }, + "GenerateStringKey": { + "type": "string" + }, + "IncludeSpace": { + "type": "boolean" + }, + "PasswordLength": { + "type": "number" + }, + "RequireEachIncludedType": { + "type": "boolean" + }, + "SecretStringTemplate": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SecretsManager::SecretTargetAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "SecretId": { + "type": "string" + }, + "TargetId": { + "type": "string" + }, + "TargetType": { + "type": "string" + } + }, + "required": [ + "SecretId", + "TargetId", + "TargetType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecretsManager::SecretTargetAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SecurityHub::Hub": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "type": "object" } }, "type": "object" }, "Type": { "enum": [ - "AWS::SecretsManager::Secret" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SecretsManager::Secret.GenerateSecretString": { - "additionalProperties": false, - "properties": { - "ExcludeCharacters": { - "type": "string" - }, - "ExcludeLowercase": { - "type": "boolean" - }, - "ExcludeNumbers": { - "type": "boolean" - }, - "ExcludePunctuation": { - "type": "boolean" - }, - "ExcludeUppercase": { - "type": "boolean" - }, - "GenerateStringKey": { - "type": "string" - }, - "IncludeSpace": { - "type": "boolean" - }, - "PasswordLength": { - "type": "number" - }, - "RequireEachIncludedType": { - "type": "boolean" - }, - "SecretStringTemplate": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SecretsManager::SecretTargetAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" + "AWS::SecurityHub::Hub" ], "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "SecretId": { - "type": "string" - }, - "TargetId": { - "type": "string" - }, - "TargetType": { - "type": "string" - } - }, - "required": [ - "SecretId", - "TargetId", - "TargetType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecretsManager::SecretTargetAttachment" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SecurityHub::Hub": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { + "UpdateReplacePolicy": { "enum": [ "Delete", "Retain", "Snapshot" ], "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Tags": { - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecurityHub::Hub" - ], - "type": "string" } }, "required": [ @@ -54622,6 +63073,14 @@ var CloudformationSchema = `{ "AWS::ServiceCatalog::AcceptedPortfolioShare" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -54683,6 +63142,9 @@ var CloudformationSchema = `{ }, "type": "array" }, + "ReplaceProvisioningArtifacts": { + "type": "boolean" + }, "SupportDescription": { "type": "string" }, @@ -54711,6 +63173,14 @@ var CloudformationSchema = `{ "AWS::ServiceCatalog::CloudFormationProduct" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -54822,6 +63292,14 @@ var CloudformationSchema = `{ "AWS::ServiceCatalog::CloudFormationProvisionedProduct" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -54937,6 +63415,14 @@ var CloudformationSchema = `{ "AWS::ServiceCatalog::LaunchNotificationConstraint" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -54983,6 +63469,9 @@ var CloudformationSchema = `{ "Description": { "type": "string" }, + "LocalRoleName": { + "type": "string" + }, "PortfolioId": { "type": "string" }, @@ -54995,8 +63484,7 @@ var CloudformationSchema = `{ }, "required": [ "PortfolioId", - "ProductId", - "RoleArn" + "ProductId" ], "type": "object" }, @@ -55005,6 +63493,14 @@ var CloudformationSchema = `{ "AWS::ServiceCatalog::LaunchRoleConstraint" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -55073,6 +63569,14 @@ var CloudformationSchema = `{ "AWS::ServiceCatalog::LaunchTemplateConstraint" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -55143,6 +63647,14 @@ var CloudformationSchema = `{ "AWS::ServiceCatalog::Portfolio" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -55208,6 +63720,14 @@ var CloudformationSchema = `{ "AWS::ServiceCatalog::PortfolioPrincipalAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -55272,6 +63792,14 @@ var CloudformationSchema = `{ "AWS::ServiceCatalog::PortfolioProductAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -55333,6 +63861,14 @@ var CloudformationSchema = `{ "AWS::ServiceCatalog::PortfolioShare" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -55401,6 +63937,14 @@ var CloudformationSchema = `{ "AWS::ServiceCatalog::ResourceUpdateConstraint" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -55492,6 +64036,14 @@ var CloudformationSchema = `{ "AWS::ServiceCatalog::StackSetConstraint" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -55553,6 +64105,14 @@ var CloudformationSchema = `{ "AWS::ServiceCatalog::TagOption" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -55611,6 +64171,14 @@ var CloudformationSchema = `{ "AWS::ServiceCatalog::TagOptionAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -55656,6 +64224,12 @@ var CloudformationSchema = `{ }, "Name": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -55668,6 +64242,14 @@ var CloudformationSchema = `{ "AWS::ServiceDiscovery::HttpNamespace" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -55729,6 +64311,14 @@ var CloudformationSchema = `{ "AWS::ServiceDiscovery::Instance" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -55775,6 +64365,12 @@ var CloudformationSchema = `{ "Name": { "type": "string" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "Vpc": { "type": "string" } @@ -55790,6 +64386,14 @@ var CloudformationSchema = `{ "AWS::ServiceDiscovery::PrivateDnsNamespace" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -55835,6 +64439,12 @@ var CloudformationSchema = `{ }, "Name": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -55847,6 +64457,14 @@ var CloudformationSchema = `{ "AWS::ServiceDiscovery::PublicDnsNamespace" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -55904,6 +64522,12 @@ var CloudformationSchema = `{ }, "NamespaceId": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "type": "object" @@ -55913,6 +64537,14 @@ var CloudformationSchema = `{ "AWS::ServiceDiscovery::Service" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -56036,6 +64668,14 @@ var CloudformationSchema = `{ "AWS::StepFunctions::Activity" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -56092,9 +64732,15 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "DefinitionS3Location": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachine.S3Location" + }, "DefinitionString": { "type": "string" }, + "DefinitionSubstitutions": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachine.DefinitionSubstitutions" + }, "LoggingConfiguration": { "$ref": "#/definitions/AWS::StepFunctions::StateMachine.LoggingConfiguration" }, @@ -56115,7 +64761,6 @@ var CloudformationSchema = `{ } }, "required": [ - "DefinitionString", "RoleArn" ], "type": "object" @@ -56125,6 +64770,14 @@ var CloudformationSchema = `{ "AWS::StepFunctions::StateMachine" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -56145,6 +64798,11 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::StepFunctions::StateMachine.DefinitionSubstitutions": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::StepFunctions::StateMachine.LogDestination": { "additionalProperties": false, "properties": { @@ -56172,6 +64830,25 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::StepFunctions::StateMachine.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, "AWS::StepFunctions::StateMachine.TagsEntry": { "additionalProperties": false, "properties": { @@ -56188,6 +64865,185 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::Synthetics::Canary": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ArtifactS3Location": { + "type": "string" + }, + "Code": { + "$ref": "#/definitions/AWS::Synthetics::Canary.Code" + }, + "ExecutionRoleArn": { + "type": "string" + }, + "FailureRetentionPeriod": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "RunConfig": { + "$ref": "#/definitions/AWS::Synthetics::Canary.RunConfig" + }, + "RuntimeVersion": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::Synthetics::Canary.Schedule" + }, + "StartCanaryAfterCreation": { + "type": "boolean" + }, + "SuccessRetentionPeriod": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VPCConfig": { + "$ref": "#/definitions/AWS::Synthetics::Canary.VPCConfig" + } + }, + "required": [ + "ArtifactS3Location", + "Code", + "ExecutionRoleArn", + "Name", + "RunConfig", + "RuntimeVersion", + "Schedule", + "StartCanaryAfterCreation" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Synthetics::Canary" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Synthetics::Canary.Code": { + "additionalProperties": false, + "properties": { + "Handler": { + "type": "string" + }, + "S3Bucket": { + "type": "string" + }, + "S3Key": { + "type": "string" + }, + "S3ObjectVersion": { + "type": "string" + }, + "Script": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Synthetics::Canary.RunConfig": { + "additionalProperties": false, + "properties": { + "TimeoutInSeconds": { + "type": "number" + } + }, + "required": [ + "TimeoutInSeconds" + ], + "type": "object" + }, + "AWS::Synthetics::Canary.Schedule": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "string" + }, + "Expression": { + "type": "string" + } + }, + "required": [ + "DurationInSeconds", + "Expression" + ], + "type": "object" + }, + "AWS::Synthetics::Canary.VPCConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "SecurityGroupIds", + "SubnetIds" + ], + "type": "object" + }, "AWS::Transfer::Server": { "additionalProperties": false, "properties": { @@ -56220,6 +65076,9 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "Certificate": { + "type": "string" + }, "EndpointDetails": { "$ref": "#/definitions/AWS::Transfer::Server.EndpointDetails" }, @@ -56235,6 +65094,12 @@ var CloudformationSchema = `{ "LoggingRole": { "type": "string" }, + "Protocols": { + "items": { + "$ref": "#/definitions/AWS::Transfer::Server.Protocol" + }, + "type": "array" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -56249,6 +65114,14 @@ var CloudformationSchema = `{ "AWS::Transfer::Server" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -56296,6 +65169,11 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::Transfer::Server.Protocol": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::Transfer::User": { "additionalProperties": false, "properties": { @@ -56377,6 +65255,14 @@ var CloudformationSchema = `{ "AWS::Transfer::User" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -56458,6 +65344,14 @@ var CloudformationSchema = `{ "AWS::WAF::ByteMatchSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -56559,6 +65453,14 @@ var CloudformationSchema = `{ "AWS::WAF::IPSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -56639,6 +65541,14 @@ var CloudformationSchema = `{ "AWS::WAF::Rule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -56720,6 +65630,14 @@ var CloudformationSchema = `{ "AWS::WAF::SizeConstraintSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -56819,6 +65737,14 @@ var CloudformationSchema = `{ "AWS::WAF::SqlInjectionMatchSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -56918,6 +65844,14 @@ var CloudformationSchema = `{ "AWS::WAF::WebACL" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -57010,6 +65944,14 @@ var CloudformationSchema = `{ "AWS::WAF::XssMatchSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -57101,6 +66043,14 @@ var CloudformationSchema = `{ "AWS::WAFRegional::ByteMatchSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -57202,6 +66152,14 @@ var CloudformationSchema = `{ "AWS::WAFRegional::GeoMatchSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -57278,6 +66236,14 @@ var CloudformationSchema = `{ "AWS::WAFRegional::IPSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -57366,6 +66332,14 @@ var CloudformationSchema = `{ "AWS::WAFRegional::RateBasedRule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -57447,6 +66421,14 @@ var CloudformationSchema = `{ "AWS::WAFRegional::RegexPatternSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -57511,6 +66493,14 @@ var CloudformationSchema = `{ "AWS::WAFRegional::Rule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -57591,6 +66581,14 @@ var CloudformationSchema = `{ "AWS::WAFRegional::SizeConstraintSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -57690,6 +66688,14 @@ var CloudformationSchema = `{ "AWS::WAFRegional::SqlInjectionMatchSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -57789,6 +66795,14 @@ var CloudformationSchema = `{ "AWS::WAFRegional::WebACL" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -57879,6 +66893,14 @@ var CloudformationSchema = `{ "AWS::WAFRegional::WebACLAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -57939,6 +66961,14 @@ var CloudformationSchema = `{ "AWS::WAFRegional::XssMatchSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -58047,6 +67077,14 @@ var CloudformationSchema = `{ "AWS::WAFv2::IPSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -58120,6 +67158,14 @@ var CloudformationSchema = `{ "AWS::WAFv2::RegexPatternSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -58200,6 +67246,14 @@ var CloudformationSchema = `{ "AWS::WAFv2::RuleGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -58263,7 +67317,6 @@ var CloudformationSchema = `{ "required": [ "FieldToMatch", "PositionalConstraint", - "SearchString", "TextTransformations" ], "type": "object" @@ -58754,6 +67807,14 @@ var CloudformationSchema = `{ "AWS::WAFv2::WebACL" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -58817,7 +67878,6 @@ var CloudformationSchema = `{ "required": [ "FieldToMatch", "PositionalConstraint", - "SearchString", "TextTransformations" ], "type": "object" @@ -59383,6 +68443,14 @@ var CloudformationSchema = `{ "AWS::WAFv2::WebACLAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -59463,6 +68531,14 @@ var CloudformationSchema = `{ "AWS::WorkSpaces::Workspace" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -59546,6 +68622,14 @@ var CloudformationSchema = `{ "Alexa::ASK::Skill" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -59912,6 +68996,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::AppConfig::Environment" }, + { + "$ref": "#/definitions/AWS::AppConfig::HostedConfigurationVersion" + }, { "$ref": "#/definitions/AWS::AppMesh::Mesh" }, @@ -59978,6 +69065,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::Athena::NamedQuery" }, + { + "$ref": "#/definitions/AWS::Athena::WorkGroup" + }, { "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup" }, @@ -60017,9 +69107,21 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::Budgets::Budget" }, + { + "$ref": "#/definitions/AWS::CE::CostCategory" + }, + { + "$ref": "#/definitions/AWS::Cassandra::Keyspace" + }, + { + "$ref": "#/definitions/AWS::Cassandra::Table" + }, { "$ref": "#/definitions/AWS::CertificateManager::Certificate" }, + { + "$ref": "#/definitions/AWS::Chatbot::SlackChannelConfiguration" + }, { "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2" }, @@ -60056,6 +69158,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector" }, + { + "$ref": "#/definitions/AWS::CloudWatch::CompositeAlarm" + }, { "$ref": "#/definitions/AWS::CloudWatch::Dashboard" }, @@ -60083,6 +69188,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup" }, + { + "$ref": "#/definitions/AWS::CodeGuruProfiler::ProfilingGroup" + }, { "$ref": "#/definitions/AWS::CodePipeline::CustomActionType" }, @@ -60095,6 +69203,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::CodeStar::GitHubRepository" }, + { + "$ref": "#/definitions/AWS::CodeStarConnections::Connection" + }, { "$ref": "#/definitions/AWS::CodeStarNotifications::NotificationRule" }, @@ -60194,6 +69305,12 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::DataPipeline::Pipeline" }, + { + "$ref": "#/definitions/AWS::Detective::Graph" + }, + { + "$ref": "#/definitions/AWS::Detective::MemberInvitation" + }, { "$ref": "#/definitions/AWS::DirectoryService::MicrosoftAD" }, @@ -60401,6 +69518,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::ECR::Repository" }, + { + "$ref": "#/definitions/AWS::ECS::CapacityProvider" + }, { "$ref": "#/definitions/AWS::ECS::Cluster" }, @@ -60416,6 +69536,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::ECS::TaskSet" }, + { + "$ref": "#/definitions/AWS::EFS::AccessPoint" + }, { "$ref": "#/definitions/AWS::EFS::FileSystem" }, @@ -60500,6 +69623,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::EventSchemas::Registry" }, + { + "$ref": "#/definitions/AWS::EventSchemas::RegistryPolicy" + }, { "$ref": "#/definitions/AWS::EventSchemas::Schema" }, @@ -60542,6 +69668,15 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::GameLift::Script" }, + { + "$ref": "#/definitions/AWS::GlobalAccelerator::Accelerator" + }, + { + "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup" + }, + { + "$ref": "#/definitions/AWS::GlobalAccelerator::Listener" + }, { "$ref": "#/definitions/AWS::Glue::Classifier" }, @@ -60674,6 +69809,24 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::IAM::UserToGroupAddition" }, + { + "$ref": "#/definitions/AWS::ImageBuilder::Component" + }, + { + "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration" + }, + { + "$ref": "#/definitions/AWS::ImageBuilder::Image" + }, + { + "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline" + }, + { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe" + }, + { + "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration" + }, { "$ref": "#/definitions/AWS::Inspector::AssessmentTarget" }, @@ -60701,6 +69854,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::IoT::PolicyPrincipalAttachment" }, + { + "$ref": "#/definitions/AWS::IoT::ProvisioningTemplate" + }, { "$ref": "#/definitions/AWS::IoT::Thing" }, @@ -60818,6 +69974,15 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::MSK::Cluster" }, + { + "$ref": "#/definitions/AWS::Macie::CustomDataIdentifier" + }, + { + "$ref": "#/definitions/AWS::Macie::FindingsFilter" + }, + { + "$ref": "#/definitions/AWS::Macie::Session" + }, { "$ref": "#/definitions/AWS::ManagedBlockchain::Member" }, @@ -60860,6 +70025,27 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::Neptune::DBSubnetGroup" }, + { + "$ref": "#/definitions/AWS::NetworkManager::CustomerGatewayAssociation" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::Device" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::GlobalNetwork" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::Link" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::LinkAssociation" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::Site" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::TransitGatewayRegistration" + }, { "$ref": "#/definitions/AWS::OpsWorks::App" }, @@ -60968,6 +70154,12 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::RDS::DBParameterGroup" }, + { + "$ref": "#/definitions/AWS::RDS::DBProxy" + }, + { + "$ref": "#/definitions/AWS::RDS::DBProxyTargetGroup" + }, { "$ref": "#/definitions/AWS::RDS::DBSecurityGroup" }, @@ -60998,6 +70190,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::Redshift::ClusterSubnetGroup" }, + { + "$ref": "#/definitions/AWS::ResourceGroups::Group" + }, { "$ref": "#/definitions/AWS::RoboMaker::Fleet" }, @@ -61205,6 +70400,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::StepFunctions::StateMachine" }, + { + "$ref": "#/definitions/AWS::Synthetics::Canary" + }, { "$ref": "#/definitions/AWS::Transfer::Server" }, diff --git a/schema/cloudformation.schema.json b/schema/cloudformation.schema.json index 68628c0cf3..5a452556dc 100644 --- a/schema/cloudformation.schema.json +++ b/schema/cloudformation.schema.json @@ -63,6 +63,14 @@ "AWS::ACMPCA::Certificate" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -154,6 +162,14 @@ "AWS::ACMPCA::CertificateAuthority" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -293,6 +309,14 @@ "AWS::ACMPCA::CertificateAuthorityActivation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -362,6 +386,14 @@ "AWS::AccessAnalyzer::Analyzer" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -532,6 +564,14 @@ "AWS::AmazonMQ::Broker" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -711,6 +751,14 @@ "AWS::AmazonMQ::Configuration" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -785,6 +833,14 @@ "AWS::AmazonMQ::ConfigurationAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -897,6 +953,14 @@ "AWS::Amplify::App" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -1080,6 +1144,14 @@ "AWS::Amplify::Branch" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -1180,6 +1252,14 @@ "AWS::Amplify::Domain" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -1247,6 +1327,14 @@ "AWS::ApiGateway::Account" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -1324,6 +1412,14 @@ "AWS::ApiGateway::ApiKey" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -1420,6 +1516,14 @@ "AWS::ApiGateway::Authorizer" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -1483,6 +1587,14 @@ "AWS::ApiGateway::BasePathMapping" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -1540,6 +1652,14 @@ "AWS::ApiGateway::ClientCertificate" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -1605,6 +1725,14 @@ "AWS::ApiGateway::Deployment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -1832,6 +1960,14 @@ "AWS::ApiGateway::DocumentationPart" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -1914,6 +2050,14 @@ "AWS::ApiGateway::DocumentationVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -1986,6 +2130,14 @@ "AWS::ApiGateway::DomainName" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -2077,6 +2229,14 @@ "AWS::ApiGateway::GatewayResponse" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -2187,6 +2347,14 @@ "AWS::ApiGateway::Method" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -2385,6 +2553,14 @@ "AWS::ApiGateway::Model" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -2448,6 +2624,14 @@ "AWS::ApiGateway::RequestValidator" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -2510,6 +2694,14 @@ "AWS::ApiGateway::Resource" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -2609,6 +2801,14 @@ "AWS::ApiGateway::RestApi" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -2749,6 +2949,14 @@ "AWS::ApiGateway::Stage" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -2893,6 +3101,14 @@ "AWS::ApiGateway::UsagePlan" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -3002,6 +3218,14 @@ "AWS::ApiGateway::UsagePlanKey" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -3066,6 +3290,14 @@ "AWS::ApiGateway::VpcLink" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -3162,6 +3394,14 @@ "AWS::ApiGatewayV2::Api" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -3280,6 +3520,14 @@ "AWS::ApiGatewayV2::ApiMapping" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -3364,6 +3612,14 @@ "AWS::ApiGatewayV2::Authorizer" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -3439,6 +3695,14 @@ "AWS::ApiGatewayV2::Deployment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -3502,6 +3766,14 @@ "AWS::ApiGatewayV2::DomainName" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -3560,6 +3832,9 @@ "ApiId": { "type": "string" }, + "ConnectionId": { + "type": "string" + }, "ConnectionType": { "type": "string" }, @@ -3598,6 +3873,9 @@ }, "TimeoutInMillis": { "type": "number" + }, + "TlsConfig": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Integration.TlsConfig" } }, "required": [ @@ -3611,6 +3889,14 @@ "AWS::ApiGatewayV2::Integration" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -3619,6 +3905,15 @@ ], "type": "object" }, + "AWS::ApiGatewayV2::Integration.TlsConfig": { + "additionalProperties": false, + "properties": { + "ServerNameToVerify": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ApiGatewayV2::IntegrationResponse": { "additionalProperties": false, "properties": { @@ -3685,6 +3980,14 @@ "AWS::ApiGatewayV2::IntegrationResponse" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -3753,6 +4056,14 @@ "AWS::ApiGatewayV2::Model" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -3844,6 +4155,14 @@ "AWS::ApiGatewayV2::Route" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -3927,6 +4246,14 @@ "AWS::ApiGatewayV2::RouteResponse" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -4024,6 +4351,14 @@ "AWS::ApiGatewayV2::Stage" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -4120,6 +4455,14 @@ "AWS::AppConfig::Application" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -4212,6 +4555,14 @@ "AWS::AppConfig::ConfigurationProfile" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -4315,6 +4666,14 @@ "AWS::AppConfig::Deployment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -4408,6 +4767,14 @@ "AWS::AppConfig::DeploymentStrategy" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -4493,6 +4860,14 @@ "AWS::AppConfig::Environment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -4525,6 +4900,86 @@ }, "type": "object" }, + "AWS::AppConfig::HostedConfigurationVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "ConfigurationProfileId": { + "type": "string" + }, + "Content": { + "type": "string" + }, + "ContentType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "LatestVersionNumber": { + "type": "number" + } + }, + "required": [ + "ApplicationId", + "ConfigurationProfileId", + "Content", + "ContentType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppConfig::HostedConfigurationVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::AppMesh::Mesh": { "additionalProperties": false, "properties": { @@ -4580,6 +5035,14 @@ "AWS::AppMesh::Mesh" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -4644,6 +5107,9 @@ "MeshName": { "type": "string" }, + "MeshOwner": { + "type": "string" + }, "RouteName": { "type": "string" }, @@ -4673,6 +5139,14 @@ "AWS::AppMesh::Route" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -5062,6 +5536,9 @@ "MeshName": { "type": "string" }, + "MeshOwner": { + "type": "string" + }, "Spec": { "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeSpec" }, @@ -5087,6 +5564,14 @@ "AWS::AppMesh::VirtualNode" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -5151,6 +5636,45 @@ }, "type": "object" }, + "AWS::AppMesh::VirtualNode.BackendDefaults": { + "additionalProperties": false, + "properties": { + "ClientPolicy": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicy" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ClientPolicy": { + "additionalProperties": false, + "properties": { + "TLS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicyTls" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ClientPolicyTls": { + "additionalProperties": false, + "properties": { + "Enforce": { + "type": "boolean" + }, + "Ports": { + "items": { + "type": "number" + }, + "type": "array" + }, + "Validation": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContext" + } + }, + "required": [ + "Validation" + ], + "type": "object" + }, "AWS::AppMesh::VirtualNode.DnsServiceDiscovery": { "additionalProperties": false, "properties": { @@ -5217,6 +5741,9 @@ }, "PortMapping": { "$ref": "#/definitions/AWS::AppMesh::VirtualNode.PortMapping" + }, + "TLS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTls" } }, "required": [ @@ -5224,6 +5751,62 @@ ], "type": "object" }, + "AWS::AppMesh::VirtualNode.ListenerTls": { + "additionalProperties": false, + "properties": { + "Certificate": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsCertificate" + }, + "Mode": { + "type": "string" + } + }, + "required": [ + "Certificate", + "Mode" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTlsAcmCertificate": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTlsCertificate": { + "additionalProperties": false, + "properties": { + "ACM": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsAcmCertificate" + }, + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsFileCertificate" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTlsFileCertificate": { + "additionalProperties": false, + "properties": { + "CertificateChain": { + "type": "string" + }, + "PrivateKey": { + "type": "string" + } + }, + "required": [ + "CertificateChain", + "PrivateKey" + ], + "type": "object" + }, "AWS::AppMesh::VirtualNode.Logging": { "additionalProperties": false, "properties": { @@ -5261,9 +5844,63 @@ }, "type": "object" }, + "AWS::AppMesh::VirtualNode.TlsValidationContext": { + "additionalProperties": false, + "properties": { + "Trust": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextTrust" + } + }, + "required": [ + "Trust" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.TlsValidationContextAcmTrust": { + "additionalProperties": false, + "properties": { + "CertificateAuthorityArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "CertificateAuthorityArns" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.TlsValidationContextFileTrust": { + "additionalProperties": false, + "properties": { + "CertificateChain": { + "type": "string" + } + }, + "required": [ + "CertificateChain" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.TlsValidationContextTrust": { + "additionalProperties": false, + "properties": { + "ACM": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextAcmTrust" + }, + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextFileTrust" + } + }, + "type": "object" + }, "AWS::AppMesh::VirtualNode.VirtualNodeSpec": { "additionalProperties": false, "properties": { + "BackendDefaults": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.BackendDefaults" + }, "Backends": { "items": { "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Backend" @@ -5288,6 +5925,9 @@ "AWS::AppMesh::VirtualNode.VirtualServiceBackend": { "additionalProperties": false, "properties": { + "ClientPolicy": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicy" + }, "VirtualServiceName": { "type": "string" } @@ -5332,6 +5972,9 @@ "MeshName": { "type": "string" }, + "MeshOwner": { + "type": "string" + }, "Spec": { "$ref": "#/definitions/AWS::AppMesh::VirtualRouter.VirtualRouterSpec" }, @@ -5357,6 +6000,14 @@ "AWS::AppMesh::VirtualRouter" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -5443,6 +6094,9 @@ "MeshName": { "type": "string" }, + "MeshOwner": { + "type": "string" + }, "Spec": { "$ref": "#/definitions/AWS::AppMesh::VirtualService.VirtualServiceSpec" }, @@ -5468,6 +6122,14 @@ "AWS::AppMesh::VirtualService" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -5578,6 +6240,14 @@ "AWS::AppStream::DirectoryConfig" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -5695,6 +6365,14 @@ "AWS::AppStream::Fleet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -5831,6 +6509,14 @@ "AWS::AppStream::ImageBuilder" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -5982,6 +6668,14 @@ "AWS::AppStream::Stack" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -6107,6 +6801,14 @@ "AWS::AppStream::StackFleetAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -6172,6 +6874,14 @@ "AWS::AppStream::StackUserAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -6239,6 +6949,14 @@ "AWS::AppStream::User" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -6311,6 +7029,14 @@ "AWS::AppSync::ApiCache" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -6371,6 +7097,14 @@ "AWS::AppSync::ApiKey" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -6454,6 +7188,14 @@ "AWS::AppSync::DataSource" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -6691,6 +7433,14 @@ "AWS::AppSync::FunctionConfiguration" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -6767,6 +7517,14 @@ "AWS::AppSync::GraphQLApi" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -6921,6 +7679,14 @@ "AWS::AppSync::GraphQLSchema" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -7010,6 +7776,14 @@ "AWS::AppSync::Resolver" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -7147,6 +7921,14 @@ "AWS::ApplicationAutoScaling::ScalableTarget" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -7275,6 +8057,14 @@ "AWS::ApplicationAutoScaling::ScalingPolicy" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -7468,6 +8258,14 @@ "AWS::Athena::NamedQuery" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -7476,6 +8274,188 @@ ], "type": "object" }, + "AWS::Athena::WorkGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RecursiveDeleteOption": { + "type": "boolean" + }, + "State": { + "type": "string" + }, + "Tags": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.Tags" + }, + "WorkGroupConfiguration": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.WorkGroupConfiguration" + }, + "WorkGroupConfigurationUpdates": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.WorkGroupConfigurationUpdates" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Athena::WorkGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Athena::WorkGroup.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "EncryptionOption": { + "type": "string" + }, + "KmsKey": { + "type": "string" + } + }, + "required": [ + "EncryptionOption" + ], + "type": "object" + }, + "AWS::Athena::WorkGroup.ResultConfiguration": { + "additionalProperties": false, + "properties": { + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.EncryptionConfiguration" + }, + "OutputLocation": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Athena::WorkGroup.ResultConfigurationUpdates": { + "additionalProperties": false, + "properties": { + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.EncryptionConfiguration" + }, + "OutputLocation": { + "type": "string" + }, + "RemoveEncryptionConfiguration": { + "type": "boolean" + }, + "RemoveOutputLocation": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Athena::WorkGroup.Tags": { + "additionalProperties": false, + "properties": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Athena::WorkGroup.WorkGroupConfiguration": { + "additionalProperties": false, + "properties": { + "BytesScannedCutoffPerQuery": { + "type": "number" + }, + "EnforceWorkGroupConfiguration": { + "type": "boolean" + }, + "PublishCloudWatchMetricsEnabled": { + "type": "boolean" + }, + "RequesterPaysEnabled": { + "type": "boolean" + }, + "ResultConfiguration": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.ResultConfiguration" + } + }, + "type": "object" + }, + "AWS::Athena::WorkGroup.WorkGroupConfigurationUpdates": { + "additionalProperties": false, + "properties": { + "BytesScannedCutoffPerQuery": { + "type": "number" + }, + "EnforceWorkGroupConfiguration": { + "type": "boolean" + }, + "PublishCloudWatchMetricsEnabled": { + "type": "boolean" + }, + "RemoveBytesScannedCutoffPerQuery": { + "type": "boolean" + }, + "RequesterPaysEnabled": { + "type": "boolean" + }, + "ResultConfigurationUpdates": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.ResultConfigurationUpdates" + } + }, + "type": "object" + }, "AWS::AutoScaling::AutoScalingGroup": { "additionalProperties": false, "properties": { @@ -7553,6 +8533,9 @@ }, "type": "array" }, + "MaxInstanceLifetime": { + "type": "number" + }, "MaxSize": { "type": "string" }, @@ -7619,6 +8602,14 @@ }, "UpdatePolicy": { "type": "object" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -7908,6 +8899,14 @@ "AWS::AutoScaling::LaunchConfiguration" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -8029,6 +9028,14 @@ "AWS::AutoScaling::LifecycleHook" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -8113,6 +9120,14 @@ "AWS::AutoScaling::ScalingPolicy" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -8284,6 +9299,14 @@ "AWS::AutoScaling::ScheduledAction" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -8345,6 +9368,14 @@ "AWS::AutoScalingPlans::ScalingPlan" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -8628,6 +9659,14 @@ "AWS::Backup::BackupPlan" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -8769,6 +9808,14 @@ "AWS::Backup::BackupSelection" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -8883,6 +9930,14 @@ "AWS::Backup::BackupVault" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -8969,6 +10024,14 @@ "AWS::Batch::ComputeEnvironment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -9127,6 +10190,14 @@ "AWS::Batch::JobDefinition" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -9203,9 +10274,7 @@ } }, "required": [ - "Image", - "Memory", - "Vcpus" + "Image" ], "type": "object" }, @@ -9434,6 +10503,14 @@ "AWS::Batch::JobQueue" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -9510,6 +10587,14 @@ "AWS::Budgets::Budget" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -9677,7 +10762,7 @@ }, "type": "object" }, - "AWS::CertificateManager::Certificate": { + "AWS::CE::CostCategory": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -9709,39 +10794,34 @@ "Properties": { "additionalProperties": false, "properties": { - "DomainName": { + "Name": { "type": "string" }, - "DomainValidationOptions": { - "items": { - "$ref": "#/definitions/AWS::CertificateManager::Certificate.DomainValidationOption" - }, - "type": "array" - }, - "SubjectAlternativeNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "RuleVersion": { + "type": "string" }, - "ValidationMethod": { + "Rules": { "type": "string" } }, "required": [ - "DomainName" + "Name", + "RuleVersion", + "Rules" ], "type": "object" }, "Type": { "enum": [ - "AWS::CertificateManager::Certificate" + "AWS::CE::CostCategory" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -9752,23 +10832,65 @@ ], "type": "object" }, - "AWS::CertificateManager::Certificate.DomainValidationOption": { + "AWS::Cassandra::Keyspace": { "additionalProperties": false, "properties": { - "DomainName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ValidationDomain": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "KeyspaceName": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cassandra::Keyspace" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "DomainName", - "ValidationDomain" + "Type" ], "type": "object" }, - "AWS::Cloud9::EnvironmentEC2": { + "AWS::Cassandra::Table": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -9800,45 +10922,51 @@ "Properties": { "additionalProperties": false, "properties": { - "AutomaticStopTimeMinutes": { - "type": "number" - }, - "Description": { - "type": "string" - }, - "InstanceType": { - "type": "string" + "BillingMode": { + "$ref": "#/definitions/AWS::Cassandra::Table.BillingMode" }, - "Name": { - "type": "string" + "ClusteringKeyColumns": { + "items": { + "$ref": "#/definitions/AWS::Cassandra::Table.ClusteringKeyColumn" + }, + "type": "array" }, - "OwnerArn": { + "KeyspaceName": { "type": "string" }, - "Repositories": { + "PartitionKeyColumns": { "items": { - "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2.Repository" + "$ref": "#/definitions/AWS::Cassandra::Table.Column" }, "type": "array" }, - "SubnetId": { - "type": "string" - }, - "Tags": { + "RegularColumns": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::Cassandra::Table.Column" }, "type": "array" + }, + "TableName": { + "type": "string" } }, "required": [ - "InstanceType" + "KeyspaceName", + "PartitionKeyColumns" ], "type": "object" }, "Type": { "enum": [ - "AWS::Cloud9::EnvironmentEC2" + "AWS::Cassandra::Table" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -9849,23 +10977,367 @@ ], "type": "object" }, - "AWS::Cloud9::EnvironmentEC2.Repository": { + "AWS::Cassandra::Table.BillingMode": { "additionalProperties": false, "properties": { - "PathComponent": { + "Mode": { "type": "string" }, - "RepositoryUrl": { + "ProvisionedThroughput": { + "$ref": "#/definitions/AWS::Cassandra::Table.ProvisionedThroughput" + } + }, + "required": [ + "Mode" + ], + "type": "object" + }, + "AWS::Cassandra::Table.ClusteringKeyColumn": { + "additionalProperties": false, + "properties": { + "Column": { + "$ref": "#/definitions/AWS::Cassandra::Table.Column" + }, + "OrderBy": { "type": "string" } }, "required": [ - "PathComponent", - "RepositoryUrl" + "Column" ], "type": "object" }, - "AWS::CloudFormation::CustomResource": { + "AWS::Cassandra::Table.Column": { + "additionalProperties": false, + "properties": { + "ColumnName": { + "type": "string" + }, + "ColumnType": { + "type": "string" + } + }, + "required": [ + "ColumnName", + "ColumnType" + ], + "type": "object" + }, + "AWS::Cassandra::Table.ProvisionedThroughput": { + "additionalProperties": false, + "properties": { + "ReadCapacityUnits": { + "type": "number" + }, + "WriteCapacityUnits": { + "type": "number" + } + }, + "required": [ + "ReadCapacityUnits", + "WriteCapacityUnits" + ], + "type": "object" + }, + "AWS::CertificateManager::Certificate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CertificateAuthorityArn": { + "type": "string" + }, + "CertificateTransparencyLoggingPreference": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "DomainValidationOptions": { + "items": { + "$ref": "#/definitions/AWS::CertificateManager::Certificate.DomainValidationOption" + }, + "type": "array" + }, + "SubjectAlternativeNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ValidationMethod": { + "type": "string" + } + }, + "required": [ + "DomainName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CertificateManager::Certificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CertificateManager::Certificate.DomainValidationOption": { + "additionalProperties": false, + "properties": { + "DomainName": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "ValidationDomain": { + "type": "string" + } + }, + "required": [ + "DomainName" + ], + "type": "object" + }, + "AWS::Chatbot::SlackChannelConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConfigurationName": { + "type": "string" + }, + "IamRoleArn": { + "type": "string" + }, + "LoggingLevel": { + "type": "string" + }, + "SlackChannelId": { + "type": "string" + }, + "SlackWorkspaceId": { + "type": "string" + }, + "SnsTopicArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ConfigurationName", + "IamRoleArn", + "SlackChannelId", + "SlackWorkspaceId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Chatbot::SlackChannelConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cloud9::EnvironmentEC2": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutomaticStopTimeMinutes": { + "type": "number" + }, + "ConnectionType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "OwnerArn": { + "type": "string" + }, + "Repositories": { + "items": { + "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2.Repository" + }, + "type": "array" + }, + "SubnetId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "InstanceType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cloud9::EnvironmentEC2" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cloud9::EnvironmentEC2.Repository": { + "additionalProperties": false, + "properties": { + "PathComponent": { + "type": "string" + }, + "RepositoryUrl": { + "type": "string" + } + }, + "required": [ + "PathComponent", + "RepositoryUrl" + ], + "type": "object" + }, + "AWS::CloudFormation::CustomResource": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -9911,6 +11383,14 @@ "AWS::CloudFormation::CustomResource" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -9978,6 +11458,14 @@ "AWS::CloudFormation::Macro" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -10056,6 +11544,14 @@ "AWS::CloudFormation::Stack" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -10116,6 +11612,14 @@ "AWS::CloudFormation::WaitCondition" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -10162,6 +11666,14 @@ "AWS::CloudFormation::WaitConditionHandle" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -10215,6 +11727,14 @@ "AWS::CloudFront::CloudFrontOriginAccessIdentity" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -10287,6 +11807,14 @@ "AWS::CloudFront::Distribution" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -10534,6 +12062,9 @@ "Logging": { "$ref": "#/definitions/AWS::CloudFront::Distribution.Logging" }, + "OriginGroups": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroups" + }, "Origins": { "items": { "$ref": "#/definitions/AWS::CloudFront::Distribution.Origin" @@ -10609,6 +12140,9 @@ "EventType": { "type": "string" }, + "IncludeBody": { + "type": "boolean" + }, "LambdaFunctionARN": { "type": "string" } @@ -10636,6 +12170,12 @@ "AWS::CloudFront::Distribution.Origin": { "additionalProperties": false, "properties": { + "ConnectionAttempts": { + "type": "number" + }, + "ConnectionTimeout": { + "type": "number" + }, "CustomOriginConfig": { "$ref": "#/definitions/AWS::CloudFront::Distribution.CustomOriginConfig" }, @@ -10680,6 +12220,87 @@ ], "type": "object" }, + "AWS::CloudFront::Distribution.OriginGroup": { + "additionalProperties": false, + "properties": { + "FailoverCriteria": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupFailoverCriteria" + }, + "Id": { + "type": "string" + }, + "Members": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupMembers" + } + }, + "required": [ + "FailoverCriteria", + "Id", + "Members" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginGroupFailoverCriteria": { + "additionalProperties": false, + "properties": { + "StatusCodes": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.StatusCodes" + } + }, + "required": [ + "StatusCodes" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginGroupMember": { + "additionalProperties": false, + "properties": { + "OriginId": { + "type": "string" + } + }, + "required": [ + "OriginId" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginGroupMembers": { + "additionalProperties": false, + "properties": { + "Items": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupMember" + }, + "type": "array" + }, + "Quantity": { + "type": "number" + } + }, + "required": [ + "Items", + "Quantity" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginGroups": { + "additionalProperties": false, + "properties": { + "Items": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroup" + }, + "type": "array" + }, + "Quantity": { + "type": "number" + } + }, + "required": [ + "Quantity" + ], + "type": "object" + }, "AWS::CloudFront::Distribution.Restrictions": { "additionalProperties": false, "properties": { @@ -10701,6 +12322,25 @@ }, "type": "object" }, + "AWS::CloudFront::Distribution.StatusCodes": { + "additionalProperties": false, + "properties": { + "Items": { + "items": { + "type": "number" + }, + "type": "array" + }, + "Quantity": { + "type": "number" + } + }, + "required": [ + "Items", + "Quantity" + ], + "type": "object" + }, "AWS::CloudFront::Distribution.ViewerCertificate": { "additionalProperties": false, "properties": { @@ -10775,6 +12415,14 @@ "AWS::CloudFront::StreamingDistribution" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -10962,6 +12610,14 @@ "AWS::CloudTrail::Trail" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -11128,6 +12784,14 @@ "AWS::CloudWatch::Alarm" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -11185,6 +12849,9 @@ "MetricStat": { "$ref": "#/definitions/AWS::CloudWatch::Alarm.MetricStat" }, + "Period": { + "type": "number" + }, "ReturnData": { "type": "boolean" } @@ -11280,6 +12947,14 @@ "AWS::CloudWatch::AnomalyDetector" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -11335,6 +13010,96 @@ ], "type": "object" }, + "AWS::CloudWatch::CompositeAlarm": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ActionsEnabled": { + "type": "boolean" + }, + "AlarmActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AlarmDescription": { + "type": "string" + }, + "AlarmName": { + "type": "string" + }, + "AlarmRule": { + "type": "string" + }, + "InsufficientDataActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OKActions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "AlarmName", + "AlarmRule" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudWatch::CompositeAlarm" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::CloudWatch::Dashboard": { "additionalProperties": false, "properties": { @@ -11384,6 +13149,14 @@ "AWS::CloudWatch::Dashboard" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -11432,6 +13205,9 @@ }, "RuleState": { "type": "string" + }, + "Tags": { + "$ref": "#/definitions/AWS::CloudWatch::InsightRule.Tags" } }, "required": [ @@ -11446,6 +13222,14 @@ "AWS::CloudWatch::InsightRule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -11454,6 +13238,11 @@ ], "type": "object" }, + "AWS::CloudWatch::InsightRule.Tags": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::CodeBuild::Project": { "additionalProperties": false, "properties": { @@ -11575,6 +13364,14 @@ "AWS::CodeBuild::Project" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -11964,6 +13761,12 @@ "Name": { "type": "string" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "Type": { "type": "string" } @@ -11979,6 +13782,14 @@ "AWS::CodeBuild::ReportGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -12083,6 +13894,14 @@ "AWS::CodeBuild::SourceCredential" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -12155,6 +13974,14 @@ "AWS::CodeCommit::Repository" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -12272,6 +14099,14 @@ "AWS::CodeDeploy::Application" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -12325,6 +14160,14 @@ "AWS::CodeDeploy::DeploymentConfig" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -12449,6 +14292,14 @@ "AWS::CodeDeploy::DeploymentGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -12717,6 +14568,71 @@ }, "type": "object" }, + "AWS::CodeGuruProfiler::ProfilingGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AgentPermissions": { + "type": "object" + }, + "ProfilingGroupName": { + "type": "string" + } + }, + "required": [ + "ProfilingGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeGuruProfiler::ProfilingGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::CodePipeline::CustomActionType": { "additionalProperties": false, "properties": { @@ -12794,6 +14710,14 @@ "AWS::CodePipeline::CustomActionType" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -12949,6 +14873,14 @@ "AWS::CodePipeline::Pipeline" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -13231,6 +15163,14 @@ "AWS::CodePipeline::Webhook" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -13332,6 +15272,14 @@ "AWS::CodeStar::GitHubRepository" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -13371,6 +15319,78 @@ ], "type": "object" }, + "AWS::CodeStarConnections::Connection": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConnectionName": { + "type": "string" + }, + "ProviderType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ConnectionName", + "ProviderType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeStarConnections::Connection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::CodeStarNotifications::NotificationRule": { "additionalProperties": false, "properties": { @@ -13445,6 +15465,14 @@ "AWS::CodeStarNotifications::NotificationRule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -13550,6 +15578,14 @@ "AWS::Cognito::IdentityPool" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -13655,6 +15691,14 @@ "AWS::Cognito::IdentityPoolRoleAttachment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -13844,6 +15888,14 @@ "AWS::Cognito::UserPool" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -14227,6 +16279,14 @@ "AWS::Cognito::UserPoolClient" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -14306,6 +16366,14 @@ "AWS::Cognito::UserPoolDomain" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -14381,6 +16449,14 @@ "AWS::Cognito::UserPoolGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -14455,6 +16531,14 @@ "AWS::Cognito::UserPoolIdentityProvider" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -14523,6 +16607,14 @@ "AWS::Cognito::UserPoolResourceServer" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -14606,6 +16698,14 @@ "AWS::Cognito::UserPoolRiskConfigurationAttachment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -14806,6 +16906,14 @@ "AWS::Cognito::UserPoolUICustomizationAttachment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -14890,6 +16998,14 @@ "AWS::Cognito::UserPoolUser" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -14964,6 +17080,14 @@ "AWS::Cognito::UserPoolUserToGroupAttachment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -15028,6 +17152,14 @@ "AWS::Config::AggregationAuthorization" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -15097,6 +17229,14 @@ "AWS::Config::ConfigRule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -15228,6 +17368,14 @@ "AWS::Config::ConfigurationAggregator" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -15333,6 +17481,14 @@ "AWS::Config::ConfigurationRecorder" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -15424,6 +17580,14 @@ "AWS::Config::ConformancePack" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -15506,6 +17670,14 @@ "AWS::Config::DeliveryChannel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -15581,6 +17753,14 @@ "AWS::Config::OrganizationConfigRule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -15739,6 +17919,14 @@ "AWS::Config::OrganizationConformancePack" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -15838,6 +18026,14 @@ "AWS::Config::RemediationConfiguration" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -15990,6 +18186,14 @@ "AWS::DAX::Cluster" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -16056,6 +18260,14 @@ "AWS::DAX::ParameterGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -16118,6 +18330,14 @@ "AWS::DAX::SubnetGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -16178,6 +18398,14 @@ "AWS::DLM::LifecyclePolicy" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -16188,6 +18416,9 @@ "AWS::DLM::LifecyclePolicy.CreateRule": { "additionalProperties": false, "properties": { + "CronExpression": { + "type": "string" + }, "Interval": { "type": "number" }, @@ -16201,10 +18432,6 @@ "type": "array" } }, - "required": [ - "Interval", - "IntervalUnit" - ], "type": "object" }, "AWS::DLM::LifecyclePolicy.CrossRegionCopyRetainRule": { @@ -16217,6 +18444,10 @@ "type": "string" } }, + "required": [ + "Interval", + "IntervalUnit" + ], "type": "object" }, "AWS::DLM::LifecyclePolicy.CrossRegionCopyRule": { @@ -16238,6 +18469,10 @@ "type": "string" } }, + "required": [ + "Encrypted", + "TargetRegion" + ], "type": "object" }, "AWS::DLM::LifecyclePolicy.FastRestoreRule": { @@ -16408,6 +18643,14 @@ "AWS::DMS::Certificate" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -16471,6 +18714,9 @@ "ExtraConnectionAttributes": { "type": "string" }, + "KafkaSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.KafkaSettings" + }, "KinesisSettings": { "$ref": "#/definitions/AWS::DMS::Endpoint.KinesisSettings" }, @@ -16480,6 +18726,9 @@ "MongoDbSettings": { "$ref": "#/definitions/AWS::DMS::Endpoint.MongoDbSettings" }, + "NeptuneSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.NeptuneSettings" + }, "Password": { "type": "string" }, @@ -16516,6 +18765,14 @@ "AWS::DMS::Endpoint" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -16551,6 +18808,18 @@ }, "type": "object" }, + "AWS::DMS::Endpoint.KafkaSettings": { + "additionalProperties": false, + "properties": { + "Broker": { + "type": "string" + }, + "Topic": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DMS::Endpoint.KinesisSettings": { "additionalProperties": false, "properties": { @@ -16605,6 +18874,33 @@ }, "type": "object" }, + "AWS::DMS::Endpoint.NeptuneSettings": { + "additionalProperties": false, + "properties": { + "ErrorRetryDuration": { + "type": "number" + }, + "IamAuthEnabled": { + "type": "boolean" + }, + "MaxFileSize": { + "type": "number" + }, + "MaxRetryCount": { + "type": "number" + }, + "S3BucketFolder": { + "type": "string" + }, + "S3BucketName": { + "type": "string" + }, + "ServiceAccessRoleArn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DMS::Endpoint.S3Settings": { "additionalProperties": false, "properties": { @@ -16705,6 +19001,14 @@ "AWS::DMS::EventSubscription" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -16804,6 +19108,14 @@ "AWS::DMS::ReplicationInstance" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -16874,6 +19186,14 @@ "AWS::DMS::ReplicationSubnetGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -16949,6 +19269,9 @@ }, "TargetEndpointArn": { "type": "string" + }, + "TaskData": { + "type": "string" } }, "required": [ @@ -16965,6 +19288,14 @@ "AWS::DMS::ReplicationTask" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -17050,6 +19381,14 @@ "AWS::DataPipeline::Pipeline" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -17166,7 +19505,7 @@ ], "type": "object" }, - "AWS::DirectoryService::MicrosoftAD": { + "AWS::Detective::Graph": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -17197,69 +19536,204 @@ }, "Properties": { "additionalProperties": false, - "properties": { - "CreateAlias": { - "type": "boolean" - }, - "Edition": { + "properties": {}, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Detective::Graph" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Detective::MemberInvitation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, - "EnableSso": { - "type": "boolean" - }, - "Name": { + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GraphArn": { "type": "string" }, - "Password": { + "MemberEmailAddress": { "type": "string" }, - "ShortName": { + "MemberId": { "type": "string" }, - "VpcSettings": { - "$ref": "#/definitions/AWS::DirectoryService::MicrosoftAD.VpcSettings" + "Message": { + "type": "string" } }, "required": [ - "Name", - "Password", - "VpcSettings" + "GraphArn", + "MemberEmailAddress", + "MemberId" ], "type": "object" }, "Type": { "enum": [ - "AWS::DirectoryService::MicrosoftAD" + "AWS::Detective::MemberInvitation" ], "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DirectoryService::MicrosoftAD.VpcSettings": { - "additionalProperties": false, - "properties": { - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" }, - "VpcId": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "SubnetIds", - "VpcId" + "Type", + "Properties" ], "type": "object" }, - "AWS::DirectoryService::SimpleAD": { + "AWS::DirectoryService::MicrosoftAD": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CreateAlias": { + "type": "boolean" + }, + "Edition": { + "type": "string" + }, + "EnableSso": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Password": { + "type": "string" + }, + "ShortName": { + "type": "string" + }, + "VpcSettings": { + "$ref": "#/definitions/AWS::DirectoryService::MicrosoftAD.VpcSettings" + } + }, + "required": [ + "Name", + "Password", + "VpcSettings" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DirectoryService::MicrosoftAD" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DirectoryService::MicrosoftAD.VpcSettings": { + "additionalProperties": false, + "properties": { + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "SubnetIds", + "VpcId" + ], + "type": "object" + }, + "AWS::DirectoryService::SimpleAD": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -17329,6 +19803,14 @@ "AWS::DirectoryService::SimpleAD" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -17406,6 +19888,9 @@ "DBSubnetGroupName": { "type": "string" }, + "DeletionProtection": { + "type": "boolean" + }, "EnableCloudwatchLogsExports": { "items": { "type": "string" @@ -17463,6 +19948,14 @@ "AWS::DocDB::DBCluster" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -17534,6 +20027,14 @@ "AWS::DocDB::DBClusterParameterGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -17610,6 +20111,14 @@ "AWS::DocDB::DBInstance" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -17680,6 +20189,14 @@ "AWS::DocDB::DBSubnetGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -17782,6 +20299,14 @@ "AWS::DynamoDB::Table" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -18039,6 +20564,14 @@ "AWS::EC2::CapacityReservation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -18121,6 +20654,14 @@ "AWS::EC2::ClientVpnAuthorizationRule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -18182,6 +20723,12 @@ }, "type": "array" }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, "ServerCertificateArn": { "type": "string" }, @@ -18197,6 +20744,9 @@ "TransportProtocol": { "type": "string" }, + "VpcId": { + "type": "string" + }, "VpnPort": { "type": "number" } @@ -18214,6 +20764,14 @@ "AWS::EC2::ClientVpnEndpoint" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -18240,6 +20798,9 @@ "ActiveDirectory": { "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest" }, + "FederatedAuthentication": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest" + }, "MutualAuthentication": { "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest" }, @@ -18282,6 +20843,18 @@ ], "type": "object" }, + "AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest": { + "additionalProperties": false, + "properties": { + "SAMLProviderArn": { + "type": "string" + } + }, + "required": [ + "SAMLProviderArn" + ], + "type": "object" + }, "AWS::EC2::ClientVpnEndpoint.TagSpecification": { "additionalProperties": false, "properties": { @@ -18358,6 +20931,14 @@ "AWS::EC2::ClientVpnRoute" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -18416,74 +20997,14 @@ "AWS::EC2::ClientVpnTargetNetworkAssociation" ], "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::CustomerGateway": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { + }, + "UpdateReplacePolicy": { "enum": [ "Delete", "Retain", "Snapshot" ], "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BgpAsn": { - "type": "number" - }, - "IpAddress": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "BgpAsn", - "IpAddress", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::CustomerGateway" - ], - "type": "string" } }, "required": [ @@ -18492,7 +21013,83 @@ ], "type": "object" }, - "AWS::EC2::DHCPOptions": { + "AWS::EC2::CustomerGateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BgpAsn": { + "type": "number" + }, + "IpAddress": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "BgpAsn", + "IpAddress", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::CustomerGateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::DHCPOptions": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -18562,6 +21159,14 @@ "AWS::EC2::DHCPOptions" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -18652,6 +21257,14 @@ "AWS::EC2::EC2Fleet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -18660,6 +21273,15 @@ ], "type": "object" }, + "AWS::EC2::EC2Fleet.CapacityReservationOptionsRequest": { + "additionalProperties": false, + "properties": { + "UsageStrategy": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EC2::EC2Fleet.FleetLaunchTemplateConfigRequest": { "additionalProperties": false, "properties": { @@ -18687,6 +21309,9 @@ "MaxPrice": { "type": "string" }, + "Placement": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.Placement" + }, "Priority": { "type": "number" }, @@ -18719,33 +21344,78 @@ "properties": { "AllocationStrategy": { "type": "string" + }, + "CapacityReservationOptions": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.CapacityReservationOptionsRequest" + }, + "MaxTotalPrice": { + "type": "string" + }, + "MinTargetCapacity": { + "type": "number" + }, + "SingleAvailabilityZone": { + "type": "boolean" + }, + "SingleInstanceType": { + "type": "boolean" } }, "type": "object" }, - "AWS::EC2::EC2Fleet.SpotOptionsRequest": { + "AWS::EC2::EC2Fleet.Placement": { "additionalProperties": false, "properties": { - "AllocationStrategy": { + "Affinity": { "type": "string" }, - "InstanceInterruptionBehavior": { + "AvailabilityZone": { "type": "string" }, - "InstancePoolsToUseCount": { + "GroupName": { + "type": "string" + }, + "HostId": { + "type": "string" + }, + "HostResourceGroupArn": { + "type": "string" + }, + "PartitionNumber": { "type": "number" + }, + "SpreadDomain": { + "type": "string" + }, + "Tenancy": { + "type": "string" } }, "type": "object" }, - "AWS::EC2::EC2Fleet.TagRequest": { + "AWS::EC2::EC2Fleet.SpotOptionsRequest": { "additionalProperties": false, "properties": { - "Key": { + "AllocationStrategy": { "type": "string" }, - "Value": { + "InstanceInterruptionBehavior": { "type": "string" + }, + "InstancePoolsToUseCount": { + "type": "number" + }, + "MaxTotalPrice": { + "type": "string" + }, + "MinTargetCapacity": { + "type": "number" + }, + "SingleAvailabilityZone": { + "type": "boolean" + }, + "SingleInstanceType": { + "type": "boolean" } }, "type": "object" @@ -18758,7 +21428,7 @@ }, "Tags": { "items": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.TagRequest" + "$ref": "#/definitions/Tag" }, "type": "array" } @@ -18841,6 +21511,14 @@ "AWS::EC2::EIP" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -18903,6 +21581,14 @@ "AWS::EC2::EIPAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -18956,6 +21642,14 @@ "AWS::EC2::EgressOnlyInternetGateway" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -19030,6 +21724,14 @@ "AWS::EC2::FlowLog" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -19088,6 +21790,14 @@ "AWS::EC2::GatewayRouteTableAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -19152,6 +21862,14 @@ "AWS::EC2::Host" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -19347,6 +22065,14 @@ "AWS::EC2::Instance" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -19675,6 +22401,14 @@ "AWS::EC2::InternetGateway" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -19728,6 +22462,14 @@ "AWS::EC2::LaunchTemplate" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -19753,16 +22495,11 @@ }, "type": "object" }, - "AWS::EC2::LaunchTemplate.CapacityReservationPreference": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::EC2::LaunchTemplate.CapacityReservationSpecification": { "additionalProperties": false, "properties": { "CapacityReservationPreference": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationPreference" + "type": "string" }, "CapacityReservationTarget": { "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationTarget" @@ -20217,6 +22954,14 @@ "AWS::EC2::LocalGatewayRoute" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -20278,6 +23023,14 @@ "AWS::EC2::LocalGatewayRouteTableVPCAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -20354,6 +23107,14 @@ "AWS::EC2::NatGateway" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -20414,6 +23175,14 @@ "AWS::EC2::NetworkAcl" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -20495,6 +23264,14 @@ "AWS::EC2::NetworkAclEntry" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -20612,6 +23389,14 @@ "AWS::EC2::NetworkInterface" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -20705,6 +23490,14 @@ "AWS::EC2::NetworkInterfaceAttachment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -20767,6 +23560,14 @@ "AWS::EC2::NetworkInterfacePermission" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -20818,6 +23619,14 @@ "AWS::EC2::PlacementGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -20898,6 +23707,14 @@ "AWS::EC2::Route" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -20958,6 +23775,14 @@ "AWS::EC2::RouteTable" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -21036,6 +23861,14 @@ "AWS::EC2::SecurityGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -21187,6 +24020,14 @@ "AWS::EC2::SecurityGroupEgress" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -21274,6 +24115,14 @@ "AWS::EC2::SecurityGroupIngress" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -21328,6 +24177,14 @@ "AWS::EC2::SpotFleet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -21835,6 +24692,14 @@ "AWS::EC2::Subnet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -21893,6 +24758,14 @@ "AWS::EC2::SubnetCidrBlock" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -21951,6 +24824,14 @@ "AWS::EC2::SubnetNetworkAclAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22009,6 +24890,14 @@ "AWS::EC2::SubnetRouteTableAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22072,6 +24961,14 @@ "AWS::EC2::TrafficMirrorFilter" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22157,6 +25054,14 @@ "AWS::EC2::TrafficMirrorFilterRule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22254,6 +25159,14 @@ "AWS::EC2::TrafficMirrorSession" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22317,6 +25230,14 @@ "AWS::EC2::TrafficMirrorTarget" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22391,6 +25312,14 @@ "AWS::EC2::TransitGateway" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22461,6 +25390,14 @@ "AWS::EC2::TransitGatewayAttachment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22524,6 +25461,14 @@ "AWS::EC2::TransitGatewayRoute" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22584,6 +25529,14 @@ "AWS::EC2::TransitGatewayRouteTable" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22642,6 +25595,14 @@ "AWS::EC2::TransitGatewayRouteTableAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22700,6 +25661,14 @@ "AWS::EC2::TransitGatewayRouteTablePropagation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22769,6 +25738,14 @@ "AWS::EC2::VPC" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22829,6 +25806,14 @@ "AWS::EC2::VPCCidrBlock" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22887,6 +25872,14 @@ "AWS::EC2::VPCDHCPOptionsAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22972,6 +25965,14 @@ "AWS::EC2::VPCEndpoint" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23039,6 +26040,14 @@ "AWS::EC2::VPCEndpointConnectionNotification" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23099,6 +26108,14 @@ "AWS::EC2::VPCEndpointService" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23159,6 +26176,14 @@ "AWS::EC2::VPCEndpointServicePermissions" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23219,6 +26244,14 @@ "AWS::EC2::VPCGatewayAttachment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23292,6 +26325,14 @@ "AWS::EC2::VPCPeeringConnection" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23371,6 +26412,14 @@ "AWS::EC2::VPNConnection" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23441,6 +26490,14 @@ "AWS::EC2::VPNConnectionRoute" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23504,6 +26561,14 @@ "AWS::EC2::VPNGateway" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23565,6 +26630,14 @@ "AWS::EC2::VPNGatewayRoutePropagation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23620,6 +26693,12 @@ "KmsKeyId": { "type": "string" }, + "MultiAttachEnabled": { + "type": "boolean" + }, + "OutpostArn": { + "type": "string" + }, "Size": { "type": "number" }, @@ -23646,6 +26725,14 @@ "AWS::EC2::Volume" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23708,6 +26795,14 @@ "AWS::EC2::VolumeAttachment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23771,6 +26866,14 @@ "AWS::ECR::Repository" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23790,6 +26893,113 @@ }, "type": "object" }, + "AWS::ECS::CapacityProvider": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoScalingGroupProvider": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.AutoScalingGroupProvider" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AutoScalingGroupProvider" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::CapacityProvider" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ECS::CapacityProvider.AutoScalingGroupProvider": { + "additionalProperties": false, + "properties": { + "AutoScalingGroupArn": { + "type": "string" + }, + "ManagedScaling": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedScaling" + }, + "ManagedTerminationProtection": { + "type": "string" + } + }, + "required": [ + "AutoScalingGroupArn" + ], + "type": "object" + }, + "AWS::ECS::CapacityProvider.ManagedScaling": { + "additionalProperties": false, + "properties": { + "MaximumScalingStepSize": { + "type": "number" + }, + "MinimumScalingStepSize": { + "type": "number" + }, + "Status": { + "type": "string" + }, + "TargetCapacity": { + "type": "number" + } + }, + "type": "object" + }, "AWS::ECS::Cluster": { "additionalProperties": false, "properties": { @@ -23822,12 +27032,24 @@ "Properties": { "additionalProperties": false, "properties": { + "CapacityProviders": { + "items": { + "type": "string" + }, + "type": "array" + }, "ClusterName": { "type": "string" }, "ClusterSettings": { "items": { - "$ref": "#/definitions/AWS::ECS::Cluster.ClusterSetting" + "$ref": "#/definitions/AWS::ECS::Cluster.ClusterSettings" + }, + "type": "array" + }, + "DefaultCapacityProviderStrategy": { + "items": { + "$ref": "#/definitions/AWS::ECS::Cluster.CapacityProviderStrategyItem" }, "type": "array" }, @@ -23845,6 +27067,14 @@ "AWS::ECS::Cluster" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23852,7 +27082,22 @@ ], "type": "object" }, - "AWS::ECS::Cluster.ClusterSetting": { + "AWS::ECS::Cluster.CapacityProviderStrategyItem": { + "additionalProperties": false, + "properties": { + "Base": { + "type": "number" + }, + "CapacityProvider": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster.ClusterSettings": { "additionalProperties": false, "properties": { "Name": { @@ -23862,10 +27107,6 @@ "type": "string" } }, - "required": [ - "Name", - "Value" - ], "type": "object" }, "AWS::ECS::PrimaryTaskSet": { @@ -23922,6 +27163,14 @@ "AWS::ECS::PrimaryTaskSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -24042,6 +27291,14 @@ "AWS::ECS::Service" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -24275,6 +27532,14 @@ "AWS::ECS::TaskDefinition" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -24605,9 +27870,6 @@ "DeviceName": { "type": "string" }, - "DevicePolicy": { - "type": "string" - }, "DeviceType": { "type": "string" } @@ -24976,6 +28238,14 @@ "AWS::ECS::TaskSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -25065,7 +28335,7 @@ }, "type": "object" }, - "AWS::EFS::FileSystem": { + "AWS::EFS::AccessPoint": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -25097,49 +28367,52 @@ "Properties": { "additionalProperties": false, "properties": { - "Encrypted": { - "type": "boolean" - }, - "FileSystemTags": { + "AccessPointTags": { "items": { - "$ref": "#/definitions/AWS::EFS::FileSystem.ElasticFileSystemTag" + "$ref": "#/definitions/AWS::EFS::AccessPoint.AccessPointTag" }, "type": "array" }, - "KmsKeyId": { + "ClientToken": { "type": "string" }, - "LifecyclePolicies": { - "items": { - "$ref": "#/definitions/AWS::EFS::FileSystem.LifecyclePolicy" - }, - "type": "array" - }, - "PerformanceMode": { + "FileSystemId": { "type": "string" }, - "ProvisionedThroughputInMibps": { - "type": "number" + "PosixUser": { + "$ref": "#/definitions/AWS::EFS::AccessPoint.PosixUser" }, - "ThroughputMode": { - "type": "string" + "RootDirectory": { + "$ref": "#/definitions/AWS::EFS::AccessPoint.RootDirectory" } }, + "required": [ + "FileSystemId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EFS::FileSystem" + "AWS::EFS::AccessPoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EFS::FileSystem.ElasticFileSystemTag": { + "AWS::EFS::AccessPoint.AccessPointTag": { "additionalProperties": false, "properties": { "Key": { @@ -25149,93 +28422,63 @@ "type": "string" } }, - "required": [ - "Key", - "Value" - ], "type": "object" }, - "AWS::EFS::FileSystem.LifecyclePolicy": { + "AWS::EFS::AccessPoint.CreationInfo": { "additionalProperties": false, "properties": { - "TransitionToIA": { + "OwnerGid": { + "type": "string" + }, + "OwnerUid": { + "type": "string" + }, + "Permissions": { "type": "string" } }, "required": [ - "TransitionToIA" + "OwnerGid", + "OwnerUid", + "Permissions" ], "type": "object" }, - "AWS::EFS::MountTarget": { + "AWS::EFS::AccessPoint.PosixUser": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Gid": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FileSystemId": { - "type": "string" - }, - "IpAddress": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetId": { - "type": "string" - } + "SecondaryGids": { + "items": { + "type": "string" }, - "required": [ - "FileSystemId", - "SecurityGroups", - "SubnetId" - ], - "type": "object" + "type": "array" }, - "Type": { - "enum": [ - "AWS::EFS::MountTarget" - ], + "Uid": { "type": "string" } }, "required": [ - "Type", - "Properties" + "Gid", + "Uid" ], "type": "object" }, - "AWS::EKS::Cluster": { + "AWS::EFS::AccessPoint.RootDirectory": { + "additionalProperties": false, + "properties": { + "CreationInfo": { + "$ref": "#/definitions/AWS::EFS::AccessPoint.CreationInfo" + }, + "Path": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EFS::FileSystem": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -25267,6 +28510,201 @@ "Properties": { "additionalProperties": false, "properties": { + "Encrypted": { + "type": "boolean" + }, + "FileSystemPolicy": { + "type": "object" + }, + "FileSystemTags": { + "items": { + "$ref": "#/definitions/AWS::EFS::FileSystem.ElasticFileSystemTag" + }, + "type": "array" + }, + "KmsKeyId": { + "type": "string" + }, + "LifecyclePolicies": { + "items": { + "$ref": "#/definitions/AWS::EFS::FileSystem.LifecyclePolicy" + }, + "type": "array" + }, + "PerformanceMode": { + "type": "string" + }, + "ProvisionedThroughputInMibps": { + "type": "number" + }, + "ThroughputMode": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EFS::FileSystem" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EFS::FileSystem.ElasticFileSystemTag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::EFS::FileSystem.LifecyclePolicy": { + "additionalProperties": false, + "properties": { + "TransitionToIA": { + "type": "string" + } + }, + "required": [ + "TransitionToIA" + ], + "type": "object" + }, + "AWS::EFS::MountTarget": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "type": "string" + }, + "IpAddress": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "FileSystemId", + "SecurityGroups", + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EFS::MountTarget" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EKS::Cluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EncryptionConfig": { + "items": { + "$ref": "#/definitions/AWS::EKS::Cluster.EncryptionConfig" + }, + "type": "array" + }, "Name": { "type": "string" }, @@ -25291,6 +28729,14 @@ "AWS::EKS::Cluster" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -25299,6 +28745,30 @@ ], "type": "object" }, + "AWS::EKS::Cluster.EncryptionConfig": { + "additionalProperties": false, + "properties": { + "Provider": { + "$ref": "#/definitions/AWS::EKS::Cluster.Provider" + }, + "Resources": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EKS::Cluster.Provider": { + "additionalProperties": false, + "properties": { + "KeyArn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EKS::Cluster.ResourcesVpcConfig": { "additionalProperties": false, "properties": { @@ -25413,6 +28883,14 @@ "AWS::EKS::Nodegroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -25572,6 +29050,14 @@ "AWS::EMR::Cluster" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -26223,6 +29709,14 @@ "AWS::EMR::InstanceFleetConfig" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -26444,6 +29938,14 @@ "AWS::EMR::InstanceGroupConfig" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -26735,6 +30237,14 @@ "AWS::EMR::SecurityConfiguration" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -26801,6 +30311,14 @@ "AWS::EMR::Step" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -26971,6 +30489,14 @@ "AWS::ElastiCache::CacheCluster" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -27038,6 +30564,14 @@ "AWS::ElastiCache::ParameterGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -27114,6 +30648,9 @@ "KmsKeyId": { "type": "string" }, + "MultiAZEnabled": { + "type": "boolean" + }, "NodeGroupConfiguration": { "items": { "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration" @@ -27197,6 +30734,14 @@ "AWS::ElastiCache::ReplicationGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -27275,6 +30820,14 @@ "AWS::ElastiCache::SecurityGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -27336,6 +30889,14 @@ "AWS::ElastiCache::SecurityGroupIngress" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -27400,6 +30961,14 @@ "AWS::ElastiCache::SubnetGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -27457,6 +31026,14 @@ "AWS::ElasticBeanstalk::Application" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -27571,6 +31148,14 @@ "AWS::ElasticBeanstalk::ApplicationVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -27662,6 +31247,14 @@ "AWS::ElasticBeanstalk::ConfigurationTemplate" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -27790,6 +31383,14 @@ "AWS::ElasticBeanstalk::Environment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -27953,6 +31554,14 @@ "AWS::ElasticLoadBalancing::LoadBalancer" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -28203,6 +31812,14 @@ "AWS::ElasticLoadBalancingV2::Listener" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -28484,6 +32101,14 @@ "AWS::ElasticLoadBalancingV2::ListenerCertificate" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -28565,6 +32190,14 @@ "AWS::ElasticLoadBalancingV2::ListenerRule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -28986,6 +32619,14 @@ "AWS::ElasticLoadBalancingV2::LoadBalancer" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -29011,12 +32652,14 @@ "AllocationId": { "type": "string" }, + "PrivateIPv4Address": { + "type": "string" + }, "SubnetId": { "type": "string" } }, "required": [ - "AllocationId", "SubnetId" ], "type": "object" @@ -29121,6 +32764,14 @@ "AWS::ElasticLoadBalancingV2::TargetGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -29264,6 +32915,14 @@ "AWS::Elasticsearch::Domain" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -29458,6 +33117,14 @@ "AWS::EventSchemas::Discoverer" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -29534,6 +33201,14 @@ "AWS::EventSchemas::Registry" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -29557,6 +33232,75 @@ ], "type": "object" }, + "AWS::EventSchemas::RegistryPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Policy": { + "type": "object" + }, + "RegistryName": { + "type": "string" + }, + "RevisionId": { + "type": "string" + } + }, + "required": [ + "Policy", + "RegistryName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EventSchemas::RegistryPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::EventSchemas::Schema": { "additionalProperties": false, "properties": { @@ -29623,6 +33367,14 @@ "AWS::EventSchemas::Schema" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -29696,6 +33448,14 @@ "AWS::Events::EventBus" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -29764,6 +33524,14 @@ "AWS::Events::EventBusPolicy" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -29854,6 +33622,14 @@ "AWS::Events::Rule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -29952,6 +33728,36 @@ ], "type": "object" }, + "AWS::Events::Rule.HttpParameters": { + "additionalProperties": false, + "properties": { + "HeaderParameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "PathParameterValues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "QueryStringParameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, "AWS::Events::Rule.InputTransformer": { "additionalProperties": false, "properties": { @@ -30052,6 +33858,9 @@ "EcsParameters": { "$ref": "#/definitions/AWS::Events::Rule.EcsParameters" }, + "HttpParameters": { + "$ref": "#/definitions/AWS::Events::Rule.HttpParameters" + }, "Id": { "type": "string" }, @@ -30133,6 +33942,14 @@ "AWS::FMS::NotificationChannel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -30230,6 +34047,14 @@ "AWS::FMS::Policy" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -30246,6 +34071,12 @@ "type": "string" }, "type": "array" + }, + "ORGUNIT": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" @@ -30334,6 +34165,9 @@ "StorageCapacity": { "type": "number" }, + "StorageType": { + "type": "string" + }, "SubnetIds": { "items": { "type": "string" @@ -30361,6 +34195,14 @@ "AWS::FSx::FileSystem" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -30506,6 +34348,14 @@ "AWS::GameLift::Alias" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -30584,6 +34434,14 @@ "AWS::GameLift::Build" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -30730,6 +34588,14 @@ "AWS::GameLift::Fleet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -30884,6 +34750,14 @@ "AWS::GameLift::GameSessionQueue" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -31005,6 +34879,14 @@ "AWS::GameLift::MatchmakingConfiguration" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -31079,6 +34961,14 @@ "AWS::GameLift::MatchmakingRuleSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -31139,6 +35029,14 @@ "AWS::GameLift::Script" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -31170,7 +35068,7 @@ ], "type": "object" }, - "AWS::Glue::Classifier": { + "AWS::GlobalAccelerator::Accelerator": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -31202,120 +35100,55 @@ "Properties": { "additionalProperties": false, "properties": { - "CsvClassifier": { - "$ref": "#/definitions/AWS::Glue::Classifier.CsvClassifier" + "Enabled": { + "type": "boolean" }, - "GrokClassifier": { - "$ref": "#/definitions/AWS::Glue::Classifier.GrokClassifier" + "IpAddressType": { + "type": "string" }, - "JsonClassifier": { - "$ref": "#/definitions/AWS::Glue::Classifier.JsonClassifier" + "IpAddresses": { + "items": { + "type": "string" + }, + "type": "array" }, - "XMLClassifier": { - "$ref": "#/definitions/AWS::Glue::Classifier.XMLClassifier" + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, + "required": [ + "Name" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::Classifier" + "AWS::GlobalAccelerator::Accelerator" ], "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Glue::Classifier.CsvClassifier": { - "additionalProperties": false, - "properties": { - "AllowSingleColumn": { - "type": "boolean" - }, - "ContainsHeader": { - "type": "string" - }, - "Delimiter": { - "type": "string" - }, - "DisableValueTrimming": { - "type": "boolean" - }, - "Header": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "QuoteSymbol": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Classifier.GrokClassifier": { - "additionalProperties": false, - "properties": { - "Classification": { - "type": "string" - }, - "CustomPatterns": { - "type": "string" - }, - "GrokPattern": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Classification", - "GrokPattern" - ], - "type": "object" - }, - "AWS::Glue::Classifier.JsonClassifier": { - "additionalProperties": false, - "properties": { - "JsonPath": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "JsonPath" - ], - "type": "object" - }, - "AWS::Glue::Classifier.XMLClassifier": { - "additionalProperties": false, - "properties": { - "Classification": { - "type": "string" - }, - "Name": { - "type": "string" }, - "RowTag": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Classification", - "RowTag" + "Type", + "Properties" ], "type": "object" }, - "AWS::Glue::Connection": { + "AWS::GlobalAccelerator::EndpointGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -31347,22 +35180,54 @@ "Properties": { "additionalProperties": false, "properties": { - "CatalogId": { + "EndpointConfigurations": { + "items": { + "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup.EndpointConfiguration" + }, + "type": "array" + }, + "EndpointGroupRegion": { "type": "string" }, - "ConnectionInput": { - "$ref": "#/definitions/AWS::Glue::Connection.ConnectionInput" + "HealthCheckIntervalSeconds": { + "type": "number" + }, + "HealthCheckPath": { + "type": "string" + }, + "HealthCheckPort": { + "type": "number" + }, + "HealthCheckProtocol": { + "type": "string" + }, + "ListenerArn": { + "type": "string" + }, + "ThresholdCount": { + "type": "number" + }, + "TrafficDialPercentage": { + "type": "number" } }, "required": [ - "CatalogId", - "ConnectionInput" + "EndpointGroupRegion", + "ListenerArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::Connection" + "AWS::GlobalAccelerator::EndpointGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -31373,56 +35238,385 @@ ], "type": "object" }, - "AWS::Glue::Connection.ConnectionInput": { + "AWS::GlobalAccelerator::EndpointGroup.EndpointConfiguration": { "additionalProperties": false, "properties": { - "ConnectionProperties": { - "type": "object" - }, - "ConnectionType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "MatchCriteria": { - "items": { - "type": "string" - }, - "type": "array" + "ClientIPPreservationEnabled": { + "type": "boolean" }, - "Name": { + "EndpointId": { "type": "string" }, - "PhysicalConnectionRequirements": { - "$ref": "#/definitions/AWS::Glue::Connection.PhysicalConnectionRequirements" + "Weight": { + "type": "number" } }, "required": [ - "ConnectionProperties", - "ConnectionType" + "EndpointId" ], "type": "object" }, - "AWS::Glue::Connection.PhysicalConnectionRequirements": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "SecurityGroupIdList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler": { + "AWS::GlobalAccelerator::Listener": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceleratorArn": { + "type": "string" + }, + "ClientAffinity": { + "type": "string" + }, + "PortRanges": { + "items": { + "$ref": "#/definitions/AWS::GlobalAccelerator::Listener.PortRange" + }, + "type": "array" + }, + "Protocol": { + "type": "string" + } + }, + "required": [ + "AcceleratorArn", + "PortRanges", + "Protocol" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GlobalAccelerator::Listener" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GlobalAccelerator::Listener.PortRange": { + "additionalProperties": false, + "properties": { + "FromPort": { + "type": "number" + }, + "ToPort": { + "type": "number" + } + }, + "required": [ + "FromPort", + "ToPort" + ], + "type": "object" + }, + "AWS::Glue::Classifier": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CsvClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.CsvClassifier" + }, + "GrokClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.GrokClassifier" + }, + "JsonClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.JsonClassifier" + }, + "XMLClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.XMLClassifier" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Classifier" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Glue::Classifier.CsvClassifier": { + "additionalProperties": false, + "properties": { + "AllowSingleColumn": { + "type": "boolean" + }, + "ContainsHeader": { + "type": "string" + }, + "Delimiter": { + "type": "string" + }, + "DisableValueTrimming": { + "type": "boolean" + }, + "Header": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "QuoteSymbol": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Classifier.GrokClassifier": { + "additionalProperties": false, + "properties": { + "Classification": { + "type": "string" + }, + "CustomPatterns": { + "type": "string" + }, + "GrokPattern": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Classification", + "GrokPattern" + ], + "type": "object" + }, + "AWS::Glue::Classifier.JsonClassifier": { + "additionalProperties": false, + "properties": { + "JsonPath": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "JsonPath" + ], + "type": "object" + }, + "AWS::Glue::Classifier.XMLClassifier": { + "additionalProperties": false, + "properties": { + "Classification": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RowTag": { + "type": "string" + } + }, + "required": [ + "Classification", + "RowTag" + ], + "type": "object" + }, + "AWS::Glue::Connection": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "ConnectionInput": { + "$ref": "#/definitions/AWS::Glue::Connection.ConnectionInput" + } + }, + "required": [ + "CatalogId", + "ConnectionInput" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Connection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::Connection.ConnectionInput": { + "additionalProperties": false, + "properties": { + "ConnectionProperties": { + "type": "object" + }, + "ConnectionType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "MatchCriteria": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "PhysicalConnectionRequirements": { + "$ref": "#/definitions/AWS::Glue::Connection.PhysicalConnectionRequirements" + } + }, + "required": [ + "ConnectionProperties", + "ConnectionType" + ], + "type": "object" + }, + "AWS::Glue::Connection.PhysicalConnectionRequirements": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "SecurityGroupIdList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Crawler": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -31505,6 +35699,14 @@ "AWS::Glue::Crawler" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -31671,6 +35873,14 @@ "AWS::Glue::DataCatalogEncryptionSettings" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -31765,6 +35975,14 @@ "AWS::Glue::Database" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -31847,6 +36065,12 @@ "PublicKey": { "type": "string" }, + "PublicKeys": { + "items": { + "type": "string" + }, + "type": "array" + }, "RoleArn": { "type": "string" }, @@ -31879,6 +36103,14 @@ "AWS::Glue::DevEndpoint" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -31985,6 +36217,14 @@ "AWS::Glue::Job" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -32094,6 +36334,9 @@ "Role": { "type": "string" }, + "Tags": { + "type": "object" + }, "Timeout": { "type": "number" }, @@ -32116,6 +36359,14 @@ "AWS::Glue::MLTransform" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -32252,6 +36503,14 @@ "AWS::Glue::Partition" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -32451,6 +36710,14 @@ "AWS::Glue::SecurityConfiguration" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -32569,6 +36836,14 @@ "AWS::Glue::Table" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -32811,6 +37086,14 @@ "AWS::Glue::Trigger" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -32940,6 +37223,14 @@ "AWS::Glue::Workflow" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -32999,6 +37290,14 @@ "AWS::Greengrass::ConnectorDefinition" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -33094,6 +37393,14 @@ "AWS::Greengrass::ConnectorDefinitionVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -33173,6 +37480,14 @@ "AWS::Greengrass::CoreDefinition" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -33272,6 +37587,14 @@ "AWS::Greengrass::CoreDefinitionVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -33355,6 +37678,14 @@ "AWS::Greengrass::DeviceDefinition" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -33454,6 +37785,14 @@ "AWS::Greengrass::DeviceDefinitionVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -33537,6 +37876,14 @@ "AWS::Greengrass::FunctionDefinition" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -33738,6 +38085,14 @@ "AWS::Greengrass::FunctionDefinitionVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -33920,6 +38275,14 @@ "AWS::Greengrass::Group" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -34022,6 +38385,14 @@ "AWS::Greengrass::GroupVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -34082,6 +38453,14 @@ "AWS::Greengrass::LoggerDefinition" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -34185,6 +38564,14 @@ "AWS::Greengrass::LoggerDefinitionVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -34272,6 +38659,14 @@ "AWS::Greengrass::ResourceDefinition" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -34365,6 +38760,22 @@ ], "type": "object" }, + "AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting": { + "additionalProperties": false, + "properties": { + "GroupOwner": { + "type": "string" + }, + "GroupPermission": { + "type": "string" + } + }, + "required": [ + "GroupOwner", + "GroupPermission" + ], + "type": "object" + }, "AWS::Greengrass::ResourceDefinition.ResourceInstance": { "additionalProperties": false, "properties": { @@ -34391,6 +38802,9 @@ "DestinationPath": { "type": "string" }, + "OwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting" + }, "S3Uri": { "type": "string" } @@ -34407,6 +38821,9 @@ "DestinationPath": { "type": "string" }, + "OwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting" + }, "SageMakerJobArn": { "type": "string" } @@ -34488,6 +38905,14 @@ "AWS::Greengrass::ResourceDefinitionVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -34566,6 +38991,22 @@ }, "type": "object" }, + "AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting": { + "additionalProperties": false, + "properties": { + "GroupOwner": { + "type": "string" + }, + "GroupPermission": { + "type": "string" + } + }, + "required": [ + "GroupOwner", + "GroupPermission" + ], + "type": "object" + }, "AWS::Greengrass::ResourceDefinitionVersion.ResourceInstance": { "additionalProperties": false, "properties": { @@ -34592,6 +39033,9 @@ "DestinationPath": { "type": "string" }, + "OwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting" + }, "S3Uri": { "type": "string" } @@ -34608,6 +39052,9 @@ "DestinationPath": { "type": "string" }, + "OwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting" + }, "SageMakerJobArn": { "type": "string" } @@ -34688,6 +39135,14 @@ "AWS::Greengrass::SubscriptionDefinition" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -34788,6 +39243,14 @@ "AWS::Greengrass::SubscriptionDefinitionVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -34869,6 +39332,14 @@ "AWS::GuardDuty::Detector" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -34943,6 +39414,14 @@ "AWS::GuardDuty::Filter" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -35051,6 +39530,14 @@ "AWS::GuardDuty::IPSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -35112,77 +39599,14 @@ "AWS::GuardDuty::Master" ], "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GuardDuty::Member": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { + }, + "UpdateReplacePolicy": { "enum": [ "Delete", "Retain", "Snapshot" ], "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DetectorId": { - "type": "string" - }, - "DisableEmailNotification": { - "type": "boolean" - }, - "Email": { - "type": "string" - }, - "MemberId": { - "type": "string" - }, - "Message": { - "type": "string" - }, - "Status": { - "type": "string" - } - }, - "required": [ - "DetectorId", - "Email", - "MemberId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GuardDuty::Member" - ], - "type": "string" } }, "required": [ @@ -35191,7 +39615,86 @@ ], "type": "object" }, - "AWS::GuardDuty::ThreatIntelSet": { + "AWS::GuardDuty::Member": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DetectorId": { + "type": "string" + }, + "DisableEmailNotification": { + "type": "boolean" + }, + "Email": { + "type": "string" + }, + "MemberId": { + "type": "string" + }, + "Message": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "DetectorId", + "Email", + "MemberId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Member" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::ThreatIntelSet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -35252,6 +39755,14 @@ "AWS::GuardDuty::ThreatIntelSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -35312,6 +39823,14 @@ "AWS::IAM::AccessKey" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -35378,6 +39897,14 @@ "AWS::IAM::Group" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -35456,6 +39983,14 @@ "AWS::IAM::InstanceProfile" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -35537,6 +40072,14 @@ "AWS::IAM::ManagedPolicy" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -35613,6 +40156,14 @@ "AWS::IAM::Policy" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -35700,6 +40251,14 @@ "AWS::IAM::Role" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -35776,6 +40335,14 @@ "AWS::IAM::ServiceLinkedRole" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -35860,6 +40427,14 @@ "AWS::IAM::User" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -35951,133 +40526,14 @@ "AWS::IAM::UserToGroupAddition" ], "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Inspector::AssessmentTarget": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssessmentTargetName": { - "type": "string" - }, - "ResourceGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Inspector::AssessmentTarget" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Inspector::AssessmentTemplate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { + "UpdateReplacePolicy": { "enum": [ "Delete", "Retain", "Snapshot" ], "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssessmentTargetArn": { - "type": "string" - }, - "AssessmentTemplateName": { - "type": "string" - }, - "DurationInSeconds": { - "type": "number" - }, - "RulesPackageArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "UserAttributesForFindings": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AssessmentTargetArn", - "DurationInSeconds", - "RulesPackageArns" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Inspector::AssessmentTemplate" - ], - "type": "string" } }, "required": [ @@ -36086,7 +40542,7 @@ ], "type": "object" }, - "AWS::Inspector::ResourceGroup": { + "AWS::ImageBuilder::Component": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36118,21 +40574,58 @@ "Properties": { "additionalProperties": false, "properties": { - "ResourceGroupTags": { - "items": { - "$ref": "#/definitions/Tag" + "ChangeDescription": { + "type": "string" + }, + "Data": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Platform": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "type": "array" + "type": "object" + }, + "Uri": { + "type": "string" + }, + "Version": { + "type": "string" } }, "required": [ - "ResourceGroupTags" + "Name", + "Platform", + "Version" ], "type": "object" }, "Type": { "enum": [ - "AWS::Inspector::ResourceGroup" + "AWS::ImageBuilder::Component" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -36143,7 +40636,7 @@ ], "type": "object" }, - "AWS::IoT1Click::Device": { + "AWS::ImageBuilder::DistributionConfiguration": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36175,22 +40668,45 @@ "Properties": { "additionalProperties": false, "properties": { - "DeviceId": { + "Description": { "type": "string" }, - "Enabled": { - "type": "boolean" + "Distributions": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration.Distribution" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" } }, "required": [ - "DeviceId", - "Enabled" + "Distributions", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT1Click::Device" + "AWS::ImageBuilder::DistributionConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -36201,7 +40717,25 @@ ], "type": "object" }, - "AWS::IoT1Click::Placement": { + "AWS::ImageBuilder::DistributionConfiguration.Distribution": { + "additionalProperties": false, + "properties": { + "AmiDistributionConfiguration": { + "type": "object" + }, + "LicenseConfigurationArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Region": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::Image": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36233,27 +40767,45 @@ "Properties": { "additionalProperties": false, "properties": { - "AssociatedDevices": { - "type": "object" - }, - "Attributes": { - "type": "object" + "DistributionConfigurationArn": { + "type": "string" }, - "PlacementName": { + "ImageRecipeArn": { "type": "string" }, - "ProjectName": { + "ImageTestsConfiguration": { + "$ref": "#/definitions/AWS::ImageBuilder::Image.ImageTestsConfiguration" + }, + "InfrastructureConfigurationArn": { "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" } }, "required": [ - "ProjectName" + "ImageRecipeArn", + "InfrastructureConfigurationArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT1Click::Placement" + "AWS::ImageBuilder::Image" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -36264,7 +40816,19 @@ ], "type": "object" }, - "AWS::IoT1Click::Project": { + "AWS::ImageBuilder::Image.ImageTestsConfiguration": { + "additionalProperties": false, + "properties": { + "ImageTestsEnabled": { + "type": "boolean" + }, + "TimeoutMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImagePipeline": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36299,21 +40863,55 @@ "Description": { "type": "string" }, - "PlacementTemplate": { - "$ref": "#/definitions/AWS::IoT1Click::Project.PlacementTemplate" + "DistributionConfigurationArn": { + "type": "string" }, - "ProjectName": { + "ImageRecipeArn": { + "type": "string" + }, + "ImageTestsConfiguration": { + "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration" + }, + "InfrastructureConfigurationArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.Schedule" + }, + "Status": { "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" } }, "required": [ - "PlacementTemplate" + "ImageRecipeArn", + "InfrastructureConfigurationArn", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT1Click::Project" + "AWS::ImageBuilder::ImagePipeline" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -36324,31 +40922,31 @@ ], "type": "object" }, - "AWS::IoT1Click::Project.DeviceTemplate": { + "AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration": { "additionalProperties": false, "properties": { - "CallbackOverrides": { - "type": "object" + "ImageTestsEnabled": { + "type": "boolean" }, - "DeviceType": { - "type": "string" + "TimeoutMinutes": { + "type": "number" } }, "type": "object" }, - "AWS::IoT1Click::Project.PlacementTemplate": { + "AWS::ImageBuilder::ImagePipeline.Schedule": { "additionalProperties": false, "properties": { - "DefaultAttributes": { - "type": "object" + "PipelineExecutionStartCondition": { + "type": "string" }, - "DeviceTemplates": { - "type": "object" + "ScheduleExpression": { + "type": "string" } }, "type": "object" }, - "AWS::IoT::Certificate": { + "AWS::ImageBuilder::ImageRecipe": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36380,22 +40978,59 @@ "Properties": { "additionalProperties": false, "properties": { - "CertificateSigningRequest": { + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping" + }, + "type": "array" + }, + "Components": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.ComponentConfiguration" + }, + "type": "array" + }, + "Description": { "type": "string" }, - "Status": { + "Name": { + "type": "string" + }, + "ParentImage": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Version": { "type": "string" } }, "required": [ - "CertificateSigningRequest", - "Status" + "Components", + "Name", + "ParentImage", + "Version" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::Certificate" + "AWS::ImageBuilder::ImageRecipe" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -36406,7 +41041,61 @@ ], "type": "object" }, - "AWS::IoT::Policy": { + "AWS::ImageBuilder::ImageRecipe.ComponentConfiguration": { + "additionalProperties": false, + "properties": { + "ComponentArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" + }, + "SnapshotId": { + "type": "string" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification" + }, + "NoDevice": { + "type": "string" + }, + "VirtualName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::InfrastructureConfiguration": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36438,21 +41127,69 @@ "Properties": { "additionalProperties": false, "properties": { - "PolicyDocument": { + "Description": { + "type": "string" + }, + "InstanceProfileName": { + "type": "string" + }, + "InstanceTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "KeyPair": { + "type": "string" + }, + "Logging": { "type": "object" }, - "PolicyName": { + "Name": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnsTopicArn": { + "type": "string" + }, + "SubnetId": { "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "TerminateInstanceOnFailure": { + "type": "boolean" } }, "required": [ - "PolicyDocument" + "InstanceProfileName", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::Policy" + "AWS::ImageBuilder::InfrastructureConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -36463,7 +41200,28 @@ ], "type": "object" }, - "AWS::IoT::PolicyPrincipalAttachment": { + "AWS::ImageBuilder::InfrastructureConfiguration.Logging": { + "additionalProperties": false, + "properties": { + "S3Logs": { + "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.S3Logs" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::InfrastructureConfiguration.S3Logs": { + "additionalProperties": false, + "properties": { + "S3BucketName": { + "type": "string" + }, + "S3KeyPrefix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Inspector::AssessmentTarget": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36495,33 +41253,36 @@ "Properties": { "additionalProperties": false, "properties": { - "PolicyName": { + "AssessmentTargetName": { "type": "string" }, - "Principal": { + "ResourceGroupArn": { "type": "string" } }, - "required": [ - "PolicyName", - "Principal" - ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::PolicyPrincipalAttachment" + "AWS::Inspector::AssessmentTarget" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::IoT::Thing": { + "AWS::Inspector::AssessmentTemplate": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36553,43 +41314,122 @@ "Properties": { "additionalProperties": false, "properties": { - "AttributePayload": { - "$ref": "#/definitions/AWS::IoT::Thing.AttributePayload" + "AssessmentTargetArn": { + "type": "string" }, - "ThingName": { + "AssessmentTemplateName": { "type": "string" + }, + "DurationInSeconds": { + "type": "number" + }, + "RulesPackageArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "UserAttributesForFindings": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, + "required": [ + "AssessmentTargetArn", + "DurationInSeconds", + "RulesPackageArns" + ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::Thing" + "AWS::Inspector::AssessmentTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::IoT::Thing.AttributePayload": { + "AWS::Inspector::ResourceGroup": { "additionalProperties": false, "properties": { - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceGroupTags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, + "required": [ + "ResourceGroupTags" + ], "type": "object" + }, + "Type": { + "enum": [ + "AWS::Inspector::ResourceGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::IoT::ThingPrincipalAttachment": { + "AWS::IoT1Click::Device": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36621,22 +41461,30 @@ "Properties": { "additionalProperties": false, "properties": { - "Principal": { + "DeviceId": { "type": "string" }, - "ThingName": { - "type": "string" + "Enabled": { + "type": "boolean" } }, "required": [ - "Principal", - "ThingName" + "DeviceId", + "Enabled" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::ThingPrincipalAttachment" + "AWS::IoT1Click::Device" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -36647,7 +41495,7 @@ ], "type": "object" }, - "AWS::IoT::TopicRule": { + "AWS::IoT1Click::Placement": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36679,21 +41527,35 @@ "Properties": { "additionalProperties": false, "properties": { - "RuleName": { + "AssociatedDevices": { + "type": "object" + }, + "Attributes": { + "type": "object" + }, + "PlacementName": { "type": "string" }, - "TopicRulePayload": { - "$ref": "#/definitions/AWS::IoT::TopicRule.TopicRulePayload" + "ProjectName": { + "type": "string" } }, "required": [ - "TopicRulePayload" + "ProjectName" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::TopicRule" + "AWS::IoT1Click::Placement" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -36704,17 +41566,609 @@ ], "type": "object" }, - "AWS::IoT::TopicRule.Action": { + "AWS::IoT1Click::Project": { "additionalProperties": false, "properties": { - "CloudwatchAlarm": { - "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchAlarmAction" - }, - "CloudwatchMetric": { - "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchMetricAction" - }, - "DynamoDB": { - "$ref": "#/definitions/AWS::IoT::TopicRule.DynamoDBAction" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "PlacementTemplate": { + "$ref": "#/definitions/AWS::IoT1Click::Project.PlacementTemplate" + }, + "ProjectName": { + "type": "string" + } + }, + "required": [ + "PlacementTemplate" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT1Click::Project" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT1Click::Project.DeviceTemplate": { + "additionalProperties": false, + "properties": { + "CallbackOverrides": { + "type": "object" + }, + "DeviceType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT1Click::Project.PlacementTemplate": { + "additionalProperties": false, + "properties": { + "DefaultAttributes": { + "type": "object" + }, + "DeviceTemplates": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::IoT::Certificate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CertificateSigningRequest": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "CertificateSigningRequest", + "Status" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::Certificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::Policy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + }, + "PolicyName": { + "type": "string" + } + }, + "required": [ + "PolicyDocument" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::Policy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::PolicyPrincipalAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyName": { + "type": "string" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "PolicyName", + "Principal" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::PolicyPrincipalAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::ProvisioningTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "PreProvisioningHook": { + "$ref": "#/definitions/AWS::IoT::ProvisioningTemplate.ProvisioningHook" + }, + "ProvisioningRoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "type": "object" + }, + "type": "array" + }, + "TemplateBody": { + "type": "string" + }, + "TemplateName": { + "type": "string" + } + }, + "required": [ + "ProvisioningRoleArn", + "TemplateBody" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::ProvisioningTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::ProvisioningTemplate.ProvisioningHook": { + "additionalProperties": false, + "properties": { + "PayloadVersion": { + "type": "string" + }, + "TargetArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::Thing": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AttributePayload": { + "$ref": "#/definitions/AWS::IoT::Thing.AttributePayload" + }, + "ThingName": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::Thing" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IoT::Thing.AttributePayload": { + "additionalProperties": false, + "properties": { + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::IoT::ThingPrincipalAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Principal": { + "type": "string" + }, + "ThingName": { + "type": "string" + } + }, + "required": [ + "Principal", + "ThingName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::ThingPrincipalAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::TopicRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "RuleName": { + "type": "string" + }, + "TopicRulePayload": { + "$ref": "#/definitions/AWS::IoT::TopicRule.TopicRulePayload" + } + }, + "required": [ + "TopicRulePayload" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::TopicRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.Action": { + "additionalProperties": false, + "properties": { + "CloudwatchAlarm": { + "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchAlarmAction" + }, + "CloudwatchMetric": { + "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchMetricAction" + }, + "DynamoDB": { + "$ref": "#/definitions/AWS::IoT::TopicRule.DynamoDBAction" }, "DynamoDBv2": { "$ref": "#/definitions/AWS::IoT::TopicRule.DynamoDBv2Action" @@ -36725,9 +42179,18 @@ "Firehose": { "$ref": "#/definitions/AWS::IoT::TopicRule.FirehoseAction" }, + "Http": { + "$ref": "#/definitions/AWS::IoT::TopicRule.HttpAction" + }, "IotAnalytics": { "$ref": "#/definitions/AWS::IoT::TopicRule.IotAnalyticsAction" }, + "IotEvents": { + "$ref": "#/definitions/AWS::IoT::TopicRule.IotEventsAction" + }, + "IotSiteWise": { + "$ref": "#/definitions/AWS::IoT::TopicRule.IotSiteWiseAction" + }, "Kinesis": { "$ref": "#/definitions/AWS::IoT::TopicRule.KinesisAction" }, @@ -36752,6 +42215,58 @@ }, "type": "object" }, + "AWS::IoT::TopicRule.AssetPropertyTimestamp": { + "additionalProperties": false, + "properties": { + "OffsetInNanos": { + "type": "string" + }, + "TimeInSeconds": { + "type": "string" + } + }, + "required": [ + "TimeInSeconds" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.AssetPropertyValue": { + "additionalProperties": false, + "properties": { + "Quality": { + "type": "string" + }, + "Timestamp": { + "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyTimestamp" + }, + "Value": { + "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyVariant" + } + }, + "required": [ + "Timestamp", + "Value" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.AssetPropertyVariant": { + "additionalProperties": false, + "properties": { + "BooleanValue": { + "type": "string" + }, + "DoubleValue": { + "type": "string" + }, + "IntegerValue": { + "type": "string" + }, + "StringValue": { + "type": "string" + } + }, + "type": "object" + }, "AWS::IoT::TopicRule.CloudwatchAlarmAction": { "additionalProperties": false, "properties": { @@ -36905,6 +42420,55 @@ ], "type": "object" }, + "AWS::IoT::TopicRule.HttpAction": { + "additionalProperties": false, + "properties": { + "Auth": { + "$ref": "#/definitions/AWS::IoT::TopicRule.HttpAuthorization" + }, + "ConfirmationUrl": { + "type": "string" + }, + "Headers": { + "items": { + "$ref": "#/definitions/AWS::IoT::TopicRule.HttpActionHeader" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Url" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.HttpActionHeader": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.HttpAuthorization": { + "additionalProperties": false, + "properties": { + "Sigv4": { + "$ref": "#/definitions/AWS::IoT::TopicRule.SigV4Authorization" + } + }, + "type": "object" + }, "AWS::IoT::TopicRule.IotAnalyticsAction": { "additionalProperties": false, "properties": { @@ -36921,6 +42485,44 @@ ], "type": "object" }, + "AWS::IoT::TopicRule.IotEventsAction": { + "additionalProperties": false, + "properties": { + "InputName": { + "type": "string" + }, + "MessageId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "InputName", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.IotSiteWiseAction": { + "additionalProperties": false, + "properties": { + "PutAssetPropertyValueEntries": { + "items": { + "$ref": "#/definitions/AWS::IoT::TopicRule.PutAssetPropertyValueEntry" + }, + "type": "array" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "PutAssetPropertyValueEntries", + "RoleArn" + ], + "type": "object" + }, "AWS::IoT::TopicRule.KinesisAction": { "additionalProperties": false, "properties": { @@ -36949,6 +42551,33 @@ }, "type": "object" }, + "AWS::IoT::TopicRule.PutAssetPropertyValueEntry": { + "additionalProperties": false, + "properties": { + "AssetId": { + "type": "string" + }, + "EntryId": { + "type": "string" + }, + "PropertyAlias": { + "type": "string" + }, + "PropertyId": { + "type": "string" + }, + "PropertyValues": { + "items": { + "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyValue" + }, + "type": "array" + } + }, + "required": [ + "PropertyValues" + ], + "type": "object" + }, "AWS::IoT::TopicRule.PutItemInput": { "additionalProperties": false, "properties": { @@ -36964,6 +42593,9 @@ "AWS::IoT::TopicRule.RepublishAction": { "additionalProperties": false, "properties": { + "Qos": { + "type": "number" + }, "RoleArn": { "type": "string" }, @@ -36997,6 +42629,26 @@ ], "type": "object" }, + "AWS::IoT::TopicRule.SigV4Authorization": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "ServiceName": { + "type": "string" + }, + "SigningRegion": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "ServiceName", + "SigningRegion" + ], + "type": "object" + }, "AWS::IoT::TopicRule.SnsAction": { "additionalProperties": false, "properties": { @@ -37141,6 +42793,14 @@ "AWS::IoTAnalytics::Channel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -37272,6 +42932,14 @@ "AWS::IoTAnalytics::Dataset" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -37626,6 +43294,14 @@ "AWS::IoTAnalytics::Datastore" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -37739,6 +43415,14 @@ "AWS::IoTAnalytics::Pipeline" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -38018,6 +43702,14 @@ "AWS::IoTEvents::DetectorModel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -38031,12 +43723,21 @@ "ClearTimer": { "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.ClearTimer" }, + "DynamoDB": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.DynamoDB" + }, + "DynamoDBv2": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.DynamoDBv2" + }, "Firehose": { "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Firehose" }, "IotEvents": { "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.IotEvents" }, + "IotSiteWise": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.IotSiteWise" + }, "IotTopicPublish": { "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.IotTopicPublish" }, @@ -38061,6 +43762,51 @@ }, "type": "object" }, + "AWS::IoTEvents::DetectorModel.AssetPropertyTimestamp": { + "additionalProperties": false, + "properties": { + "OffsetInNanos": { + "type": "string" + }, + "TimeInSeconds": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.AssetPropertyValue": { + "additionalProperties": false, + "properties": { + "Quality": { + "type": "string" + }, + "Timestamp": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyTimestamp" + }, + "Value": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyVariant" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.AssetPropertyVariant": { + "additionalProperties": false, + "properties": { + "BooleanValue": { + "type": "string" + }, + "DoubleValue": { + "type": "string" + }, + "IntegerValue": { + "type": "string" + }, + "StringValue": { + "type": "string" + } + }, + "type": "object" + }, "AWS::IoTEvents::DetectorModel.ClearTimer": { "additionalProperties": false, "properties": { @@ -38085,6 +43831,54 @@ }, "type": "object" }, + "AWS::IoTEvents::DetectorModel.DynamoDB": { + "additionalProperties": false, + "properties": { + "HashKeyField": { + "type": "string" + }, + "HashKeyType": { + "type": "string" + }, + "HashKeyValue": { + "type": "string" + }, + "Operation": { + "type": "string" + }, + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, + "PayloadField": { + "type": "string" + }, + "RangeKeyField": { + "type": "string" + }, + "RangeKeyType": { + "type": "string" + }, + "RangeKeyValue": { + "type": "string" + }, + "TableName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.DynamoDBv2": { + "additionalProperties": false, + "properties": { + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, + "TableName": { + "type": "string" + } + }, + "type": "object" + }, "AWS::IoTEvents::DetectorModel.Event": { "additionalProperties": false, "properties": { @@ -38109,6 +43903,9 @@ "DeliveryStreamName": { "type": "string" }, + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, "Separator": { "type": "string" } @@ -38120,6 +43917,30 @@ "properties": { "InputName": { "type": "string" + }, + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.IotSiteWise": { + "additionalProperties": false, + "properties": { + "AssetId": { + "type": "string" + }, + "EntryId": { + "type": "string" + }, + "PropertyAlias": { + "type": "string" + }, + "PropertyId": { + "type": "string" + }, + "PropertyValue": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyValue" } }, "type": "object" @@ -38129,6 +43950,9 @@ "properties": { "MqttTopic": { "type": "string" + }, + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" } }, "type": "object" @@ -38138,6 +43962,9 @@ "properties": { "FunctionArn": { "type": "string" + }, + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" } }, "type": "object" @@ -38184,6 +44011,18 @@ }, "type": "object" }, + "AWS::IoTEvents::DetectorModel.Payload": { + "additionalProperties": false, + "properties": { + "ContentExpression": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, "AWS::IoTEvents::DetectorModel.ResetTimer": { "additionalProperties": false, "properties": { @@ -38196,6 +44035,9 @@ "AWS::IoTEvents::DetectorModel.SetTimer": { "additionalProperties": false, "properties": { + "DurationExpression": { + "type": "string" + }, "Seconds": { "type": "number" }, @@ -38220,6 +44062,9 @@ "AWS::IoTEvents::DetectorModel.Sns": { "additionalProperties": false, "properties": { + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, "TargetArn": { "type": "string" } @@ -38229,6 +44074,9 @@ "AWS::IoTEvents::DetectorModel.Sqs": { "additionalProperties": false, "properties": { + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, "QueueUrl": { "type": "string" }, @@ -38332,6 +44180,14 @@ "AWS::IoTEvents::Input" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -38409,6 +44265,14 @@ "AWS::IoTThingsGraph::FlowTemplate" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -38483,6 +44347,14 @@ "AWS::KMS::Alias" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -38558,6 +44430,14 @@ "AWS::KMS::Key" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -38627,6 +44507,14 @@ "AWS::Kinesis::Stream" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -38701,6 +44589,14 @@ "AWS::Kinesis::StreamConsumer" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -38767,6 +44663,14 @@ "AWS::KinesisAnalytics::Application" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -39015,6 +44919,14 @@ "AWS::KinesisAnalytics::ApplicationOutput" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -39154,6 +45066,14 @@ "AWS::KinesisAnalytics::ApplicationReferenceDataSource" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -39342,6 +45262,12 @@ }, "ServiceExecutionRole": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -39355,6 +45281,14 @@ "AWS::KinesisAnalyticsV2::Application" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -39781,6 +45715,14 @@ "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -39851,6 +45793,14 @@ "AWS::KinesisAnalyticsV2::ApplicationOutput" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -39978,6 +45928,14 @@ "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -40180,6 +46138,14 @@ "AWS::KinesisFirehose::DeliveryStream" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -40197,10 +46163,6 @@ "type": "number" } }, - "required": [ - "IntervalInSeconds", - "SizeInMBs" - ], "type": "object" }, "AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions": { @@ -40252,12 +46214,6 @@ "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SchemaConfiguration" } }, - "required": [ - "Enabled", - "InputFormatConfiguration", - "OutputFormatConfiguration", - "SchemaConfiguration" - ], "type": "object" }, "AWS::KinesisFirehose::DeliveryStream.Deserializer": { @@ -40282,10 +46238,6 @@ "type": "number" } }, - "required": [ - "IntervalInSeconds", - "SizeInMBs" - ], "type": "object" }, "AWS::KinesisFirehose::DeliveryStream.ElasticsearchDestinationConfiguration": { @@ -40297,6 +46249,9 @@ "CloudWatchLoggingOptions": { "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" }, + "ClusterEndpoint": { + "type": "string" + }, "DomainARN": { "type": "string" }, @@ -40323,18 +46278,15 @@ }, "TypeName": { "type": "string" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.VpcConfiguration" } }, "required": [ - "BufferingHints", - "DomainARN", "IndexName", - "IndexRotationPeriod", - "RetryOptions", "RoleARN", - "S3BackupMode", - "S3Configuration", - "TypeName" + "S3Configuration" ], "type": "object" }, @@ -40345,9 +46297,6 @@ "type": "number" } }, - "required": [ - "DurationInSeconds" - ], "type": "object" }, "AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration": { @@ -40404,8 +46353,6 @@ }, "required": [ "BucketARN", - "BufferingHints", - "CompressionFormat", "RoleARN" ], "type": "object" @@ -40429,9 +46376,6 @@ "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Deserializer" } }, - "required": [ - "Deserializer" - ], "type": "object" }, "AWS::KinesisFirehose::DeliveryStream.KMSEncryptionConfig": { @@ -40529,9 +46473,6 @@ "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Serializer" } }, - "required": [ - "Serializer" - ], "type": "object" }, "AWS::KinesisFirehose::DeliveryStream.ParquetSerDe": { @@ -40587,7 +46528,6 @@ } }, "required": [ - "Parameters", "Type" ], "type": "object" @@ -40626,9 +46566,18 @@ "ProcessingConfiguration": { "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" }, + "RetryOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RedshiftRetryOptions" + }, "RoleARN": { "type": "string" }, + "S3BackupConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + }, + "S3BackupMode": { + "type": "string" + }, "S3Configuration": { "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" }, @@ -40646,6 +46595,15 @@ ], "type": "object" }, + "AWS::KinesisFirehose::DeliveryStream.RedshiftRetryOptions": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "number" + } + }, + "type": "object" + }, "AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration": { "additionalProperties": false, "properties": { @@ -40676,8 +46634,6 @@ }, "required": [ "BucketARN", - "BufferingHints", - "CompressionFormat", "RoleARN" ], "type": "object" @@ -40704,14 +46660,6 @@ "type": "string" } }, - "required": [ - "CatalogId", - "DatabaseName", - "Region", - "RoleARN", - "TableName", - "VersionId" - ], "type": "object" }, "AWS::KinesisFirehose::DeliveryStream.Serializer": { @@ -40772,8 +46720,31 @@ "type": "number" } }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.VpcConfiguration": { + "additionalProperties": false, + "properties": { + "RoleARN": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, "required": [ - "DurationInSeconds" + "RoleARN", + "SecurityGroupIds", + "SubnetIds" ], "type": "object" }, @@ -40820,6 +46791,14 @@ "AWS::LakeFormation::DataLakeSettings" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -40903,6 +46882,14 @@ "AWS::LakeFormation::Permissions" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -40911,6 +46898,18 @@ ], "type": "object" }, + "AWS::LakeFormation::Permissions.ColumnWildcard": { + "additionalProperties": false, + "properties": { + "ExcludedColumnNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::LakeFormation::Permissions.DataLakePrincipal": { "additionalProperties": false, "properties": { @@ -40920,6 +46919,15 @@ }, "type": "object" }, + "AWS::LakeFormation::Permissions.DataLocationResource": { + "additionalProperties": false, + "properties": { + "S3Resource": { + "type": "string" + } + }, + "type": "object" + }, "AWS::LakeFormation::Permissions.DatabaseResource": { "additionalProperties": false, "properties": { @@ -40932,11 +46940,17 @@ "AWS::LakeFormation::Permissions.Resource": { "additionalProperties": false, "properties": { + "DataLocationResource": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.DataLocationResource" + }, "DatabaseResource": { "$ref": "#/definitions/AWS::LakeFormation::Permissions.DatabaseResource" }, "TableResource": { "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableResource" + }, + "TableWithColumnsResource": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableWithColumnsResource" } }, "type": "object" @@ -40953,6 +46967,27 @@ }, "type": "object" }, + "AWS::LakeFormation::Permissions.TableWithColumnsResource": { + "additionalProperties": false, + "properties": { + "ColumnNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ColumnWildcard": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.ColumnWildcard" + }, + "DatabaseName": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, "AWS::LakeFormation::Resource": { "additionalProperties": false, "properties": { @@ -41006,6 +47041,14 @@ "AWS::LakeFormation::Resource" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -41077,6 +47120,14 @@ "AWS::Lambda::Alias" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -41187,6 +47238,14 @@ "AWS::Lambda::EventInvokeConfig" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -41308,6 +47367,14 @@ "AWS::Lambda::EventSourceMapping" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -41440,6 +47507,14 @@ "AWS::Lambda::Function" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -41582,6 +47657,14 @@ "AWS::Lambda::LayerVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -41666,6 +47749,14 @@ "AWS::Lambda::LayerVersionPermission" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -41737,6 +47828,14 @@ "AWS::Lambda::Permission" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -41800,6 +47899,14 @@ "AWS::Lambda::Version" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -41878,6 +47985,14 @@ "AWS::Logs::Destination" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -41932,6 +48047,14 @@ "AWS::Logs::LogGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -41988,6 +48111,14 @@ "AWS::Logs::LogStream" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -42053,6 +48184,14 @@ "AWS::Logs::MetricFilter" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -42141,6 +48280,14 @@ "AWS::Logs::SubscriptionFilter" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -42202,6 +48349,9 @@ "KafkaVersion": { "type": "string" }, + "LoggingInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.LoggingInfo" + }, "NumberOfBrokerNodes": { "type": "number" }, @@ -42225,6 +48375,14 @@ "AWS::MSK::Cluster" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -42233,6 +48391,21 @@ ], "type": "object" }, + "AWS::MSK::Cluster.BrokerLogs": { + "additionalProperties": false, + "properties": { + "CloudWatchLogs": { + "$ref": "#/definitions/AWS::MSK::Cluster.CloudWatchLogs" + }, + "Firehose": { + "$ref": "#/definitions/AWS::MSK::Cluster.Firehose" + }, + "S3": { + "$ref": "#/definitions/AWS::MSK::Cluster.S3" + } + }, + "type": "object" + }, "AWS::MSK::Cluster.BrokerNodeGroupInfo": { "additionalProperties": false, "properties": { @@ -42273,6 +48446,21 @@ }, "type": "object" }, + "AWS::MSK::Cluster.CloudWatchLogs": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "LogGroup": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, "AWS::MSK::Cluster.ConfigurationInfo": { "additionalProperties": false, "properties": { @@ -42334,6 +48522,21 @@ }, "type": "object" }, + "AWS::MSK::Cluster.Firehose": { + "additionalProperties": false, + "properties": { + "DeliveryStream": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, "AWS::MSK::Cluster.JmxExporter": { "additionalProperties": false, "properties": { @@ -42346,6 +48549,18 @@ ], "type": "object" }, + "AWS::MSK::Cluster.LoggingInfo": { + "additionalProperties": false, + "properties": { + "BrokerLogs": { + "$ref": "#/definitions/AWS::MSK::Cluster.BrokerLogs" + } + }, + "required": [ + "BrokerLogs" + ], + "type": "object" + }, "AWS::MSK::Cluster.NodeExporter": { "additionalProperties": false, "properties": { @@ -42382,6 +48597,24 @@ }, "type": "object" }, + "AWS::MSK::Cluster.S3": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "Prefix": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, "AWS::MSK::Cluster.StorageInfo": { "additionalProperties": false, "properties": { @@ -42403,6 +48636,240 @@ }, "type": "object" }, + "AWS::Macie::CustomDataIdentifier": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "IgnoreWords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Keywords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaximumMatchDistance": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Regex": { + "type": "string" + } + }, + "required": [ + "Name", + "Regex" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Macie::CustomDataIdentifier" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Macie::FindingsFilter": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "FindingCriteria": { + "$ref": "#/definitions/AWS::Macie::FindingsFilter.FindingCriteria" + }, + "Name": { + "type": "string" + }, + "Position": { + "type": "number" + } + }, + "required": [ + "FindingCriteria", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Macie::FindingsFilter" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Macie::FindingsFilter.Criterion": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::Macie::FindingsFilter.FindingCriteria": { + "additionalProperties": false, + "properties": { + "Criterion": { + "$ref": "#/definitions/AWS::Macie::FindingsFilter.Criterion" + } + }, + "type": "object" + }, + "AWS::Macie::Session": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FindingPublishingFrequency": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Macie::Session" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::ManagedBlockchain::Member": { "additionalProperties": false, "properties": { @@ -42458,6 +48925,14 @@ "AWS::ManagedBlockchain::Member" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -42638,6 +49113,14 @@ "AWS::ManagedBlockchain::Node" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -42703,6 +49186,12 @@ "Description": { "type": "string" }, + "HopDestinations": { + "items": { + "$ref": "#/definitions/AWS::MediaConvert::JobTemplate.HopDestination" + }, + "type": "array" + }, "Name": { "type": "string" }, @@ -42732,6 +49221,14 @@ "AWS::MediaConvert::JobTemplate" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -42747,9 +49244,24 @@ "type": "string" } }, - "required": [ - "Mode" - ], + "required": [ + "Mode" + ], + "type": "object" + }, + "AWS::MediaConvert::JobTemplate.HopDestination": { + "additionalProperties": false, + "properties": { + "Priority": { + "type": "number" + }, + "Queue": { + "type": "string" + }, + "WaitMinutes": { + "type": "number" + } + }, "type": "object" }, "AWS::MediaConvert::Preset": { @@ -42810,6 +49322,14 @@ "AWS::MediaConvert::Preset" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -42873,6 +49393,14 @@ "AWS::MediaConvert::Queue" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -42953,6 +49481,14 @@ "AWS::MediaLive::Channel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -43313,7 +49849,508 @@ }, "type": "object" }, - "AWS::MediaLive::Input": { + "AWS::MediaLive::Input": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Input.InputDestinationRequest" + }, + "type": "array" + }, + "InputSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MediaConnectFlows": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Input.MediaConnectFlowRequest" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Input.InputSourceRequest" + }, + "type": "array" + }, + "Tags": { + "type": "object" + }, + "Type": { + "type": "string" + }, + "Vpc": { + "$ref": "#/definitions/AWS::MediaLive::Input.InputVpcRequest" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaLive::Input" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::MediaLive::Input.InputDestinationRequest": { + "additionalProperties": false, + "properties": { + "StreamName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Input.InputSourceRequest": { + "additionalProperties": false, + "properties": { + "PasswordParam": { + "type": "string" + }, + "Url": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Input.InputVpcRequest": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaLive::Input.MediaConnectFlowRequest": { + "additionalProperties": false, + "properties": { + "FlowArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::InputSecurityGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Tags": { + "type": "object" + }, + "WhitelistRules": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::InputSecurityGroup.InputWhitelistRuleCidr" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaLive::InputSecurityGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::MediaLive::InputSecurityGroup.InputWhitelistRuleCidr": { + "additionalProperties": false, + "properties": { + "Cidr": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaStore::Container": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessLoggingEnabled": { + "type": "boolean" + }, + "ContainerName": { + "type": "string" + }, + "CorsPolicy": { + "items": { + "$ref": "#/definitions/AWS::MediaStore::Container.CorsRule" + }, + "type": "array" + }, + "LifecyclePolicy": { + "type": "string" + }, + "MetricPolicy": { + "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicy" + }, + "Policy": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ContainerName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaStore::Container" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaStore::Container.CorsRule": { + "additionalProperties": false, + "properties": { + "AllowedHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedOrigins": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExposeHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxAgeSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaStore::Container.MetricPolicy": { + "additionalProperties": false, + "properties": { + "ContainerLevelMetrics": { + "type": "string" + }, + "MetricPolicyRules": { + "items": { + "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicyRule" + }, + "type": "array" + } + }, + "required": [ + "ContainerLevelMetrics" + ], + "type": "object" + }, + "AWS::MediaStore::Container.MetricPolicyRule": { + "additionalProperties": false, + "properties": { + "ObjectGroup": { + "type": "string" + }, + "ObjectGroupName": { + "type": "string" + } + }, + "required": [ + "ObjectGroup", + "ObjectGroupName" + ], + "type": "object" + }, + "AWS::Neptune::DBCluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BackupRetentionPeriod": { + "type": "number" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBClusterParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EngineVersion": { + "type": "string" + }, + "IamAuthEnabled": { + "type": "boolean" + }, + "KmsKeyId": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "RestoreToTime": { + "type": "string" + }, + "RestoreType": { + "type": "string" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Neptune::DBClusterParameterGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43345,112 +50382,228 @@ "Properties": { "additionalProperties": false, "properties": { - "Destinations": { + "Description": { + "type": "string" + }, + "Family": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::MediaLive::Input.InputDestinationRequest" + "$ref": "#/definitions/Tag" }, "type": "array" + } + }, + "required": [ + "Description", + "Family", + "Parameters" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBClusterParameterGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Neptune::DBInstance": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" }, - "InputSecurityGroups": { + { "items": { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowMajorVersionUpgrade": { + "type": "boolean" }, - "MediaConnectFlows": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Input.MediaConnectFlowRequest" - }, - "type": "array" + "AutoMinorVersionUpgrade": { + "type": "boolean" }, - "Name": { + "AvailabilityZone": { "type": "string" }, - "RoleArn": { + "DBClusterIdentifier": { "type": "string" }, - "Sources": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Input.InputSourceRequest" - }, - "type": "array" + "DBInstanceClass": { + "type": "string" }, - "Tags": { - "type": "object" + "DBInstanceIdentifier": { + "type": "string" }, - "Type": { + "DBParameterGroupName": { "type": "string" }, - "Vpc": { - "$ref": "#/definitions/AWS::MediaLive::Input.InputVpcRequest" + "DBSnapshotIdentifier": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, + "required": [ + "DBInstanceClass" + ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaLive::Input" + "AWS::Neptune::DBInstance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::MediaLive::Input.InputDestinationRequest": { - "additionalProperties": false, - "properties": { - "StreamName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Input.InputSourceRequest": { + "AWS::Neptune::DBParameterGroup": { "additionalProperties": false, "properties": { - "PasswordParam": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Url": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Username": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Input.InputVpcRequest": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" + "Metadata": { + "type": "object" }, - "SubnetIds": { - "items": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Family": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::MediaLive::Input.MediaConnectFlowRequest": { - "additionalProperties": false, - "properties": { - "FlowArn": { + "required": [ + "Description", + "Family", + "Parameters" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBParameterGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaLive::InputSecurityGroup": { + "AWS::Neptune::DBSubnetGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43482,40 +50635,126 @@ "Properties": { "additionalProperties": false, "properties": { - "Tags": { - "type": "object" + "DBSubnetGroupDescription": { + "type": "string" }, - "WhitelistRules": { + "DBSubnetGroupName": { + "type": "string" + }, + "SubnetIds": { "items": { - "$ref": "#/definitions/AWS::MediaLive::InputSecurityGroup.InputWhitelistRuleCidr" + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" }, "type": "array" } }, + "required": [ + "DBSubnetGroupDescription", + "SubnetIds" + ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaLive::InputSecurityGroup" + "AWS::Neptune::DBSubnetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::MediaLive::InputSecurityGroup.InputWhitelistRuleCidr": { + "AWS::NetworkManager::CustomerGatewayAssociation": { "additionalProperties": false, "properties": { - "Cidr": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CustomerGatewayArn": { + "type": "string" + }, + "DeviceId": { + "type": "string" + }, + "GlobalNetworkId": { + "type": "string" + }, + "LinkId": { + "type": "string" + } + }, + "required": [ + "CustomerGatewayArn", + "DeviceId", + "GlobalNetworkId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::CustomerGatewayAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaStore::Container": { + "AWS::NetworkManager::Device": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43547,33 +50786,53 @@ "Properties": { "additionalProperties": false, "properties": { - "AccessLoggingEnabled": { - "type": "boolean" + "Description": { + "type": "string" }, - "ContainerName": { + "GlobalNetworkId": { "type": "string" }, - "CorsPolicy": { + "Location": { + "$ref": "#/definitions/AWS::NetworkManager::Device.Location" + }, + "Model": { + "type": "string" + }, + "SerialNumber": { + "type": "string" + }, + "SiteId": { + "type": "string" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::MediaStore::Container.CorsRule" + "$ref": "#/definitions/Tag" }, "type": "array" }, - "LifecyclePolicy": { + "Type": { "type": "string" }, - "Policy": { + "Vendor": { "type": "string" } }, "required": [ - "ContainerName" + "GlobalNetworkId" ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaStore::Container" + "AWS::NetworkManager::Device" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -43584,40 +50843,22 @@ ], "type": "object" }, - "AWS::MediaStore::Container.CorsRule": { + "AWS::NetworkManager::Device.Location": { "additionalProperties": false, "properties": { - "AllowedHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedMethods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedOrigins": { - "items": { - "type": "string" - }, - "type": "array" + "Address": { + "type": "string" }, - "ExposeHeaders": { - "items": { - "type": "string" - }, - "type": "array" + "Latitude": { + "type": "string" }, - "MaxAgeSeconds": { - "type": "number" + "Longitude": { + "type": "string" } }, "type": "object" }, - "AWS::Neptune::DBCluster": { + "AWS::NetworkManager::GlobalNetwork": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43649,85 +50890,136 @@ "Properties": { "additionalProperties": false, "properties": { - "AvailabilityZones": { + "Description": { + "type": "string" + }, + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" - }, - "BackupRetentionPeriod": { - "type": "number" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBClusterParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::GlobalNetwork" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::NetworkManager::Link": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, - "DeletionProtection": { - "type": "boolean" - }, - "EnableCloudwatchLogsExports": { + { "items": { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Bandwidth": { + "$ref": "#/definitions/AWS::NetworkManager::Link.Bandwidth" }, - "EngineVersion": { - "type": "string" - }, - "IamAuthEnabled": { - "type": "boolean" - }, - "KmsKeyId": { + "Description": { "type": "string" }, - "Port": { - "type": "number" - }, - "PreferredBackupWindow": { + "GlobalNetworkId": { "type": "string" }, - "PreferredMaintenanceWindow": { + "Provider": { "type": "string" }, - "SnapshotIdentifier": { + "SiteId": { "type": "string" }, - "StorageEncrypted": { - "type": "boolean" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" + "Type": { + "type": "string" } }, + "required": [ + "Bandwidth", + "GlobalNetworkId", + "SiteId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Neptune::DBCluster" + "AWS::NetworkManager::Link" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Neptune::DBClusterParameterGroup": { + "AWS::NetworkManager::Link.Bandwidth": { + "additionalProperties": false, + "properties": { + "DownloadSpeed": { + "type": "number" + }, + "UploadSpeed": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::NetworkManager::LinkAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43759,35 +51051,34 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "DeviceId": { "type": "string" }, - "Family": { + "GlobalNetworkId": { "type": "string" }, - "Name": { + "LinkId": { "type": "string" - }, - "Parameters": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, "required": [ - "Description", - "Family", - "Parameters" + "DeviceId", + "GlobalNetworkId", + "LinkId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Neptune::DBClusterParameterGroup" + "AWS::NetworkManager::LinkAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -43798,7 +51089,7 @@ ], "type": "object" }, - "AWS::Neptune::DBInstance": { + "AWS::NetworkManager::Site": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43830,35 +51121,14 @@ "Properties": { "additionalProperties": false, "properties": { - "AllowMajorVersionUpgrade": { - "type": "boolean" - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZone": { - "type": "string" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBInstanceClass": { - "type": "string" - }, - "DBInstanceIdentifier": { - "type": "string" - }, - "DBParameterGroupName": { - "type": "string" - }, - "DBSnapshotIdentifier": { + "Description": { "type": "string" }, - "DBSubnetGroupName": { + "GlobalNetworkId": { "type": "string" }, - "PreferredMaintenanceWindow": { - "type": "string" + "Location": { + "$ref": "#/definitions/AWS::NetworkManager::Site.Location" }, "Tags": { "items": { @@ -43868,13 +51138,21 @@ } }, "required": [ - "DBInstanceClass" + "GlobalNetworkId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Neptune::DBInstance" + "AWS::NetworkManager::Site" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -43885,78 +51163,22 @@ ], "type": "object" }, - "AWS::Neptune::DBParameterGroup": { + "AWS::NetworkManager::Site.Location": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Address": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Family": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Description", - "Family", - "Parameters" - ], - "type": "object" + "Latitude": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::Neptune::DBParameterGroup" - ], + "Longitude": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::Neptune::DBSubnetGroup": { + "AWS::NetworkManager::TransitGatewayRegistration": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43988,34 +51210,30 @@ "Properties": { "additionalProperties": false, "properties": { - "DBSubnetGroupDescription": { + "GlobalNetworkId": { "type": "string" }, - "DBSubnetGroupName": { + "TransitGatewayArn": { "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, "required": [ - "DBSubnetGroupDescription", - "SubnetIds" + "GlobalNetworkId", + "TransitGatewayArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Neptune::DBSubnetGroup" + "AWS::NetworkManager::TransitGatewayRegistration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -44122,6 +51340,14 @@ "AWS::OpsWorks::App" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -44253,6 +51479,14 @@ "AWS::OpsWorks::ElasticLoadBalancerAttachment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -44381,6 +51615,14 @@ "AWS::OpsWorks::Instance" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -44621,6 +51863,14 @@ "AWS::OpsWorks::Layer" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -44890,6 +52140,14 @@ "AWS::OpsWorks::Stack" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -45036,6 +52294,14 @@ "AWS::OpsWorks::UserProfile" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -45100,6 +52366,14 @@ "AWS::OpsWorks::Volume" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -45228,6 +52502,14 @@ "AWS::OpsWorksCM::Server" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -45305,6 +52587,14 @@ "AWS::Pinpoint::ADMChannel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -45383,6 +52673,14 @@ "AWS::Pinpoint::APNSChannel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -45461,6 +52759,14 @@ "AWS::Pinpoint::APNSSandboxChannel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -45539,6 +52845,14 @@ "AWS::Pinpoint::APNSVoipChannel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -45617,6 +52931,14 @@ "AWS::Pinpoint::APNSVoipSandboxChannel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -45674,6 +52996,14 @@ "AWS::Pinpoint::App" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -45740,6 +53070,14 @@ "AWS::Pinpoint::ApplicationSettings" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -45854,6 +53192,14 @@ "AWS::Pinpoint::BaiduChannel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -45957,6 +53303,14 @@ "AWS::Pinpoint::Campaign" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -46296,6 +53650,14 @@ "AWS::Pinpoint::EmailChannel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -46369,6 +53731,14 @@ "AWS::Pinpoint::EmailTemplate" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -46431,6 +53801,14 @@ "AWS::Pinpoint::EventStream" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -46471,243 +53849,267 @@ "Properties": { "additionalProperties": false, "properties": { - "ApiKey": { - "type": "string" - }, + "ApiKey": { + "type": "string" + }, + "ApplicationId": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "ApiKey", + "ApplicationId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::GCMChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::PushTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ADM": { + "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate" + }, + "APNS": { + "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.APNSPushNotificationTemplate" + }, + "Baidu": { + "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate" + }, + "Default": { + "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.DefaultPushNotificationTemplate" + }, + "DefaultSubstitutions": { + "type": "string" + }, + "GCM": { + "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate" + }, + "Tags": { + "type": "object" + }, + "TemplateDescription": { + "type": "string" + }, + "TemplateName": { + "type": "string" + } + }, + "required": [ + "TemplateName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::PushTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::PushTemplate.APNSPushNotificationTemplate": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Body": { + "type": "string" + }, + "MediaUrl": { + "type": "string" + }, + "Sound": { + "type": "string" + }, + "Title": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Body": { + "type": "string" + }, + "ImageIconUrl": { + "type": "string" + }, + "ImageUrl": { + "type": "string" + }, + "SmallImageIconUrl": { + "type": "string" + }, + "Sound": { + "type": "string" + }, + "Title": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::PushTemplate.DefaultPushNotificationTemplate": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Body": { + "type": "string" + }, + "Sound": { + "type": "string" + }, + "Title": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::SMSChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { "ApplicationId": { "type": "string" }, "Enabled": { "type": "boolean" - } - }, - "required": [ - "ApiKey", - "ApplicationId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::GCMChannel" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::PushTemplate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ADM": { - "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate" - }, - "APNS": { - "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.APNSPushNotificationTemplate" - }, - "Baidu": { - "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate" - }, - "Default": { - "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.DefaultPushNotificationTemplate" }, - "DefaultSubstitutions": { - "type": "string" - }, - "GCM": { - "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate" - }, - "Tags": { - "type": "object" - }, - "TemplateDescription": { + "SenderId": { "type": "string" }, - "TemplateName": { + "ShortCode": { "type": "string" } }, "required": [ - "TemplateName" + "ApplicationId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::PushTemplate" + "AWS::Pinpoint::SMSChannel" ], "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::PushTemplate.APNSPushNotificationTemplate": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "Body": { - "type": "string" - }, - "MediaUrl": { - "type": "string" - }, - "Sound": { - "type": "string" - }, - "Title": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "Body": { - "type": "string" - }, - "ImageIconUrl": { - "type": "string" - }, - "ImageUrl": { - "type": "string" - }, - "SmallImageIconUrl": { - "type": "string" }, - "Sound": { - "type": "string" - }, - "Title": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::PushTemplate.DefaultPushNotificationTemplate": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "Body": { - "type": "string" - }, - "Sound": { - "type": "string" - }, - "Title": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::SMSChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { + "UpdateReplacePolicy": { "enum": [ "Delete", "Retain", "Snapshot" ], "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "SenderId": { - "type": "string" - }, - "ShortCode": { - "type": "string" - } - }, - "required": [ - "ApplicationId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::SMSChannel" - ], - "type": "string" } }, "required": [ @@ -46775,6 +54177,14 @@ "AWS::Pinpoint::Segment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -47043,6 +54453,14 @@ "AWS::Pinpoint::SmsTemplate" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -47100,6 +54518,14 @@ "AWS::Pinpoint::VoiceChannel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -47172,6 +54598,14 @@ "AWS::PinpointEmail::ConfigurationSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -47281,6 +54715,14 @@ "AWS::PinpointEmail::ConfigurationSetEventDestination" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -47437,6 +54879,14 @@ "AWS::PinpointEmail::DedicatedIpPool" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -47517,6 +54967,14 @@ "AWS::PinpointEmail::Identity" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -47607,6 +55065,14 @@ "AWS::QLDB::Ledger" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -47682,6 +55148,14 @@ "AWS::RAM::ResourceShare" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -47841,6 +55315,14 @@ "AWS::RDS::DBCluster" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -47942,6 +55424,14 @@ "AWS::RDS::DBClusterParameterGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -48167,6 +55657,14 @@ "AWS::RDS::DBInstance" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -48268,6 +55766,229 @@ "AWS::RDS::DBParameterGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBProxy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Auth": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBProxy.AuthFormat" + }, + "type": "array" + }, + "DBProxyName": { + "type": "string" + }, + "DebugLogging": { + "type": "boolean" + }, + "EngineFamily": { + "type": "string" + }, + "IdleClientTimeout": { + "type": "number" + }, + "RequireTLS": { + "type": "boolean" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBProxy.TagFormat" + }, + "type": "array" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcSubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Auth", + "DBProxyName", + "EngineFamily", + "RoleArn", + "VpcSubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBProxy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBProxy.AuthFormat": { + "additionalProperties": false, + "properties": { + "AuthScheme": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "IAMAuth": { + "type": "string" + }, + "SecretArn": { + "type": "string" + }, + "UserName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RDS::DBProxy.TagFormat": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RDS::DBProxyTargetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConnectionPoolConfigurationInfo": { + "$ref": "#/definitions/AWS::RDS::DBProxyTargetGroup.ConnectionPoolConfigurationInfoFormat" + }, + "DBClusterIdentifiers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DBInstanceIdentifiers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DBProxyName": { + "type": "string" + } + }, + "required": [ + "DBProxyName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBProxyTargetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -48276,6 +55997,30 @@ ], "type": "object" }, + "AWS::RDS::DBProxyTargetGroup.ConnectionPoolConfigurationInfoFormat": { + "additionalProperties": false, + "properties": { + "ConnectionBorrowTimeout": { + "type": "number" + }, + "InitQuery": { + "type": "string" + }, + "MaxConnectionsPercent": { + "type": "number" + }, + "MaxIdleConnectionsPercent": { + "type": "number" + }, + "SessionPinningFilters": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::RDS::DBSecurityGroup": { "additionalProperties": false, "properties": { @@ -48338,6 +56083,14 @@ "AWS::RDS::DBSecurityGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -48422,6 +56175,14 @@ "AWS::RDS::DBSecurityGroupIngress" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -48492,6 +56253,14 @@ "AWS::RDS::DBSubnetGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -48564,6 +56333,14 @@ "AWS::RDS::EventSubscription" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -48639,6 +56416,14 @@ "AWS::RDS::OptionGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -48841,6 +56626,14 @@ "AWS::Redshift::Cluster" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -48926,6 +56719,14 @@ "AWS::Redshift::ClusterParameterGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -49002,6 +56803,14 @@ "AWS::Redshift::ClusterSecurityGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -49065,6 +56874,14 @@ "AWS::Redshift::ClusterSecurityGroupIngress" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -49132,6 +56949,14 @@ "AWS::Redshift::ClusterSubnetGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -49140,6 +56965,128 @@ ], "type": "object" }, + "AWS::ResourceGroups::Group": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ResourceQuery": { + "$ref": "#/definitions/AWS::ResourceGroups::Group.ResourceQuery" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ResourceGroups::Group" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ResourceGroups::Group.Query": { + "additionalProperties": false, + "properties": { + "ResourceTypeFilters": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StackIdentifier": { + "type": "string" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::ResourceGroups::Group.TagFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ResourceGroups::Group.ResourceQuery": { + "additionalProperties": false, + "properties": { + "Query": { + "$ref": "#/definitions/AWS::ResourceGroups::Group.Query" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ResourceGroups::Group.TagFilter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::RoboMaker::Fleet": { "additionalProperties": false, "properties": { @@ -49186,6 +57133,14 @@ "AWS::RoboMaker::Fleet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -49252,6 +57207,14 @@ "AWS::RoboMaker::Robot" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -49322,6 +57285,14 @@ "AWS::RoboMaker::RobotApplication" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -49415,6 +57386,14 @@ "AWS::RoboMaker::RobotApplicationVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -49493,6 +57472,14 @@ "AWS::RoboMaker::SimulationApplication" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -49618,6 +57605,14 @@ "AWS::RoboMaker::SimulationApplicationVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -49678,6 +57673,14 @@ "AWS::Route53::HealthCheck" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -49845,6 +57848,14 @@ "AWS::Route53::HostedZone" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -49998,6 +58009,14 @@ "AWS::Route53::RecordSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -50095,6 +58114,14 @@ "AWS::Route53::RecordSetGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -50263,6 +58290,14 @@ "AWS::Route53Resolver::ResolverEndpoint" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -50354,6 +58389,14 @@ "AWS::Route53Resolver::ResolverRule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -50430,6 +58473,14 @@ "AWS::Route53Resolver::ResolverRuleAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -50505,6 +58556,14 @@ "AWS::S3::AccessPoint" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -50646,6 +58705,14 @@ "AWS::S3::Bucket" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -50815,6 +58882,15 @@ }, "type": "object" }, + "AWS::S3::Bucket.DeleteMarkerReplication": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "type": "object" + }, "AWS::S3::Bucket.Destination": { "additionalProperties": false, "properties": { @@ -50948,6 +59024,22 @@ }, "type": "object" }, + "AWS::S3::Bucket.Metrics": { + "additionalProperties": false, + "properties": { + "EventThreshold": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTimeValue" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "EventThreshold", + "Status" + ], + "type": "object" + }, "AWS::S3::Bucket.MetricsConfiguration": { "additionalProperties": false, "properties": { @@ -51149,6 +59241,12 @@ "EncryptionConfiguration": { "$ref": "#/definitions/AWS::S3::Bucket.EncryptionConfiguration" }, + "Metrics": { + "$ref": "#/definitions/AWS::S3::Bucket.Metrics" + }, + "ReplicationTime": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTime" + }, "StorageClass": { "type": "string" } @@ -51161,15 +59259,24 @@ "AWS::S3::Bucket.ReplicationRule": { "additionalProperties": false, "properties": { + "DeleteMarkerReplication": { + "$ref": "#/definitions/AWS::S3::Bucket.DeleteMarkerReplication" + }, "Destination": { "$ref": "#/definitions/AWS::S3::Bucket.ReplicationDestination" }, + "Filter": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRuleFilter" + }, "Id": { "type": "string" }, "Prefix": { "type": "string" }, + "Priority": { + "type": "number" + }, "SourceSelectionCriteria": { "$ref": "#/definitions/AWS::S3::Bucket.SourceSelectionCriteria" }, @@ -51179,11 +59286,68 @@ }, "required": [ "Destination", - "Prefix", "Status" ], "type": "object" }, + "AWS::S3::Bucket.ReplicationRuleAndOperator": { + "additionalProperties": false, + "properties": { + "Prefix": { + "type": "string" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.ReplicationRuleFilter": { + "additionalProperties": false, + "properties": { + "And": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRuleAndOperator" + }, + "Prefix": { + "type": "string" + }, + "TagFilter": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.ReplicationTime": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + }, + "Time": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTimeValue" + } + }, + "required": [ + "Status", + "Time" + ], + "type": "object" + }, + "AWS::S3::Bucket.ReplicationTimeValue": { + "additionalProperties": false, + "properties": { + "Minutes": { + "type": "number" + } + }, + "required": [ + "Minutes" + ], + "type": "object" + }, "AWS::S3::Bucket.RoutingRule": { "additionalProperties": false, "properties": { @@ -51473,6 +59637,14 @@ "AWS::S3::BucketPolicy" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -51524,6 +59696,14 @@ "AWS::SDB::Domain" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -51574,6 +59754,14 @@ "AWS::SES::ConfigurationSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -51631,6 +59819,14 @@ "AWS::SES::ConfigurationSetEventDestination" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -51760,6 +59956,14 @@ "AWS::SES::ReceiptFilter" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -51852,6 +60056,14 @@ "AWS::SES::ReceiptRule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -52083,6 +60295,14 @@ "AWS::SES::ReceiptRuleSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -52133,6 +60353,14 @@ "AWS::SES::Template" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -52226,6 +60454,14 @@ "AWS::SNS::Subscription" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -52266,9 +60502,15 @@ "Properties": { "additionalProperties": false, "properties": { + "ContentBasedDeduplication": { + "type": "boolean" + }, "DisplayName": { "type": "string" }, + "FifoTopic": { + "type": "boolean" + }, "KmsMasterKeyId": { "type": "string" }, @@ -52295,6 +60537,14 @@ "AWS::SNS::Topic" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -52371,6 +60621,14 @@ "AWS::SNS::TopicPolicy" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -52458,6 +60716,14 @@ "AWS::SQS::Queue" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -52518,6 +60784,14 @@ "AWS::SQS::QueuePolicy" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -52561,12 +60835,24 @@ "AssociationName": { "type": "string" }, + "AutomationTargetParameterName": { + "type": "string" + }, + "ComplianceSeverity": { + "type": "string" + }, "DocumentVersion": { "type": "string" }, "InstanceId": { "type": "string" }, + "MaxConcurrency": { + "type": "string" + }, + "MaxErrors": { + "type": "string" + }, "Name": { "type": "string" }, @@ -52574,10 +60860,10 @@ "$ref": "#/definitions/AWS::SSM::Association.InstanceAssociationOutputLocation" }, "Parameters": { - "additionalProperties": false, + "additionalProperties": true, "patternProperties": { "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::SSM::Association.ParameterValues" + "type": "object" } }, "type": "object" @@ -52585,11 +60871,17 @@ "ScheduleExpression": { "type": "string" }, + "SyncCompliance": { + "type": "string" + }, "Targets": { "items": { "$ref": "#/definitions/AWS::SSM::Association.Target" }, "type": "array" + }, + "WaitForSuccessTimeoutSeconds": { + "type": "number" } }, "required": [ @@ -52602,6 +60894,14 @@ "AWS::SSM::Association" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -52619,21 +60919,6 @@ }, "type": "object" }, - "AWS::SSM::Association.ParameterValues": { - "additionalProperties": false, - "properties": { - "ParameterValues": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ParameterValues" - ], - "type": "object" - }, "AWS::SSM::Association.S3OutputLocation": { "additionalProperties": false, "properties": { @@ -52642,6 +60927,9 @@ }, "OutputS3KeyPrefix": { "type": "string" + }, + "OutputS3Region": { + "type": "string" } }, "type": "object" @@ -52723,6 +61011,14 @@ "AWS::SSM::Document" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -52811,6 +61107,14 @@ "AWS::SSM::MaintenanceWindow" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -52885,6 +61189,14 @@ "AWS::SSM::MaintenanceWindowTarget" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -53002,6 +61314,14 @@ "AWS::SSM::MaintenanceWindowTask" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -53193,6 +61513,9 @@ "AllowedPattern": { "type": "string" }, + "DataType": { + "type": "string" + }, "Description": { "type": "string" }, @@ -53226,6 +61549,14 @@ "AWS::SSM::Parameter" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -53331,6 +61662,14 @@ "AWS::SSM::PatchBaseline" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -53384,12 +61723,20 @@ }, "type": "object" }, + "AWS::SSM::PatchBaseline.PatchStringDate": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::SSM::PatchBaseline.Rule": { "additionalProperties": false, "properties": { "ApproveAfterDays": { "type": "number" }, + "ApproveUntilDate": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchStringDate" + }, "ComplianceLevel": { "type": "string" }, @@ -53484,6 +61831,14 @@ "AWS::SSM::ResourceDataSync" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -53610,6 +61965,14 @@ "AWS::SageMaker::CodeRepository" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -53700,6 +62063,14 @@ "AWS::SageMaker::Endpoint" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -53778,6 +62149,14 @@ "AWS::SageMaker::EndpointConfig" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -53884,6 +62263,14 @@ "AWS::SageMaker::Model" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -54036,6 +62423,14 @@ "AWS::SageMaker::NotebookInstance" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -54099,6 +62494,14 @@ "AWS::SageMaker::NotebookInstanceLifecycleConfig" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -54176,6 +62579,14 @@ "AWS::SageMaker::Workteam" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -54277,6 +62688,14 @@ "AWS::SecretsManager::ResourcePolicy" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -54337,6 +62756,14 @@ "AWS::SecretsManager::RotationSchedule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -54386,183 +62813,207 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "GenerateSecretString": { - "$ref": "#/definitions/AWS::SecretsManager::Secret.GenerateSecretString" - }, - "KmsKeyId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "SecretString": { - "type": "string" - }, + "Description": { + "type": "string" + }, + "GenerateSecretString": { + "$ref": "#/definitions/AWS::SecretsManager::Secret.GenerateSecretString" + }, + "KmsKeyId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SecretString": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecretsManager::Secret" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SecretsManager::Secret.GenerateSecretString": { + "additionalProperties": false, + "properties": { + "ExcludeCharacters": { + "type": "string" + }, + "ExcludeLowercase": { + "type": "boolean" + }, + "ExcludeNumbers": { + "type": "boolean" + }, + "ExcludePunctuation": { + "type": "boolean" + }, + "ExcludeUppercase": { + "type": "boolean" + }, + "GenerateStringKey": { + "type": "string" + }, + "IncludeSpace": { + "type": "boolean" + }, + "PasswordLength": { + "type": "number" + }, + "RequireEachIncludedType": { + "type": "boolean" + }, + "SecretStringTemplate": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SecretsManager::SecretTargetAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "SecretId": { + "type": "string" + }, + "TargetId": { + "type": "string" + }, + "TargetType": { + "type": "string" + } + }, + "required": [ + "SecretId", + "TargetId", + "TargetType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecretsManager::SecretTargetAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SecurityHub::Hub": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "type": "object" } }, "type": "object" }, "Type": { "enum": [ - "AWS::SecretsManager::Secret" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SecretsManager::Secret.GenerateSecretString": { - "additionalProperties": false, - "properties": { - "ExcludeCharacters": { - "type": "string" - }, - "ExcludeLowercase": { - "type": "boolean" - }, - "ExcludeNumbers": { - "type": "boolean" - }, - "ExcludePunctuation": { - "type": "boolean" - }, - "ExcludeUppercase": { - "type": "boolean" - }, - "GenerateStringKey": { - "type": "string" - }, - "IncludeSpace": { - "type": "boolean" - }, - "PasswordLength": { - "type": "number" - }, - "RequireEachIncludedType": { - "type": "boolean" - }, - "SecretStringTemplate": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SecretsManager::SecretTargetAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" + "AWS::SecurityHub::Hub" ], "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "SecretId": { - "type": "string" - }, - "TargetId": { - "type": "string" - }, - "TargetType": { - "type": "string" - } - }, - "required": [ - "SecretId", - "TargetId", - "TargetType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecretsManager::SecretTargetAttachment" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SecurityHub::Hub": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { + "UpdateReplacePolicy": { "enum": [ "Delete", "Retain", "Snapshot" ], "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Tags": { - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecurityHub::Hub" - ], - "type": "string" } }, "required": [ @@ -54619,6 +63070,14 @@ "AWS::ServiceCatalog::AcceptedPortfolioShare" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -54680,6 +63139,9 @@ }, "type": "array" }, + "ReplaceProvisioningArtifacts": { + "type": "boolean" + }, "SupportDescription": { "type": "string" }, @@ -54708,6 +63170,14 @@ "AWS::ServiceCatalog::CloudFormationProduct" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -54819,6 +63289,14 @@ "AWS::ServiceCatalog::CloudFormationProvisionedProduct" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -54934,6 +63412,14 @@ "AWS::ServiceCatalog::LaunchNotificationConstraint" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -54980,6 +63466,9 @@ "Description": { "type": "string" }, + "LocalRoleName": { + "type": "string" + }, "PortfolioId": { "type": "string" }, @@ -54992,8 +63481,7 @@ }, "required": [ "PortfolioId", - "ProductId", - "RoleArn" + "ProductId" ], "type": "object" }, @@ -55002,6 +63490,14 @@ "AWS::ServiceCatalog::LaunchRoleConstraint" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -55070,6 +63566,14 @@ "AWS::ServiceCatalog::LaunchTemplateConstraint" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -55140,6 +63644,14 @@ "AWS::ServiceCatalog::Portfolio" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -55205,6 +63717,14 @@ "AWS::ServiceCatalog::PortfolioPrincipalAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -55269,6 +63789,14 @@ "AWS::ServiceCatalog::PortfolioProductAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -55330,6 +63858,14 @@ "AWS::ServiceCatalog::PortfolioShare" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -55398,6 +63934,14 @@ "AWS::ServiceCatalog::ResourceUpdateConstraint" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -55489,6 +64033,14 @@ "AWS::ServiceCatalog::StackSetConstraint" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -55550,6 +64102,14 @@ "AWS::ServiceCatalog::TagOption" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -55608,6 +64168,14 @@ "AWS::ServiceCatalog::TagOptionAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -55653,6 +64221,12 @@ }, "Name": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -55665,6 +64239,14 @@ "AWS::ServiceDiscovery::HttpNamespace" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -55726,6 +64308,14 @@ "AWS::ServiceDiscovery::Instance" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -55772,6 +64362,12 @@ "Name": { "type": "string" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "Vpc": { "type": "string" } @@ -55787,6 +64383,14 @@ "AWS::ServiceDiscovery::PrivateDnsNamespace" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -55832,6 +64436,12 @@ }, "Name": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -55844,6 +64454,14 @@ "AWS::ServiceDiscovery::PublicDnsNamespace" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -55901,6 +64519,12 @@ }, "NamespaceId": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "type": "object" @@ -55910,6 +64534,14 @@ "AWS::ServiceDiscovery::Service" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -56033,6 +64665,14 @@ "AWS::StepFunctions::Activity" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -56089,9 +64729,15 @@ "Properties": { "additionalProperties": false, "properties": { + "DefinitionS3Location": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachine.S3Location" + }, "DefinitionString": { "type": "string" }, + "DefinitionSubstitutions": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachine.DefinitionSubstitutions" + }, "LoggingConfiguration": { "$ref": "#/definitions/AWS::StepFunctions::StateMachine.LoggingConfiguration" }, @@ -56112,7 +64758,6 @@ } }, "required": [ - "DefinitionString", "RoleArn" ], "type": "object" @@ -56122,6 +64767,14 @@ "AWS::StepFunctions::StateMachine" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -56142,6 +64795,11 @@ ], "type": "object" }, + "AWS::StepFunctions::StateMachine.DefinitionSubstitutions": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::StepFunctions::StateMachine.LogDestination": { "additionalProperties": false, "properties": { @@ -56169,6 +64827,25 @@ }, "type": "object" }, + "AWS::StepFunctions::StateMachine.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, "AWS::StepFunctions::StateMachine.TagsEntry": { "additionalProperties": false, "properties": { @@ -56185,6 +64862,185 @@ ], "type": "object" }, + "AWS::Synthetics::Canary": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ArtifactS3Location": { + "type": "string" + }, + "Code": { + "$ref": "#/definitions/AWS::Synthetics::Canary.Code" + }, + "ExecutionRoleArn": { + "type": "string" + }, + "FailureRetentionPeriod": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "RunConfig": { + "$ref": "#/definitions/AWS::Synthetics::Canary.RunConfig" + }, + "RuntimeVersion": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::Synthetics::Canary.Schedule" + }, + "StartCanaryAfterCreation": { + "type": "boolean" + }, + "SuccessRetentionPeriod": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VPCConfig": { + "$ref": "#/definitions/AWS::Synthetics::Canary.VPCConfig" + } + }, + "required": [ + "ArtifactS3Location", + "Code", + "ExecutionRoleArn", + "Name", + "RunConfig", + "RuntimeVersion", + "Schedule", + "StartCanaryAfterCreation" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Synthetics::Canary" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Synthetics::Canary.Code": { + "additionalProperties": false, + "properties": { + "Handler": { + "type": "string" + }, + "S3Bucket": { + "type": "string" + }, + "S3Key": { + "type": "string" + }, + "S3ObjectVersion": { + "type": "string" + }, + "Script": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Synthetics::Canary.RunConfig": { + "additionalProperties": false, + "properties": { + "TimeoutInSeconds": { + "type": "number" + } + }, + "required": [ + "TimeoutInSeconds" + ], + "type": "object" + }, + "AWS::Synthetics::Canary.Schedule": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "string" + }, + "Expression": { + "type": "string" + } + }, + "required": [ + "DurationInSeconds", + "Expression" + ], + "type": "object" + }, + "AWS::Synthetics::Canary.VPCConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "SecurityGroupIds", + "SubnetIds" + ], + "type": "object" + }, "AWS::Transfer::Server": { "additionalProperties": false, "properties": { @@ -56217,6 +65073,9 @@ "Properties": { "additionalProperties": false, "properties": { + "Certificate": { + "type": "string" + }, "EndpointDetails": { "$ref": "#/definitions/AWS::Transfer::Server.EndpointDetails" }, @@ -56232,6 +65091,12 @@ "LoggingRole": { "type": "string" }, + "Protocols": { + "items": { + "$ref": "#/definitions/AWS::Transfer::Server.Protocol" + }, + "type": "array" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -56246,6 +65111,14 @@ "AWS::Transfer::Server" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -56293,6 +65166,11 @@ ], "type": "object" }, + "AWS::Transfer::Server.Protocol": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::Transfer::User": { "additionalProperties": false, "properties": { @@ -56374,6 +65252,14 @@ "AWS::Transfer::User" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -56455,6 +65341,14 @@ "AWS::WAF::ByteMatchSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -56556,6 +65450,14 @@ "AWS::WAF::IPSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -56636,6 +65538,14 @@ "AWS::WAF::Rule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -56717,6 +65627,14 @@ "AWS::WAF::SizeConstraintSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -56816,6 +65734,14 @@ "AWS::WAF::SqlInjectionMatchSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -56915,6 +65841,14 @@ "AWS::WAF::WebACL" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -57007,6 +65941,14 @@ "AWS::WAF::XssMatchSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -57098,6 +66040,14 @@ "AWS::WAFRegional::ByteMatchSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -57199,6 +66149,14 @@ "AWS::WAFRegional::GeoMatchSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -57275,6 +66233,14 @@ "AWS::WAFRegional::IPSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -57363,6 +66329,14 @@ "AWS::WAFRegional::RateBasedRule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -57444,6 +66418,14 @@ "AWS::WAFRegional::RegexPatternSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -57508,6 +66490,14 @@ "AWS::WAFRegional::Rule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -57588,6 +66578,14 @@ "AWS::WAFRegional::SizeConstraintSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -57687,6 +66685,14 @@ "AWS::WAFRegional::SqlInjectionMatchSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -57786,6 +66792,14 @@ "AWS::WAFRegional::WebACL" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -57876,6 +66890,14 @@ "AWS::WAFRegional::WebACLAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -57936,6 +66958,14 @@ "AWS::WAFRegional::XssMatchSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -58044,6 +67074,14 @@ "AWS::WAFv2::IPSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -58117,6 +67155,14 @@ "AWS::WAFv2::RegexPatternSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -58197,6 +67243,14 @@ "AWS::WAFv2::RuleGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -58260,7 +67314,6 @@ "required": [ "FieldToMatch", "PositionalConstraint", - "SearchString", "TextTransformations" ], "type": "object" @@ -58751,6 +67804,14 @@ "AWS::WAFv2::WebACL" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -58814,7 +67875,6 @@ "required": [ "FieldToMatch", "PositionalConstraint", - "SearchString", "TextTransformations" ], "type": "object" @@ -59380,6 +68440,14 @@ "AWS::WAFv2::WebACLAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -59460,6 +68528,14 @@ "AWS::WorkSpaces::Workspace" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -59543,6 +68619,14 @@ "Alexa::ASK::Skill" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -59909,6 +68993,9 @@ { "$ref": "#/definitions/AWS::AppConfig::Environment" }, + { + "$ref": "#/definitions/AWS::AppConfig::HostedConfigurationVersion" + }, { "$ref": "#/definitions/AWS::AppMesh::Mesh" }, @@ -59975,6 +69062,9 @@ { "$ref": "#/definitions/AWS::Athena::NamedQuery" }, + { + "$ref": "#/definitions/AWS::Athena::WorkGroup" + }, { "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup" }, @@ -60014,9 +69104,21 @@ { "$ref": "#/definitions/AWS::Budgets::Budget" }, + { + "$ref": "#/definitions/AWS::CE::CostCategory" + }, + { + "$ref": "#/definitions/AWS::Cassandra::Keyspace" + }, + { + "$ref": "#/definitions/AWS::Cassandra::Table" + }, { "$ref": "#/definitions/AWS::CertificateManager::Certificate" }, + { + "$ref": "#/definitions/AWS::Chatbot::SlackChannelConfiguration" + }, { "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2" }, @@ -60053,6 +69155,9 @@ { "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector" }, + { + "$ref": "#/definitions/AWS::CloudWatch::CompositeAlarm" + }, { "$ref": "#/definitions/AWS::CloudWatch::Dashboard" }, @@ -60080,6 +69185,9 @@ { "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup" }, + { + "$ref": "#/definitions/AWS::CodeGuruProfiler::ProfilingGroup" + }, { "$ref": "#/definitions/AWS::CodePipeline::CustomActionType" }, @@ -60092,6 +69200,9 @@ { "$ref": "#/definitions/AWS::CodeStar::GitHubRepository" }, + { + "$ref": "#/definitions/AWS::CodeStarConnections::Connection" + }, { "$ref": "#/definitions/AWS::CodeStarNotifications::NotificationRule" }, @@ -60191,6 +69302,12 @@ { "$ref": "#/definitions/AWS::DataPipeline::Pipeline" }, + { + "$ref": "#/definitions/AWS::Detective::Graph" + }, + { + "$ref": "#/definitions/AWS::Detective::MemberInvitation" + }, { "$ref": "#/definitions/AWS::DirectoryService::MicrosoftAD" }, @@ -60398,6 +69515,9 @@ { "$ref": "#/definitions/AWS::ECR::Repository" }, + { + "$ref": "#/definitions/AWS::ECS::CapacityProvider" + }, { "$ref": "#/definitions/AWS::ECS::Cluster" }, @@ -60413,6 +69533,9 @@ { "$ref": "#/definitions/AWS::ECS::TaskSet" }, + { + "$ref": "#/definitions/AWS::EFS::AccessPoint" + }, { "$ref": "#/definitions/AWS::EFS::FileSystem" }, @@ -60497,6 +69620,9 @@ { "$ref": "#/definitions/AWS::EventSchemas::Registry" }, + { + "$ref": "#/definitions/AWS::EventSchemas::RegistryPolicy" + }, { "$ref": "#/definitions/AWS::EventSchemas::Schema" }, @@ -60539,6 +69665,15 @@ { "$ref": "#/definitions/AWS::GameLift::Script" }, + { + "$ref": "#/definitions/AWS::GlobalAccelerator::Accelerator" + }, + { + "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup" + }, + { + "$ref": "#/definitions/AWS::GlobalAccelerator::Listener" + }, { "$ref": "#/definitions/AWS::Glue::Classifier" }, @@ -60671,6 +69806,24 @@ { "$ref": "#/definitions/AWS::IAM::UserToGroupAddition" }, + { + "$ref": "#/definitions/AWS::ImageBuilder::Component" + }, + { + "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration" + }, + { + "$ref": "#/definitions/AWS::ImageBuilder::Image" + }, + { + "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline" + }, + { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe" + }, + { + "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration" + }, { "$ref": "#/definitions/AWS::Inspector::AssessmentTarget" }, @@ -60698,6 +69851,9 @@ { "$ref": "#/definitions/AWS::IoT::PolicyPrincipalAttachment" }, + { + "$ref": "#/definitions/AWS::IoT::ProvisioningTemplate" + }, { "$ref": "#/definitions/AWS::IoT::Thing" }, @@ -60815,6 +69971,15 @@ { "$ref": "#/definitions/AWS::MSK::Cluster" }, + { + "$ref": "#/definitions/AWS::Macie::CustomDataIdentifier" + }, + { + "$ref": "#/definitions/AWS::Macie::FindingsFilter" + }, + { + "$ref": "#/definitions/AWS::Macie::Session" + }, { "$ref": "#/definitions/AWS::ManagedBlockchain::Member" }, @@ -60857,6 +70022,27 @@ { "$ref": "#/definitions/AWS::Neptune::DBSubnetGroup" }, + { + "$ref": "#/definitions/AWS::NetworkManager::CustomerGatewayAssociation" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::Device" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::GlobalNetwork" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::Link" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::LinkAssociation" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::Site" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::TransitGatewayRegistration" + }, { "$ref": "#/definitions/AWS::OpsWorks::App" }, @@ -60965,6 +70151,12 @@ { "$ref": "#/definitions/AWS::RDS::DBParameterGroup" }, + { + "$ref": "#/definitions/AWS::RDS::DBProxy" + }, + { + "$ref": "#/definitions/AWS::RDS::DBProxyTargetGroup" + }, { "$ref": "#/definitions/AWS::RDS::DBSecurityGroup" }, @@ -60995,6 +70187,9 @@ { "$ref": "#/definitions/AWS::Redshift::ClusterSubnetGroup" }, + { + "$ref": "#/definitions/AWS::ResourceGroups::Group" + }, { "$ref": "#/definitions/AWS::RoboMaker::Fleet" }, @@ -61202,6 +70397,9 @@ { "$ref": "#/definitions/AWS::StepFunctions::StateMachine" }, + { + "$ref": "#/definitions/AWS::Synthetics::Canary" + }, { "$ref": "#/definitions/AWS::Transfer::Server" }, diff --git a/schema/sam.go b/schema/sam.go index 54e390375e..6c9e7ca838 100644 --- a/schema/sam.go +++ b/schema/sam.go @@ -66,6 +66,14 @@ var SamSchema = `{ "AWS::ACMPCA::Certificate" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -157,6 +165,14 @@ var SamSchema = `{ "AWS::ACMPCA::CertificateAuthority" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -296,6 +312,14 @@ var SamSchema = `{ "AWS::ACMPCA::CertificateAuthorityActivation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -365,6 +389,14 @@ var SamSchema = `{ "AWS::AccessAnalyzer::Analyzer" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -535,6 +567,14 @@ var SamSchema = `{ "AWS::AmazonMQ::Broker" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -714,6 +754,14 @@ var SamSchema = `{ "AWS::AmazonMQ::Configuration" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -788,6 +836,14 @@ var SamSchema = `{ "AWS::AmazonMQ::ConfigurationAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -900,6 +956,14 @@ var SamSchema = `{ "AWS::Amplify::App" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -1083,6 +1147,14 @@ var SamSchema = `{ "AWS::Amplify::Branch" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -1183,6 +1255,14 @@ var SamSchema = `{ "AWS::Amplify::Domain" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -1250,6 +1330,14 @@ var SamSchema = `{ "AWS::ApiGateway::Account" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -1327,6 +1415,14 @@ var SamSchema = `{ "AWS::ApiGateway::ApiKey" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -1423,6 +1519,14 @@ var SamSchema = `{ "AWS::ApiGateway::Authorizer" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -1486,6 +1590,14 @@ var SamSchema = `{ "AWS::ApiGateway::BasePathMapping" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -1543,6 +1655,14 @@ var SamSchema = `{ "AWS::ApiGateway::ClientCertificate" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -1608,6 +1728,14 @@ var SamSchema = `{ "AWS::ApiGateway::Deployment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -1835,6 +1963,14 @@ var SamSchema = `{ "AWS::ApiGateway::DocumentationPart" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -1917,6 +2053,14 @@ var SamSchema = `{ "AWS::ApiGateway::DocumentationVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -1989,6 +2133,14 @@ var SamSchema = `{ "AWS::ApiGateway::DomainName" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -2080,6 +2232,14 @@ var SamSchema = `{ "AWS::ApiGateway::GatewayResponse" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -2190,6 +2350,14 @@ var SamSchema = `{ "AWS::ApiGateway::Method" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -2388,6 +2556,14 @@ var SamSchema = `{ "AWS::ApiGateway::Model" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -2451,6 +2627,14 @@ var SamSchema = `{ "AWS::ApiGateway::RequestValidator" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -2513,6 +2697,14 @@ var SamSchema = `{ "AWS::ApiGateway::Resource" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -2612,6 +2804,14 @@ var SamSchema = `{ "AWS::ApiGateway::RestApi" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -2752,6 +2952,14 @@ var SamSchema = `{ "AWS::ApiGateway::Stage" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -2896,6 +3104,14 @@ var SamSchema = `{ "AWS::ApiGateway::UsagePlan" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -3005,6 +3221,14 @@ var SamSchema = `{ "AWS::ApiGateway::UsagePlanKey" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -3069,6 +3293,14 @@ var SamSchema = `{ "AWS::ApiGateway::VpcLink" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -3165,6 +3397,14 @@ var SamSchema = `{ "AWS::ApiGatewayV2::Api" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -3283,6 +3523,14 @@ var SamSchema = `{ "AWS::ApiGatewayV2::ApiMapping" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -3367,6 +3615,14 @@ var SamSchema = `{ "AWS::ApiGatewayV2::Authorizer" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -3442,6 +3698,14 @@ var SamSchema = `{ "AWS::ApiGatewayV2::Deployment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -3505,6 +3769,14 @@ var SamSchema = `{ "AWS::ApiGatewayV2::DomainName" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -3563,6 +3835,9 @@ var SamSchema = `{ "ApiId": { "type": "string" }, + "ConnectionId": { + "type": "string" + }, "ConnectionType": { "type": "string" }, @@ -3601,6 +3876,9 @@ var SamSchema = `{ }, "TimeoutInMillis": { "type": "number" + }, + "TlsConfig": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Integration.TlsConfig" } }, "required": [ @@ -3614,6 +3892,14 @@ var SamSchema = `{ "AWS::ApiGatewayV2::Integration" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -3622,6 +3908,15 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::ApiGatewayV2::Integration.TlsConfig": { + "additionalProperties": false, + "properties": { + "ServerNameToVerify": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ApiGatewayV2::IntegrationResponse": { "additionalProperties": false, "properties": { @@ -3688,6 +3983,14 @@ var SamSchema = `{ "AWS::ApiGatewayV2::IntegrationResponse" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -3756,6 +4059,14 @@ var SamSchema = `{ "AWS::ApiGatewayV2::Model" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -3847,6 +4158,14 @@ var SamSchema = `{ "AWS::ApiGatewayV2::Route" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -3930,6 +4249,14 @@ var SamSchema = `{ "AWS::ApiGatewayV2::RouteResponse" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -4027,6 +4354,14 @@ var SamSchema = `{ "AWS::ApiGatewayV2::Stage" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -4123,6 +4458,14 @@ var SamSchema = `{ "AWS::AppConfig::Application" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -4215,6 +4558,14 @@ var SamSchema = `{ "AWS::AppConfig::ConfigurationProfile" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -4318,6 +4669,14 @@ var SamSchema = `{ "AWS::AppConfig::Deployment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -4411,6 +4770,14 @@ var SamSchema = `{ "AWS::AppConfig::DeploymentStrategy" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -4496,6 +4863,14 @@ var SamSchema = `{ "AWS::AppConfig::Environment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -4528,6 +4903,86 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::AppConfig::HostedConfigurationVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "ConfigurationProfileId": { + "type": "string" + }, + "Content": { + "type": "string" + }, + "ContentType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "LatestVersionNumber": { + "type": "number" + } + }, + "required": [ + "ApplicationId", + "ConfigurationProfileId", + "Content", + "ContentType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppConfig::HostedConfigurationVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::AppMesh::Mesh": { "additionalProperties": false, "properties": { @@ -4583,6 +5038,14 @@ var SamSchema = `{ "AWS::AppMesh::Mesh" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -4647,6 +5110,9 @@ var SamSchema = `{ "MeshName": { "type": "string" }, + "MeshOwner": { + "type": "string" + }, "RouteName": { "type": "string" }, @@ -4676,6 +5142,14 @@ var SamSchema = `{ "AWS::AppMesh::Route" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -5065,6 +5539,9 @@ var SamSchema = `{ "MeshName": { "type": "string" }, + "MeshOwner": { + "type": "string" + }, "Spec": { "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeSpec" }, @@ -5090,6 +5567,14 @@ var SamSchema = `{ "AWS::AppMesh::VirtualNode" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -5154,6 +5639,45 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::AppMesh::VirtualNode.BackendDefaults": { + "additionalProperties": false, + "properties": { + "ClientPolicy": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicy" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ClientPolicy": { + "additionalProperties": false, + "properties": { + "TLS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicyTls" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ClientPolicyTls": { + "additionalProperties": false, + "properties": { + "Enforce": { + "type": "boolean" + }, + "Ports": { + "items": { + "type": "number" + }, + "type": "array" + }, + "Validation": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContext" + } + }, + "required": [ + "Validation" + ], + "type": "object" + }, "AWS::AppMesh::VirtualNode.DnsServiceDiscovery": { "additionalProperties": false, "properties": { @@ -5220,6 +5744,9 @@ var SamSchema = `{ }, "PortMapping": { "$ref": "#/definitions/AWS::AppMesh::VirtualNode.PortMapping" + }, + "TLS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTls" } }, "required": [ @@ -5227,6 +5754,62 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::AppMesh::VirtualNode.ListenerTls": { + "additionalProperties": false, + "properties": { + "Certificate": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsCertificate" + }, + "Mode": { + "type": "string" + } + }, + "required": [ + "Certificate", + "Mode" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTlsAcmCertificate": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTlsCertificate": { + "additionalProperties": false, + "properties": { + "ACM": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsAcmCertificate" + }, + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsFileCertificate" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTlsFileCertificate": { + "additionalProperties": false, + "properties": { + "CertificateChain": { + "type": "string" + }, + "PrivateKey": { + "type": "string" + } + }, + "required": [ + "CertificateChain", + "PrivateKey" + ], + "type": "object" + }, "AWS::AppMesh::VirtualNode.Logging": { "additionalProperties": false, "properties": { @@ -5264,9 +5847,63 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::AppMesh::VirtualNode.TlsValidationContext": { + "additionalProperties": false, + "properties": { + "Trust": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextTrust" + } + }, + "required": [ + "Trust" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.TlsValidationContextAcmTrust": { + "additionalProperties": false, + "properties": { + "CertificateAuthorityArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "CertificateAuthorityArns" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.TlsValidationContextFileTrust": { + "additionalProperties": false, + "properties": { + "CertificateChain": { + "type": "string" + } + }, + "required": [ + "CertificateChain" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.TlsValidationContextTrust": { + "additionalProperties": false, + "properties": { + "ACM": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextAcmTrust" + }, + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextFileTrust" + } + }, + "type": "object" + }, "AWS::AppMesh::VirtualNode.VirtualNodeSpec": { "additionalProperties": false, "properties": { + "BackendDefaults": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.BackendDefaults" + }, "Backends": { "items": { "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Backend" @@ -5291,6 +5928,9 @@ var SamSchema = `{ "AWS::AppMesh::VirtualNode.VirtualServiceBackend": { "additionalProperties": false, "properties": { + "ClientPolicy": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicy" + }, "VirtualServiceName": { "type": "string" } @@ -5335,6 +5975,9 @@ var SamSchema = `{ "MeshName": { "type": "string" }, + "MeshOwner": { + "type": "string" + }, "Spec": { "$ref": "#/definitions/AWS::AppMesh::VirtualRouter.VirtualRouterSpec" }, @@ -5360,6 +6003,14 @@ var SamSchema = `{ "AWS::AppMesh::VirtualRouter" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -5446,6 +6097,9 @@ var SamSchema = `{ "MeshName": { "type": "string" }, + "MeshOwner": { + "type": "string" + }, "Spec": { "$ref": "#/definitions/AWS::AppMesh::VirtualService.VirtualServiceSpec" }, @@ -5471,6 +6125,14 @@ var SamSchema = `{ "AWS::AppMesh::VirtualService" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -5581,6 +6243,14 @@ var SamSchema = `{ "AWS::AppStream::DirectoryConfig" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -5698,6 +6368,14 @@ var SamSchema = `{ "AWS::AppStream::Fleet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -5834,6 +6512,14 @@ var SamSchema = `{ "AWS::AppStream::ImageBuilder" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -5985,6 +6671,14 @@ var SamSchema = `{ "AWS::AppStream::Stack" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -6110,6 +6804,14 @@ var SamSchema = `{ "AWS::AppStream::StackFleetAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -6175,6 +6877,14 @@ var SamSchema = `{ "AWS::AppStream::StackUserAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -6242,6 +6952,14 @@ var SamSchema = `{ "AWS::AppStream::User" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -6314,6 +7032,14 @@ var SamSchema = `{ "AWS::AppSync::ApiCache" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -6374,6 +7100,14 @@ var SamSchema = `{ "AWS::AppSync::ApiKey" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -6457,6 +7191,14 @@ var SamSchema = `{ "AWS::AppSync::DataSource" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -6694,6 +7436,14 @@ var SamSchema = `{ "AWS::AppSync::FunctionConfiguration" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -6770,6 +7520,14 @@ var SamSchema = `{ "AWS::AppSync::GraphQLApi" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -6924,6 +7682,14 @@ var SamSchema = `{ "AWS::AppSync::GraphQLSchema" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -7013,6 +7779,14 @@ var SamSchema = `{ "AWS::AppSync::Resolver" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -7150,6 +7924,14 @@ var SamSchema = `{ "AWS::ApplicationAutoScaling::ScalableTarget" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -7278,6 +8060,14 @@ var SamSchema = `{ "AWS::ApplicationAutoScaling::ScalingPolicy" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -7471,6 +8261,14 @@ var SamSchema = `{ "AWS::Athena::NamedQuery" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -7479,6 +8277,188 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::Athena::WorkGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RecursiveDeleteOption": { + "type": "boolean" + }, + "State": { + "type": "string" + }, + "Tags": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.Tags" + }, + "WorkGroupConfiguration": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.WorkGroupConfiguration" + }, + "WorkGroupConfigurationUpdates": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.WorkGroupConfigurationUpdates" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Athena::WorkGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Athena::WorkGroup.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "EncryptionOption": { + "type": "string" + }, + "KmsKey": { + "type": "string" + } + }, + "required": [ + "EncryptionOption" + ], + "type": "object" + }, + "AWS::Athena::WorkGroup.ResultConfiguration": { + "additionalProperties": false, + "properties": { + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.EncryptionConfiguration" + }, + "OutputLocation": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Athena::WorkGroup.ResultConfigurationUpdates": { + "additionalProperties": false, + "properties": { + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.EncryptionConfiguration" + }, + "OutputLocation": { + "type": "string" + }, + "RemoveEncryptionConfiguration": { + "type": "boolean" + }, + "RemoveOutputLocation": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Athena::WorkGroup.Tags": { + "additionalProperties": false, + "properties": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Athena::WorkGroup.WorkGroupConfiguration": { + "additionalProperties": false, + "properties": { + "BytesScannedCutoffPerQuery": { + "type": "number" + }, + "EnforceWorkGroupConfiguration": { + "type": "boolean" + }, + "PublishCloudWatchMetricsEnabled": { + "type": "boolean" + }, + "RequesterPaysEnabled": { + "type": "boolean" + }, + "ResultConfiguration": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.ResultConfiguration" + } + }, + "type": "object" + }, + "AWS::Athena::WorkGroup.WorkGroupConfigurationUpdates": { + "additionalProperties": false, + "properties": { + "BytesScannedCutoffPerQuery": { + "type": "number" + }, + "EnforceWorkGroupConfiguration": { + "type": "boolean" + }, + "PublishCloudWatchMetricsEnabled": { + "type": "boolean" + }, + "RemoveBytesScannedCutoffPerQuery": { + "type": "boolean" + }, + "RequesterPaysEnabled": { + "type": "boolean" + }, + "ResultConfigurationUpdates": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.ResultConfigurationUpdates" + } + }, + "type": "object" + }, "AWS::AutoScaling::AutoScalingGroup": { "additionalProperties": false, "properties": { @@ -7556,6 +8536,9 @@ var SamSchema = `{ }, "type": "array" }, + "MaxInstanceLifetime": { + "type": "number" + }, "MaxSize": { "type": "string" }, @@ -7622,6 +8605,14 @@ var SamSchema = `{ }, "UpdatePolicy": { "type": "object" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -7911,6 +8902,14 @@ var SamSchema = `{ "AWS::AutoScaling::LaunchConfiguration" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -8032,6 +9031,14 @@ var SamSchema = `{ "AWS::AutoScaling::LifecycleHook" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -8116,6 +9123,14 @@ var SamSchema = `{ "AWS::AutoScaling::ScalingPolicy" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -8287,6 +9302,14 @@ var SamSchema = `{ "AWS::AutoScaling::ScheduledAction" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -8348,6 +9371,14 @@ var SamSchema = `{ "AWS::AutoScalingPlans::ScalingPlan" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -8631,6 +9662,14 @@ var SamSchema = `{ "AWS::Backup::BackupPlan" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -8772,6 +9811,14 @@ var SamSchema = `{ "AWS::Backup::BackupSelection" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -8886,6 +9933,14 @@ var SamSchema = `{ "AWS::Backup::BackupVault" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -8972,6 +10027,14 @@ var SamSchema = `{ "AWS::Batch::ComputeEnvironment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -9130,6 +10193,14 @@ var SamSchema = `{ "AWS::Batch::JobDefinition" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -9206,9 +10277,7 @@ var SamSchema = `{ } }, "required": [ - "Image", - "Memory", - "Vcpus" + "Image" ], "type": "object" }, @@ -9437,6 +10506,14 @@ var SamSchema = `{ "AWS::Batch::JobQueue" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -9513,6 +10590,14 @@ var SamSchema = `{ "AWS::Budgets::Budget" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -9680,7 +10765,7 @@ var SamSchema = `{ }, "type": "object" }, - "AWS::CertificateManager::Certificate": { + "AWS::CE::CostCategory": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -9712,39 +10797,34 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DomainName": { + "Name": { "type": "string" }, - "DomainValidationOptions": { - "items": { - "$ref": "#/definitions/AWS::CertificateManager::Certificate.DomainValidationOption" - }, - "type": "array" - }, - "SubjectAlternativeNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "RuleVersion": { + "type": "string" }, - "ValidationMethod": { + "Rules": { "type": "string" } }, "required": [ - "DomainName" + "Name", + "RuleVersion", + "Rules" ], "type": "object" }, "Type": { "enum": [ - "AWS::CertificateManager::Certificate" + "AWS::CE::CostCategory" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -9755,23 +10835,65 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::CertificateManager::Certificate.DomainValidationOption": { + "AWS::Cassandra::Keyspace": { "additionalProperties": false, "properties": { - "DomainName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ValidationDomain": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "KeyspaceName": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cassandra::Keyspace" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "DomainName", - "ValidationDomain" + "Type" ], "type": "object" }, - "AWS::Cloud9::EnvironmentEC2": { + "AWS::Cassandra::Table": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -9803,45 +10925,51 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AutomaticStopTimeMinutes": { - "type": "number" - }, - "Description": { - "type": "string" - }, - "InstanceType": { - "type": "string" + "BillingMode": { + "$ref": "#/definitions/AWS::Cassandra::Table.BillingMode" }, - "Name": { - "type": "string" + "ClusteringKeyColumns": { + "items": { + "$ref": "#/definitions/AWS::Cassandra::Table.ClusteringKeyColumn" + }, + "type": "array" }, - "OwnerArn": { + "KeyspaceName": { "type": "string" }, - "Repositories": { + "PartitionKeyColumns": { "items": { - "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2.Repository" + "$ref": "#/definitions/AWS::Cassandra::Table.Column" }, "type": "array" }, - "SubnetId": { - "type": "string" - }, - "Tags": { + "RegularColumns": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::Cassandra::Table.Column" }, "type": "array" + }, + "TableName": { + "type": "string" } }, "required": [ - "InstanceType" + "KeyspaceName", + "PartitionKeyColumns" ], "type": "object" }, "Type": { "enum": [ - "AWS::Cloud9::EnvironmentEC2" + "AWS::Cassandra::Table" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -9852,23 +10980,367 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Cloud9::EnvironmentEC2.Repository": { + "AWS::Cassandra::Table.BillingMode": { "additionalProperties": false, "properties": { - "PathComponent": { + "Mode": { "type": "string" }, - "RepositoryUrl": { + "ProvisionedThroughput": { + "$ref": "#/definitions/AWS::Cassandra::Table.ProvisionedThroughput" + } + }, + "required": [ + "Mode" + ], + "type": "object" + }, + "AWS::Cassandra::Table.ClusteringKeyColumn": { + "additionalProperties": false, + "properties": { + "Column": { + "$ref": "#/definitions/AWS::Cassandra::Table.Column" + }, + "OrderBy": { "type": "string" } }, "required": [ - "PathComponent", - "RepositoryUrl" + "Column" ], "type": "object" }, - "AWS::CloudFormation::CustomResource": { + "AWS::Cassandra::Table.Column": { + "additionalProperties": false, + "properties": { + "ColumnName": { + "type": "string" + }, + "ColumnType": { + "type": "string" + } + }, + "required": [ + "ColumnName", + "ColumnType" + ], + "type": "object" + }, + "AWS::Cassandra::Table.ProvisionedThroughput": { + "additionalProperties": false, + "properties": { + "ReadCapacityUnits": { + "type": "number" + }, + "WriteCapacityUnits": { + "type": "number" + } + }, + "required": [ + "ReadCapacityUnits", + "WriteCapacityUnits" + ], + "type": "object" + }, + "AWS::CertificateManager::Certificate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CertificateAuthorityArn": { + "type": "string" + }, + "CertificateTransparencyLoggingPreference": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "DomainValidationOptions": { + "items": { + "$ref": "#/definitions/AWS::CertificateManager::Certificate.DomainValidationOption" + }, + "type": "array" + }, + "SubjectAlternativeNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ValidationMethod": { + "type": "string" + } + }, + "required": [ + "DomainName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CertificateManager::Certificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CertificateManager::Certificate.DomainValidationOption": { + "additionalProperties": false, + "properties": { + "DomainName": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "ValidationDomain": { + "type": "string" + } + }, + "required": [ + "DomainName" + ], + "type": "object" + }, + "AWS::Chatbot::SlackChannelConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConfigurationName": { + "type": "string" + }, + "IamRoleArn": { + "type": "string" + }, + "LoggingLevel": { + "type": "string" + }, + "SlackChannelId": { + "type": "string" + }, + "SlackWorkspaceId": { + "type": "string" + }, + "SnsTopicArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ConfigurationName", + "IamRoleArn", + "SlackChannelId", + "SlackWorkspaceId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Chatbot::SlackChannelConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cloud9::EnvironmentEC2": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutomaticStopTimeMinutes": { + "type": "number" + }, + "ConnectionType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "OwnerArn": { + "type": "string" + }, + "Repositories": { + "items": { + "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2.Repository" + }, + "type": "array" + }, + "SubnetId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "InstanceType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cloud9::EnvironmentEC2" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cloud9::EnvironmentEC2.Repository": { + "additionalProperties": false, + "properties": { + "PathComponent": { + "type": "string" + }, + "RepositoryUrl": { + "type": "string" + } + }, + "required": [ + "PathComponent", + "RepositoryUrl" + ], + "type": "object" + }, + "AWS::CloudFormation::CustomResource": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -9914,6 +11386,14 @@ var SamSchema = `{ "AWS::CloudFormation::CustomResource" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -9981,6 +11461,14 @@ var SamSchema = `{ "AWS::CloudFormation::Macro" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -10059,6 +11547,14 @@ var SamSchema = `{ "AWS::CloudFormation::Stack" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -10119,6 +11615,14 @@ var SamSchema = `{ "AWS::CloudFormation::WaitCondition" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -10165,6 +11669,14 @@ var SamSchema = `{ "AWS::CloudFormation::WaitConditionHandle" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -10218,6 +11730,14 @@ var SamSchema = `{ "AWS::CloudFront::CloudFrontOriginAccessIdentity" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -10290,6 +11810,14 @@ var SamSchema = `{ "AWS::CloudFront::Distribution" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -10537,6 +12065,9 @@ var SamSchema = `{ "Logging": { "$ref": "#/definitions/AWS::CloudFront::Distribution.Logging" }, + "OriginGroups": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroups" + }, "Origins": { "items": { "$ref": "#/definitions/AWS::CloudFront::Distribution.Origin" @@ -10612,6 +12143,9 @@ var SamSchema = `{ "EventType": { "type": "string" }, + "IncludeBody": { + "type": "boolean" + }, "LambdaFunctionARN": { "type": "string" } @@ -10639,6 +12173,12 @@ var SamSchema = `{ "AWS::CloudFront::Distribution.Origin": { "additionalProperties": false, "properties": { + "ConnectionAttempts": { + "type": "number" + }, + "ConnectionTimeout": { + "type": "number" + }, "CustomOriginConfig": { "$ref": "#/definitions/AWS::CloudFront::Distribution.CustomOriginConfig" }, @@ -10683,6 +12223,87 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::CloudFront::Distribution.OriginGroup": { + "additionalProperties": false, + "properties": { + "FailoverCriteria": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupFailoverCriteria" + }, + "Id": { + "type": "string" + }, + "Members": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupMembers" + } + }, + "required": [ + "FailoverCriteria", + "Id", + "Members" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginGroupFailoverCriteria": { + "additionalProperties": false, + "properties": { + "StatusCodes": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.StatusCodes" + } + }, + "required": [ + "StatusCodes" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginGroupMember": { + "additionalProperties": false, + "properties": { + "OriginId": { + "type": "string" + } + }, + "required": [ + "OriginId" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginGroupMembers": { + "additionalProperties": false, + "properties": { + "Items": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupMember" + }, + "type": "array" + }, + "Quantity": { + "type": "number" + } + }, + "required": [ + "Items", + "Quantity" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginGroups": { + "additionalProperties": false, + "properties": { + "Items": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroup" + }, + "type": "array" + }, + "Quantity": { + "type": "number" + } + }, + "required": [ + "Quantity" + ], + "type": "object" + }, "AWS::CloudFront::Distribution.Restrictions": { "additionalProperties": false, "properties": { @@ -10704,6 +12325,25 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::CloudFront::Distribution.StatusCodes": { + "additionalProperties": false, + "properties": { + "Items": { + "items": { + "type": "number" + }, + "type": "array" + }, + "Quantity": { + "type": "number" + } + }, + "required": [ + "Items", + "Quantity" + ], + "type": "object" + }, "AWS::CloudFront::Distribution.ViewerCertificate": { "additionalProperties": false, "properties": { @@ -10778,6 +12418,14 @@ var SamSchema = `{ "AWS::CloudFront::StreamingDistribution" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -10965,6 +12613,14 @@ var SamSchema = `{ "AWS::CloudTrail::Trail" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -11131,6 +12787,14 @@ var SamSchema = `{ "AWS::CloudWatch::Alarm" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -11188,6 +12852,9 @@ var SamSchema = `{ "MetricStat": { "$ref": "#/definitions/AWS::CloudWatch::Alarm.MetricStat" }, + "Period": { + "type": "number" + }, "ReturnData": { "type": "boolean" } @@ -11283,6 +12950,14 @@ var SamSchema = `{ "AWS::CloudWatch::AnomalyDetector" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -11338,6 +13013,96 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::CloudWatch::CompositeAlarm": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ActionsEnabled": { + "type": "boolean" + }, + "AlarmActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AlarmDescription": { + "type": "string" + }, + "AlarmName": { + "type": "string" + }, + "AlarmRule": { + "type": "string" + }, + "InsufficientDataActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OKActions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "AlarmName", + "AlarmRule" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudWatch::CompositeAlarm" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::CloudWatch::Dashboard": { "additionalProperties": false, "properties": { @@ -11387,6 +13152,14 @@ var SamSchema = `{ "AWS::CloudWatch::Dashboard" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -11435,6 +13208,9 @@ var SamSchema = `{ }, "RuleState": { "type": "string" + }, + "Tags": { + "$ref": "#/definitions/AWS::CloudWatch::InsightRule.Tags" } }, "required": [ @@ -11449,6 +13225,14 @@ var SamSchema = `{ "AWS::CloudWatch::InsightRule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -11457,6 +13241,11 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::CloudWatch::InsightRule.Tags": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::CodeBuild::Project": { "additionalProperties": false, "properties": { @@ -11578,6 +13367,14 @@ var SamSchema = `{ "AWS::CodeBuild::Project" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -11967,6 +13764,12 @@ var SamSchema = `{ "Name": { "type": "string" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "Type": { "type": "string" } @@ -11982,6 +13785,14 @@ var SamSchema = `{ "AWS::CodeBuild::ReportGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -12086,6 +13897,14 @@ var SamSchema = `{ "AWS::CodeBuild::SourceCredential" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -12158,6 +13977,14 @@ var SamSchema = `{ "AWS::CodeCommit::Repository" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -12275,6 +14102,14 @@ var SamSchema = `{ "AWS::CodeDeploy::Application" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -12328,6 +14163,14 @@ var SamSchema = `{ "AWS::CodeDeploy::DeploymentConfig" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -12452,6 +14295,14 @@ var SamSchema = `{ "AWS::CodeDeploy::DeploymentGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -12720,6 +14571,71 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::CodeGuruProfiler::ProfilingGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AgentPermissions": { + "type": "object" + }, + "ProfilingGroupName": { + "type": "string" + } + }, + "required": [ + "ProfilingGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeGuruProfiler::ProfilingGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::CodePipeline::CustomActionType": { "additionalProperties": false, "properties": { @@ -12797,6 +14713,14 @@ var SamSchema = `{ "AWS::CodePipeline::CustomActionType" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -12952,6 +14876,14 @@ var SamSchema = `{ "AWS::CodePipeline::Pipeline" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -13234,6 +15166,14 @@ var SamSchema = `{ "AWS::CodePipeline::Webhook" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -13335,6 +15275,14 @@ var SamSchema = `{ "AWS::CodeStar::GitHubRepository" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -13374,6 +15322,78 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::CodeStarConnections::Connection": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConnectionName": { + "type": "string" + }, + "ProviderType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ConnectionName", + "ProviderType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeStarConnections::Connection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::CodeStarNotifications::NotificationRule": { "additionalProperties": false, "properties": { @@ -13448,6 +15468,14 @@ var SamSchema = `{ "AWS::CodeStarNotifications::NotificationRule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -13553,6 +15581,14 @@ var SamSchema = `{ "AWS::Cognito::IdentityPool" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -13658,6 +15694,14 @@ var SamSchema = `{ "AWS::Cognito::IdentityPoolRoleAttachment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -13847,6 +15891,14 @@ var SamSchema = `{ "AWS::Cognito::UserPool" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -14230,6 +16282,14 @@ var SamSchema = `{ "AWS::Cognito::UserPoolClient" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -14309,6 +16369,14 @@ var SamSchema = `{ "AWS::Cognito::UserPoolDomain" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -14384,6 +16452,14 @@ var SamSchema = `{ "AWS::Cognito::UserPoolGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -14458,6 +16534,14 @@ var SamSchema = `{ "AWS::Cognito::UserPoolIdentityProvider" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -14526,6 +16610,14 @@ var SamSchema = `{ "AWS::Cognito::UserPoolResourceServer" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -14609,6 +16701,14 @@ var SamSchema = `{ "AWS::Cognito::UserPoolRiskConfigurationAttachment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -14809,6 +16909,14 @@ var SamSchema = `{ "AWS::Cognito::UserPoolUICustomizationAttachment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -14893,6 +17001,14 @@ var SamSchema = `{ "AWS::Cognito::UserPoolUser" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -14967,6 +17083,14 @@ var SamSchema = `{ "AWS::Cognito::UserPoolUserToGroupAttachment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -15031,6 +17155,14 @@ var SamSchema = `{ "AWS::Config::AggregationAuthorization" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -15100,6 +17232,14 @@ var SamSchema = `{ "AWS::Config::ConfigRule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -15231,6 +17371,14 @@ var SamSchema = `{ "AWS::Config::ConfigurationAggregator" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -15336,6 +17484,14 @@ var SamSchema = `{ "AWS::Config::ConfigurationRecorder" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -15427,6 +17583,14 @@ var SamSchema = `{ "AWS::Config::ConformancePack" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -15509,6 +17673,14 @@ var SamSchema = `{ "AWS::Config::DeliveryChannel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -15584,6 +17756,14 @@ var SamSchema = `{ "AWS::Config::OrganizationConfigRule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -15742,6 +17922,14 @@ var SamSchema = `{ "AWS::Config::OrganizationConformancePack" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -15841,6 +18029,14 @@ var SamSchema = `{ "AWS::Config::RemediationConfiguration" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -15993,6 +18189,14 @@ var SamSchema = `{ "AWS::DAX::Cluster" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -16059,6 +18263,14 @@ var SamSchema = `{ "AWS::DAX::ParameterGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -16121,6 +18333,14 @@ var SamSchema = `{ "AWS::DAX::SubnetGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -16181,6 +18401,14 @@ var SamSchema = `{ "AWS::DLM::LifecyclePolicy" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -16191,6 +18419,9 @@ var SamSchema = `{ "AWS::DLM::LifecyclePolicy.CreateRule": { "additionalProperties": false, "properties": { + "CronExpression": { + "type": "string" + }, "Interval": { "type": "number" }, @@ -16204,10 +18435,6 @@ var SamSchema = `{ "type": "array" } }, - "required": [ - "Interval", - "IntervalUnit" - ], "type": "object" }, "AWS::DLM::LifecyclePolicy.CrossRegionCopyRetainRule": { @@ -16220,6 +18447,10 @@ var SamSchema = `{ "type": "string" } }, + "required": [ + "Interval", + "IntervalUnit" + ], "type": "object" }, "AWS::DLM::LifecyclePolicy.CrossRegionCopyRule": { @@ -16241,6 +18472,10 @@ var SamSchema = `{ "type": "string" } }, + "required": [ + "Encrypted", + "TargetRegion" + ], "type": "object" }, "AWS::DLM::LifecyclePolicy.FastRestoreRule": { @@ -16411,6 +18646,14 @@ var SamSchema = `{ "AWS::DMS::Certificate" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -16474,6 +18717,9 @@ var SamSchema = `{ "ExtraConnectionAttributes": { "type": "string" }, + "KafkaSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.KafkaSettings" + }, "KinesisSettings": { "$ref": "#/definitions/AWS::DMS::Endpoint.KinesisSettings" }, @@ -16483,6 +18729,9 @@ var SamSchema = `{ "MongoDbSettings": { "$ref": "#/definitions/AWS::DMS::Endpoint.MongoDbSettings" }, + "NeptuneSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.NeptuneSettings" + }, "Password": { "type": "string" }, @@ -16519,6 +18768,14 @@ var SamSchema = `{ "AWS::DMS::Endpoint" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -16554,6 +18811,18 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::DMS::Endpoint.KafkaSettings": { + "additionalProperties": false, + "properties": { + "Broker": { + "type": "string" + }, + "Topic": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DMS::Endpoint.KinesisSettings": { "additionalProperties": false, "properties": { @@ -16608,6 +18877,33 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::DMS::Endpoint.NeptuneSettings": { + "additionalProperties": false, + "properties": { + "ErrorRetryDuration": { + "type": "number" + }, + "IamAuthEnabled": { + "type": "boolean" + }, + "MaxFileSize": { + "type": "number" + }, + "MaxRetryCount": { + "type": "number" + }, + "S3BucketFolder": { + "type": "string" + }, + "S3BucketName": { + "type": "string" + }, + "ServiceAccessRoleArn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DMS::Endpoint.S3Settings": { "additionalProperties": false, "properties": { @@ -16708,6 +19004,14 @@ var SamSchema = `{ "AWS::DMS::EventSubscription" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -16807,6 +19111,14 @@ var SamSchema = `{ "AWS::DMS::ReplicationInstance" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -16877,6 +19189,14 @@ var SamSchema = `{ "AWS::DMS::ReplicationSubnetGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -16952,6 +19272,9 @@ var SamSchema = `{ }, "TargetEndpointArn": { "type": "string" + }, + "TaskData": { + "type": "string" } }, "required": [ @@ -16968,6 +19291,14 @@ var SamSchema = `{ "AWS::DMS::ReplicationTask" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -17053,6 +19384,14 @@ var SamSchema = `{ "AWS::DataPipeline::Pipeline" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -17169,7 +19508,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::DirectoryService::MicrosoftAD": { + "AWS::Detective::Graph": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -17200,69 +19539,204 @@ var SamSchema = `{ }, "Properties": { "additionalProperties": false, - "properties": { - "CreateAlias": { - "type": "boolean" - }, - "Edition": { + "properties": {}, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Detective::Graph" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Detective::MemberInvitation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, - "EnableSso": { - "type": "boolean" - }, - "Name": { + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GraphArn": { "type": "string" }, - "Password": { + "MemberEmailAddress": { "type": "string" }, - "ShortName": { + "MemberId": { "type": "string" }, - "VpcSettings": { - "$ref": "#/definitions/AWS::DirectoryService::MicrosoftAD.VpcSettings" + "Message": { + "type": "string" } }, "required": [ - "Name", - "Password", - "VpcSettings" + "GraphArn", + "MemberEmailAddress", + "MemberId" ], "type": "object" }, "Type": { "enum": [ - "AWS::DirectoryService::MicrosoftAD" + "AWS::Detective::MemberInvitation" ], "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DirectoryService::MicrosoftAD.VpcSettings": { - "additionalProperties": false, - "properties": { - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" }, - "VpcId": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "SubnetIds", - "VpcId" + "Type", + "Properties" ], "type": "object" }, - "AWS::DirectoryService::SimpleAD": { + "AWS::DirectoryService::MicrosoftAD": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CreateAlias": { + "type": "boolean" + }, + "Edition": { + "type": "string" + }, + "EnableSso": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Password": { + "type": "string" + }, + "ShortName": { + "type": "string" + }, + "VpcSettings": { + "$ref": "#/definitions/AWS::DirectoryService::MicrosoftAD.VpcSettings" + } + }, + "required": [ + "Name", + "Password", + "VpcSettings" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DirectoryService::MicrosoftAD" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DirectoryService::MicrosoftAD.VpcSettings": { + "additionalProperties": false, + "properties": { + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "SubnetIds", + "VpcId" + ], + "type": "object" + }, + "AWS::DirectoryService::SimpleAD": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -17332,6 +19806,14 @@ var SamSchema = `{ "AWS::DirectoryService::SimpleAD" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -17409,6 +19891,9 @@ var SamSchema = `{ "DBSubnetGroupName": { "type": "string" }, + "DeletionProtection": { + "type": "boolean" + }, "EnableCloudwatchLogsExports": { "items": { "type": "string" @@ -17466,6 +19951,14 @@ var SamSchema = `{ "AWS::DocDB::DBCluster" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -17537,6 +20030,14 @@ var SamSchema = `{ "AWS::DocDB::DBClusterParameterGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -17613,6 +20114,14 @@ var SamSchema = `{ "AWS::DocDB::DBInstance" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -17683,6 +20192,14 @@ var SamSchema = `{ "AWS::DocDB::DBSubnetGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -17785,6 +20302,14 @@ var SamSchema = `{ "AWS::DynamoDB::Table" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -18042,6 +20567,14 @@ var SamSchema = `{ "AWS::EC2::CapacityReservation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -18124,6 +20657,14 @@ var SamSchema = `{ "AWS::EC2::ClientVpnAuthorizationRule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -18185,6 +20726,12 @@ var SamSchema = `{ }, "type": "array" }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, "ServerCertificateArn": { "type": "string" }, @@ -18200,6 +20747,9 @@ var SamSchema = `{ "TransportProtocol": { "type": "string" }, + "VpcId": { + "type": "string" + }, "VpnPort": { "type": "number" } @@ -18217,6 +20767,14 @@ var SamSchema = `{ "AWS::EC2::ClientVpnEndpoint" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -18243,6 +20801,9 @@ var SamSchema = `{ "ActiveDirectory": { "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest" }, + "FederatedAuthentication": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest" + }, "MutualAuthentication": { "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest" }, @@ -18285,6 +20846,18 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest": { + "additionalProperties": false, + "properties": { + "SAMLProviderArn": { + "type": "string" + } + }, + "required": [ + "SAMLProviderArn" + ], + "type": "object" + }, "AWS::EC2::ClientVpnEndpoint.TagSpecification": { "additionalProperties": false, "properties": { @@ -18361,6 +20934,14 @@ var SamSchema = `{ "AWS::EC2::ClientVpnRoute" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -18419,74 +21000,14 @@ var SamSchema = `{ "AWS::EC2::ClientVpnTargetNetworkAssociation" ], "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::CustomerGateway": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { + }, + "UpdateReplacePolicy": { "enum": [ "Delete", "Retain", "Snapshot" ], "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BgpAsn": { - "type": "number" - }, - "IpAddress": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "BgpAsn", - "IpAddress", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::CustomerGateway" - ], - "type": "string" } }, "required": [ @@ -18495,7 +21016,83 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EC2::DHCPOptions": { + "AWS::EC2::CustomerGateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BgpAsn": { + "type": "number" + }, + "IpAddress": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "BgpAsn", + "IpAddress", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::CustomerGateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::DHCPOptions": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -18565,6 +21162,14 @@ var SamSchema = `{ "AWS::EC2::DHCPOptions" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -18655,6 +21260,14 @@ var SamSchema = `{ "AWS::EC2::EC2Fleet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -18663,6 +21276,15 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::EC2::EC2Fleet.CapacityReservationOptionsRequest": { + "additionalProperties": false, + "properties": { + "UsageStrategy": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EC2::EC2Fleet.FleetLaunchTemplateConfigRequest": { "additionalProperties": false, "properties": { @@ -18690,6 +21312,9 @@ var SamSchema = `{ "MaxPrice": { "type": "string" }, + "Placement": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.Placement" + }, "Priority": { "type": "number" }, @@ -18722,33 +21347,78 @@ var SamSchema = `{ "properties": { "AllocationStrategy": { "type": "string" + }, + "CapacityReservationOptions": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.CapacityReservationOptionsRequest" + }, + "MaxTotalPrice": { + "type": "string" + }, + "MinTargetCapacity": { + "type": "number" + }, + "SingleAvailabilityZone": { + "type": "boolean" + }, + "SingleInstanceType": { + "type": "boolean" } }, "type": "object" }, - "AWS::EC2::EC2Fleet.SpotOptionsRequest": { + "AWS::EC2::EC2Fleet.Placement": { "additionalProperties": false, "properties": { - "AllocationStrategy": { + "Affinity": { "type": "string" }, - "InstanceInterruptionBehavior": { + "AvailabilityZone": { "type": "string" }, - "InstancePoolsToUseCount": { + "GroupName": { + "type": "string" + }, + "HostId": { + "type": "string" + }, + "HostResourceGroupArn": { + "type": "string" + }, + "PartitionNumber": { "type": "number" + }, + "SpreadDomain": { + "type": "string" + }, + "Tenancy": { + "type": "string" } }, "type": "object" }, - "AWS::EC2::EC2Fleet.TagRequest": { + "AWS::EC2::EC2Fleet.SpotOptionsRequest": { "additionalProperties": false, "properties": { - "Key": { + "AllocationStrategy": { "type": "string" }, - "Value": { + "InstanceInterruptionBehavior": { "type": "string" + }, + "InstancePoolsToUseCount": { + "type": "number" + }, + "MaxTotalPrice": { + "type": "string" + }, + "MinTargetCapacity": { + "type": "number" + }, + "SingleAvailabilityZone": { + "type": "boolean" + }, + "SingleInstanceType": { + "type": "boolean" } }, "type": "object" @@ -18761,7 +21431,7 @@ var SamSchema = `{ }, "Tags": { "items": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.TagRequest" + "$ref": "#/definitions/Tag" }, "type": "array" } @@ -18844,6 +21514,14 @@ var SamSchema = `{ "AWS::EC2::EIP" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -18906,6 +21584,14 @@ var SamSchema = `{ "AWS::EC2::EIPAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -18959,6 +21645,14 @@ var SamSchema = `{ "AWS::EC2::EgressOnlyInternetGateway" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -19033,6 +21727,14 @@ var SamSchema = `{ "AWS::EC2::FlowLog" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -19091,6 +21793,14 @@ var SamSchema = `{ "AWS::EC2::GatewayRouteTableAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -19155,6 +21865,14 @@ var SamSchema = `{ "AWS::EC2::Host" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -19350,6 +22068,14 @@ var SamSchema = `{ "AWS::EC2::Instance" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -19678,6 +22404,14 @@ var SamSchema = `{ "AWS::EC2::InternetGateway" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -19731,6 +22465,14 @@ var SamSchema = `{ "AWS::EC2::LaunchTemplate" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -19756,16 +22498,11 @@ var SamSchema = `{ }, "type": "object" }, - "AWS::EC2::LaunchTemplate.CapacityReservationPreference": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::EC2::LaunchTemplate.CapacityReservationSpecification": { "additionalProperties": false, "properties": { "CapacityReservationPreference": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationPreference" + "type": "string" }, "CapacityReservationTarget": { "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationTarget" @@ -20220,6 +22957,14 @@ var SamSchema = `{ "AWS::EC2::LocalGatewayRoute" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -20281,6 +23026,14 @@ var SamSchema = `{ "AWS::EC2::LocalGatewayRouteTableVPCAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -20357,6 +23110,14 @@ var SamSchema = `{ "AWS::EC2::NatGateway" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -20417,6 +23178,14 @@ var SamSchema = `{ "AWS::EC2::NetworkAcl" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -20498,6 +23267,14 @@ var SamSchema = `{ "AWS::EC2::NetworkAclEntry" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -20615,6 +23392,14 @@ var SamSchema = `{ "AWS::EC2::NetworkInterface" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -20708,6 +23493,14 @@ var SamSchema = `{ "AWS::EC2::NetworkInterfaceAttachment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -20770,6 +23563,14 @@ var SamSchema = `{ "AWS::EC2::NetworkInterfacePermission" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -20821,6 +23622,14 @@ var SamSchema = `{ "AWS::EC2::PlacementGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -20901,6 +23710,14 @@ var SamSchema = `{ "AWS::EC2::Route" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -20961,6 +23778,14 @@ var SamSchema = `{ "AWS::EC2::RouteTable" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -21039,6 +23864,14 @@ var SamSchema = `{ "AWS::EC2::SecurityGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -21190,6 +24023,14 @@ var SamSchema = `{ "AWS::EC2::SecurityGroupEgress" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -21277,6 +24118,14 @@ var SamSchema = `{ "AWS::EC2::SecurityGroupIngress" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -21331,6 +24180,14 @@ var SamSchema = `{ "AWS::EC2::SpotFleet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -21838,6 +24695,14 @@ var SamSchema = `{ "AWS::EC2::Subnet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -21896,6 +24761,14 @@ var SamSchema = `{ "AWS::EC2::SubnetCidrBlock" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -21954,6 +24827,14 @@ var SamSchema = `{ "AWS::EC2::SubnetNetworkAclAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22012,6 +24893,14 @@ var SamSchema = `{ "AWS::EC2::SubnetRouteTableAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22075,6 +24964,14 @@ var SamSchema = `{ "AWS::EC2::TrafficMirrorFilter" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22160,6 +25057,14 @@ var SamSchema = `{ "AWS::EC2::TrafficMirrorFilterRule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22257,6 +25162,14 @@ var SamSchema = `{ "AWS::EC2::TrafficMirrorSession" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22320,6 +25233,14 @@ var SamSchema = `{ "AWS::EC2::TrafficMirrorTarget" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22394,6 +25315,14 @@ var SamSchema = `{ "AWS::EC2::TransitGateway" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22464,6 +25393,14 @@ var SamSchema = `{ "AWS::EC2::TransitGatewayAttachment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22527,6 +25464,14 @@ var SamSchema = `{ "AWS::EC2::TransitGatewayRoute" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22587,6 +25532,14 @@ var SamSchema = `{ "AWS::EC2::TransitGatewayRouteTable" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22645,6 +25598,14 @@ var SamSchema = `{ "AWS::EC2::TransitGatewayRouteTableAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22703,6 +25664,14 @@ var SamSchema = `{ "AWS::EC2::TransitGatewayRouteTablePropagation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22772,6 +25741,14 @@ var SamSchema = `{ "AWS::EC2::VPC" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22832,6 +25809,14 @@ var SamSchema = `{ "AWS::EC2::VPCCidrBlock" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22890,6 +25875,14 @@ var SamSchema = `{ "AWS::EC2::VPCDHCPOptionsAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22975,6 +25968,14 @@ var SamSchema = `{ "AWS::EC2::VPCEndpoint" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23042,6 +26043,14 @@ var SamSchema = `{ "AWS::EC2::VPCEndpointConnectionNotification" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23102,6 +26111,14 @@ var SamSchema = `{ "AWS::EC2::VPCEndpointService" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23162,6 +26179,14 @@ var SamSchema = `{ "AWS::EC2::VPCEndpointServicePermissions" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23222,6 +26247,14 @@ var SamSchema = `{ "AWS::EC2::VPCGatewayAttachment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23295,6 +26328,14 @@ var SamSchema = `{ "AWS::EC2::VPCPeeringConnection" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23374,6 +26415,14 @@ var SamSchema = `{ "AWS::EC2::VPNConnection" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23444,6 +26493,14 @@ var SamSchema = `{ "AWS::EC2::VPNConnectionRoute" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23507,6 +26564,14 @@ var SamSchema = `{ "AWS::EC2::VPNGateway" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23568,6 +26633,14 @@ var SamSchema = `{ "AWS::EC2::VPNGatewayRoutePropagation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23623,6 +26696,12 @@ var SamSchema = `{ "KmsKeyId": { "type": "string" }, + "MultiAttachEnabled": { + "type": "boolean" + }, + "OutpostArn": { + "type": "string" + }, "Size": { "type": "number" }, @@ -23649,6 +26728,14 @@ var SamSchema = `{ "AWS::EC2::Volume" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23711,6 +26798,14 @@ var SamSchema = `{ "AWS::EC2::VolumeAttachment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23774,6 +26869,14 @@ var SamSchema = `{ "AWS::ECR::Repository" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23793,6 +26896,113 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::ECS::CapacityProvider": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoScalingGroupProvider": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.AutoScalingGroupProvider" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AutoScalingGroupProvider" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::CapacityProvider" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ECS::CapacityProvider.AutoScalingGroupProvider": { + "additionalProperties": false, + "properties": { + "AutoScalingGroupArn": { + "type": "string" + }, + "ManagedScaling": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedScaling" + }, + "ManagedTerminationProtection": { + "type": "string" + } + }, + "required": [ + "AutoScalingGroupArn" + ], + "type": "object" + }, + "AWS::ECS::CapacityProvider.ManagedScaling": { + "additionalProperties": false, + "properties": { + "MaximumScalingStepSize": { + "type": "number" + }, + "MinimumScalingStepSize": { + "type": "number" + }, + "Status": { + "type": "string" + }, + "TargetCapacity": { + "type": "number" + } + }, + "type": "object" + }, "AWS::ECS::Cluster": { "additionalProperties": false, "properties": { @@ -23825,12 +27035,24 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "CapacityProviders": { + "items": { + "type": "string" + }, + "type": "array" + }, "ClusterName": { "type": "string" }, "ClusterSettings": { "items": { - "$ref": "#/definitions/AWS::ECS::Cluster.ClusterSetting" + "$ref": "#/definitions/AWS::ECS::Cluster.ClusterSettings" + }, + "type": "array" + }, + "DefaultCapacityProviderStrategy": { + "items": { + "$ref": "#/definitions/AWS::ECS::Cluster.CapacityProviderStrategyItem" }, "type": "array" }, @@ -23848,6 +27070,14 @@ var SamSchema = `{ "AWS::ECS::Cluster" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23855,7 +27085,22 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::ECS::Cluster.ClusterSetting": { + "AWS::ECS::Cluster.CapacityProviderStrategyItem": { + "additionalProperties": false, + "properties": { + "Base": { + "type": "number" + }, + "CapacityProvider": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster.ClusterSettings": { "additionalProperties": false, "properties": { "Name": { @@ -23865,10 +27110,6 @@ var SamSchema = `{ "type": "string" } }, - "required": [ - "Name", - "Value" - ], "type": "object" }, "AWS::ECS::PrimaryTaskSet": { @@ -23925,6 +27166,14 @@ var SamSchema = `{ "AWS::ECS::PrimaryTaskSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -24045,6 +27294,14 @@ var SamSchema = `{ "AWS::ECS::Service" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -24278,6 +27535,14 @@ var SamSchema = `{ "AWS::ECS::TaskDefinition" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -24608,9 +27873,6 @@ var SamSchema = `{ "DeviceName": { "type": "string" }, - "DevicePolicy": { - "type": "string" - }, "DeviceType": { "type": "string" } @@ -24979,6 +28241,14 @@ var SamSchema = `{ "AWS::ECS::TaskSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -25068,7 +28338,7 @@ var SamSchema = `{ }, "type": "object" }, - "AWS::EFS::FileSystem": { + "AWS::EFS::AccessPoint": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -25100,49 +28370,52 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Encrypted": { - "type": "boolean" - }, - "FileSystemTags": { + "AccessPointTags": { "items": { - "$ref": "#/definitions/AWS::EFS::FileSystem.ElasticFileSystemTag" + "$ref": "#/definitions/AWS::EFS::AccessPoint.AccessPointTag" }, "type": "array" }, - "KmsKeyId": { + "ClientToken": { "type": "string" }, - "LifecyclePolicies": { - "items": { - "$ref": "#/definitions/AWS::EFS::FileSystem.LifecyclePolicy" - }, - "type": "array" - }, - "PerformanceMode": { + "FileSystemId": { "type": "string" }, - "ProvisionedThroughputInMibps": { - "type": "number" + "PosixUser": { + "$ref": "#/definitions/AWS::EFS::AccessPoint.PosixUser" }, - "ThroughputMode": { - "type": "string" + "RootDirectory": { + "$ref": "#/definitions/AWS::EFS::AccessPoint.RootDirectory" } }, + "required": [ + "FileSystemId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EFS::FileSystem" + "AWS::EFS::AccessPoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EFS::FileSystem.ElasticFileSystemTag": { + "AWS::EFS::AccessPoint.AccessPointTag": { "additionalProperties": false, "properties": { "Key": { @@ -25152,93 +28425,63 @@ var SamSchema = `{ "type": "string" } }, - "required": [ - "Key", - "Value" - ], "type": "object" }, - "AWS::EFS::FileSystem.LifecyclePolicy": { + "AWS::EFS::AccessPoint.CreationInfo": { "additionalProperties": false, "properties": { - "TransitionToIA": { + "OwnerGid": { + "type": "string" + }, + "OwnerUid": { + "type": "string" + }, + "Permissions": { "type": "string" } }, "required": [ - "TransitionToIA" + "OwnerGid", + "OwnerUid", + "Permissions" ], "type": "object" }, - "AWS::EFS::MountTarget": { + "AWS::EFS::AccessPoint.PosixUser": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Gid": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FileSystemId": { - "type": "string" - }, - "IpAddress": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetId": { - "type": "string" - } + "SecondaryGids": { + "items": { + "type": "string" }, - "required": [ - "FileSystemId", - "SecurityGroups", - "SubnetId" - ], - "type": "object" + "type": "array" }, - "Type": { - "enum": [ - "AWS::EFS::MountTarget" - ], + "Uid": { "type": "string" } }, "required": [ - "Type", - "Properties" + "Gid", + "Uid" ], "type": "object" }, - "AWS::EKS::Cluster": { + "AWS::EFS::AccessPoint.RootDirectory": { + "additionalProperties": false, + "properties": { + "CreationInfo": { + "$ref": "#/definitions/AWS::EFS::AccessPoint.CreationInfo" + }, + "Path": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EFS::FileSystem": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -25270,6 +28513,201 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "Encrypted": { + "type": "boolean" + }, + "FileSystemPolicy": { + "type": "object" + }, + "FileSystemTags": { + "items": { + "$ref": "#/definitions/AWS::EFS::FileSystem.ElasticFileSystemTag" + }, + "type": "array" + }, + "KmsKeyId": { + "type": "string" + }, + "LifecyclePolicies": { + "items": { + "$ref": "#/definitions/AWS::EFS::FileSystem.LifecyclePolicy" + }, + "type": "array" + }, + "PerformanceMode": { + "type": "string" + }, + "ProvisionedThroughputInMibps": { + "type": "number" + }, + "ThroughputMode": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EFS::FileSystem" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EFS::FileSystem.ElasticFileSystemTag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::EFS::FileSystem.LifecyclePolicy": { + "additionalProperties": false, + "properties": { + "TransitionToIA": { + "type": "string" + } + }, + "required": [ + "TransitionToIA" + ], + "type": "object" + }, + "AWS::EFS::MountTarget": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "type": "string" + }, + "IpAddress": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "FileSystemId", + "SecurityGroups", + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EFS::MountTarget" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EKS::Cluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EncryptionConfig": { + "items": { + "$ref": "#/definitions/AWS::EKS::Cluster.EncryptionConfig" + }, + "type": "array" + }, "Name": { "type": "string" }, @@ -25294,6 +28732,14 @@ var SamSchema = `{ "AWS::EKS::Cluster" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -25302,6 +28748,30 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::EKS::Cluster.EncryptionConfig": { + "additionalProperties": false, + "properties": { + "Provider": { + "$ref": "#/definitions/AWS::EKS::Cluster.Provider" + }, + "Resources": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EKS::Cluster.Provider": { + "additionalProperties": false, + "properties": { + "KeyArn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EKS::Cluster.ResourcesVpcConfig": { "additionalProperties": false, "properties": { @@ -25416,6 +28886,14 @@ var SamSchema = `{ "AWS::EKS::Nodegroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -25575,6 +29053,14 @@ var SamSchema = `{ "AWS::EMR::Cluster" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -26226,6 +29712,14 @@ var SamSchema = `{ "AWS::EMR::InstanceFleetConfig" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -26447,6 +29941,14 @@ var SamSchema = `{ "AWS::EMR::InstanceGroupConfig" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -26738,6 +30240,14 @@ var SamSchema = `{ "AWS::EMR::SecurityConfiguration" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -26804,6 +30314,14 @@ var SamSchema = `{ "AWS::EMR::Step" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -26974,6 +30492,14 @@ var SamSchema = `{ "AWS::ElastiCache::CacheCluster" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -27041,6 +30567,14 @@ var SamSchema = `{ "AWS::ElastiCache::ParameterGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -27117,6 +30651,9 @@ var SamSchema = `{ "KmsKeyId": { "type": "string" }, + "MultiAZEnabled": { + "type": "boolean" + }, "NodeGroupConfiguration": { "items": { "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration" @@ -27200,6 +30737,14 @@ var SamSchema = `{ "AWS::ElastiCache::ReplicationGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -27278,6 +30823,14 @@ var SamSchema = `{ "AWS::ElastiCache::SecurityGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -27339,6 +30892,14 @@ var SamSchema = `{ "AWS::ElastiCache::SecurityGroupIngress" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -27403,6 +30964,14 @@ var SamSchema = `{ "AWS::ElastiCache::SubnetGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -27460,6 +31029,14 @@ var SamSchema = `{ "AWS::ElasticBeanstalk::Application" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -27574,6 +31151,14 @@ var SamSchema = `{ "AWS::ElasticBeanstalk::ApplicationVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -27665,6 +31250,14 @@ var SamSchema = `{ "AWS::ElasticBeanstalk::ConfigurationTemplate" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -27793,6 +31386,14 @@ var SamSchema = `{ "AWS::ElasticBeanstalk::Environment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -27956,6 +31557,14 @@ var SamSchema = `{ "AWS::ElasticLoadBalancing::LoadBalancer" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -28206,6 +31815,14 @@ var SamSchema = `{ "AWS::ElasticLoadBalancingV2::Listener" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -28487,6 +32104,14 @@ var SamSchema = `{ "AWS::ElasticLoadBalancingV2::ListenerCertificate" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -28568,6 +32193,14 @@ var SamSchema = `{ "AWS::ElasticLoadBalancingV2::ListenerRule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -28989,6 +32622,14 @@ var SamSchema = `{ "AWS::ElasticLoadBalancingV2::LoadBalancer" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -29014,12 +32655,14 @@ var SamSchema = `{ "AllocationId": { "type": "string" }, + "PrivateIPv4Address": { + "type": "string" + }, "SubnetId": { "type": "string" } }, "required": [ - "AllocationId", "SubnetId" ], "type": "object" @@ -29124,6 +32767,14 @@ var SamSchema = `{ "AWS::ElasticLoadBalancingV2::TargetGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -29267,6 +32918,14 @@ var SamSchema = `{ "AWS::Elasticsearch::Domain" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -29461,6 +33120,14 @@ var SamSchema = `{ "AWS::EventSchemas::Discoverer" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -29537,6 +33204,14 @@ var SamSchema = `{ "AWS::EventSchemas::Registry" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -29560,6 +33235,75 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::EventSchemas::RegistryPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Policy": { + "type": "object" + }, + "RegistryName": { + "type": "string" + }, + "RevisionId": { + "type": "string" + } + }, + "required": [ + "Policy", + "RegistryName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EventSchemas::RegistryPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::EventSchemas::Schema": { "additionalProperties": false, "properties": { @@ -29626,6 +33370,14 @@ var SamSchema = `{ "AWS::EventSchemas::Schema" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -29699,6 +33451,14 @@ var SamSchema = `{ "AWS::Events::EventBus" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -29767,6 +33527,14 @@ var SamSchema = `{ "AWS::Events::EventBusPolicy" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -29857,6 +33625,14 @@ var SamSchema = `{ "AWS::Events::Rule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -29955,6 +33731,36 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::Events::Rule.HttpParameters": { + "additionalProperties": false, + "properties": { + "HeaderParameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "PathParameterValues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "QueryStringParameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, "AWS::Events::Rule.InputTransformer": { "additionalProperties": false, "properties": { @@ -30055,6 +33861,9 @@ var SamSchema = `{ "EcsParameters": { "$ref": "#/definitions/AWS::Events::Rule.EcsParameters" }, + "HttpParameters": { + "$ref": "#/definitions/AWS::Events::Rule.HttpParameters" + }, "Id": { "type": "string" }, @@ -30136,6 +33945,14 @@ var SamSchema = `{ "AWS::FMS::NotificationChannel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -30233,6 +34050,14 @@ var SamSchema = `{ "AWS::FMS::Policy" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -30249,6 +34074,12 @@ var SamSchema = `{ "type": "string" }, "type": "array" + }, + "ORGUNIT": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" @@ -30337,6 +34168,9 @@ var SamSchema = `{ "StorageCapacity": { "type": "number" }, + "StorageType": { + "type": "string" + }, "SubnetIds": { "items": { "type": "string" @@ -30364,6 +34198,14 @@ var SamSchema = `{ "AWS::FSx::FileSystem" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -30509,6 +34351,14 @@ var SamSchema = `{ "AWS::GameLift::Alias" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -30587,6 +34437,14 @@ var SamSchema = `{ "AWS::GameLift::Build" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -30733,6 +34591,14 @@ var SamSchema = `{ "AWS::GameLift::Fleet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -30887,6 +34753,14 @@ var SamSchema = `{ "AWS::GameLift::GameSessionQueue" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -31008,6 +34882,14 @@ var SamSchema = `{ "AWS::GameLift::MatchmakingConfiguration" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -31082,6 +34964,14 @@ var SamSchema = `{ "AWS::GameLift::MatchmakingRuleSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -31142,6 +35032,14 @@ var SamSchema = `{ "AWS::GameLift::Script" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -31173,7 +35071,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Glue::Classifier": { + "AWS::GlobalAccelerator::Accelerator": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -31205,120 +35103,55 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CsvClassifier": { - "$ref": "#/definitions/AWS::Glue::Classifier.CsvClassifier" + "Enabled": { + "type": "boolean" }, - "GrokClassifier": { - "$ref": "#/definitions/AWS::Glue::Classifier.GrokClassifier" + "IpAddressType": { + "type": "string" }, - "JsonClassifier": { - "$ref": "#/definitions/AWS::Glue::Classifier.JsonClassifier" + "IpAddresses": { + "items": { + "type": "string" + }, + "type": "array" }, - "XMLClassifier": { - "$ref": "#/definitions/AWS::Glue::Classifier.XMLClassifier" + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, + "required": [ + "Name" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::Classifier" + "AWS::GlobalAccelerator::Accelerator" ], "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Glue::Classifier.CsvClassifier": { - "additionalProperties": false, - "properties": { - "AllowSingleColumn": { - "type": "boolean" - }, - "ContainsHeader": { - "type": "string" - }, - "Delimiter": { - "type": "string" - }, - "DisableValueTrimming": { - "type": "boolean" - }, - "Header": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "QuoteSymbol": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Classifier.GrokClassifier": { - "additionalProperties": false, - "properties": { - "Classification": { - "type": "string" - }, - "CustomPatterns": { - "type": "string" - }, - "GrokPattern": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Classification", - "GrokPattern" - ], - "type": "object" - }, - "AWS::Glue::Classifier.JsonClassifier": { - "additionalProperties": false, - "properties": { - "JsonPath": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "JsonPath" - ], - "type": "object" - }, - "AWS::Glue::Classifier.XMLClassifier": { - "additionalProperties": false, - "properties": { - "Classification": { - "type": "string" - }, - "Name": { - "type": "string" }, - "RowTag": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Classification", - "RowTag" + "Type", + "Properties" ], "type": "object" }, - "AWS::Glue::Connection": { + "AWS::GlobalAccelerator::EndpointGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -31350,22 +35183,54 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CatalogId": { + "EndpointConfigurations": { + "items": { + "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup.EndpointConfiguration" + }, + "type": "array" + }, + "EndpointGroupRegion": { "type": "string" }, - "ConnectionInput": { - "$ref": "#/definitions/AWS::Glue::Connection.ConnectionInput" + "HealthCheckIntervalSeconds": { + "type": "number" + }, + "HealthCheckPath": { + "type": "string" + }, + "HealthCheckPort": { + "type": "number" + }, + "HealthCheckProtocol": { + "type": "string" + }, + "ListenerArn": { + "type": "string" + }, + "ThresholdCount": { + "type": "number" + }, + "TrafficDialPercentage": { + "type": "number" } }, "required": [ - "CatalogId", - "ConnectionInput" + "EndpointGroupRegion", + "ListenerArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::Connection" + "AWS::GlobalAccelerator::EndpointGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -31376,56 +35241,385 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Glue::Connection.ConnectionInput": { + "AWS::GlobalAccelerator::EndpointGroup.EndpointConfiguration": { "additionalProperties": false, "properties": { - "ConnectionProperties": { - "type": "object" - }, - "ConnectionType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "MatchCriteria": { - "items": { - "type": "string" - }, - "type": "array" + "ClientIPPreservationEnabled": { + "type": "boolean" }, - "Name": { + "EndpointId": { "type": "string" }, - "PhysicalConnectionRequirements": { - "$ref": "#/definitions/AWS::Glue::Connection.PhysicalConnectionRequirements" + "Weight": { + "type": "number" } }, "required": [ - "ConnectionProperties", - "ConnectionType" + "EndpointId" ], "type": "object" }, - "AWS::Glue::Connection.PhysicalConnectionRequirements": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "SecurityGroupIdList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler": { + "AWS::GlobalAccelerator::Listener": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceleratorArn": { + "type": "string" + }, + "ClientAffinity": { + "type": "string" + }, + "PortRanges": { + "items": { + "$ref": "#/definitions/AWS::GlobalAccelerator::Listener.PortRange" + }, + "type": "array" + }, + "Protocol": { + "type": "string" + } + }, + "required": [ + "AcceleratorArn", + "PortRanges", + "Protocol" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GlobalAccelerator::Listener" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GlobalAccelerator::Listener.PortRange": { + "additionalProperties": false, + "properties": { + "FromPort": { + "type": "number" + }, + "ToPort": { + "type": "number" + } + }, + "required": [ + "FromPort", + "ToPort" + ], + "type": "object" + }, + "AWS::Glue::Classifier": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CsvClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.CsvClassifier" + }, + "GrokClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.GrokClassifier" + }, + "JsonClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.JsonClassifier" + }, + "XMLClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.XMLClassifier" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Classifier" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Glue::Classifier.CsvClassifier": { + "additionalProperties": false, + "properties": { + "AllowSingleColumn": { + "type": "boolean" + }, + "ContainsHeader": { + "type": "string" + }, + "Delimiter": { + "type": "string" + }, + "DisableValueTrimming": { + "type": "boolean" + }, + "Header": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "QuoteSymbol": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Classifier.GrokClassifier": { + "additionalProperties": false, + "properties": { + "Classification": { + "type": "string" + }, + "CustomPatterns": { + "type": "string" + }, + "GrokPattern": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Classification", + "GrokPattern" + ], + "type": "object" + }, + "AWS::Glue::Classifier.JsonClassifier": { + "additionalProperties": false, + "properties": { + "JsonPath": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "JsonPath" + ], + "type": "object" + }, + "AWS::Glue::Classifier.XMLClassifier": { + "additionalProperties": false, + "properties": { + "Classification": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RowTag": { + "type": "string" + } + }, + "required": [ + "Classification", + "RowTag" + ], + "type": "object" + }, + "AWS::Glue::Connection": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "ConnectionInput": { + "$ref": "#/definitions/AWS::Glue::Connection.ConnectionInput" + } + }, + "required": [ + "CatalogId", + "ConnectionInput" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Connection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::Connection.ConnectionInput": { + "additionalProperties": false, + "properties": { + "ConnectionProperties": { + "type": "object" + }, + "ConnectionType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "MatchCriteria": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "PhysicalConnectionRequirements": { + "$ref": "#/definitions/AWS::Glue::Connection.PhysicalConnectionRequirements" + } + }, + "required": [ + "ConnectionProperties", + "ConnectionType" + ], + "type": "object" + }, + "AWS::Glue::Connection.PhysicalConnectionRequirements": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "SecurityGroupIdList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Crawler": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -31508,6 +35702,14 @@ var SamSchema = `{ "AWS::Glue::Crawler" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -31674,6 +35876,14 @@ var SamSchema = `{ "AWS::Glue::DataCatalogEncryptionSettings" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -31768,6 +35978,14 @@ var SamSchema = `{ "AWS::Glue::Database" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -31850,6 +36068,12 @@ var SamSchema = `{ "PublicKey": { "type": "string" }, + "PublicKeys": { + "items": { + "type": "string" + }, + "type": "array" + }, "RoleArn": { "type": "string" }, @@ -31882,6 +36106,14 @@ var SamSchema = `{ "AWS::Glue::DevEndpoint" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -31988,6 +36220,14 @@ var SamSchema = `{ "AWS::Glue::Job" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -32097,6 +36337,9 @@ var SamSchema = `{ "Role": { "type": "string" }, + "Tags": { + "type": "object" + }, "Timeout": { "type": "number" }, @@ -32119,6 +36362,14 @@ var SamSchema = `{ "AWS::Glue::MLTransform" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -32255,6 +36506,14 @@ var SamSchema = `{ "AWS::Glue::Partition" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -32454,6 +36713,14 @@ var SamSchema = `{ "AWS::Glue::SecurityConfiguration" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -32572,6 +36839,14 @@ var SamSchema = `{ "AWS::Glue::Table" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -32814,6 +37089,14 @@ var SamSchema = `{ "AWS::Glue::Trigger" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -32943,6 +37226,14 @@ var SamSchema = `{ "AWS::Glue::Workflow" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -33002,6 +37293,14 @@ var SamSchema = `{ "AWS::Greengrass::ConnectorDefinition" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -33097,6 +37396,14 @@ var SamSchema = `{ "AWS::Greengrass::ConnectorDefinitionVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -33176,6 +37483,14 @@ var SamSchema = `{ "AWS::Greengrass::CoreDefinition" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -33275,6 +37590,14 @@ var SamSchema = `{ "AWS::Greengrass::CoreDefinitionVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -33358,6 +37681,14 @@ var SamSchema = `{ "AWS::Greengrass::DeviceDefinition" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -33457,6 +37788,14 @@ var SamSchema = `{ "AWS::Greengrass::DeviceDefinitionVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -33540,6 +37879,14 @@ var SamSchema = `{ "AWS::Greengrass::FunctionDefinition" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -33741,6 +38088,14 @@ var SamSchema = `{ "AWS::Greengrass::FunctionDefinitionVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -33923,6 +38278,14 @@ var SamSchema = `{ "AWS::Greengrass::Group" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -34025,6 +38388,14 @@ var SamSchema = `{ "AWS::Greengrass::GroupVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -34085,6 +38456,14 @@ var SamSchema = `{ "AWS::Greengrass::LoggerDefinition" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -34188,6 +38567,14 @@ var SamSchema = `{ "AWS::Greengrass::LoggerDefinitionVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -34275,6 +38662,14 @@ var SamSchema = `{ "AWS::Greengrass::ResourceDefinition" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -34368,6 +38763,22 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting": { + "additionalProperties": false, + "properties": { + "GroupOwner": { + "type": "string" + }, + "GroupPermission": { + "type": "string" + } + }, + "required": [ + "GroupOwner", + "GroupPermission" + ], + "type": "object" + }, "AWS::Greengrass::ResourceDefinition.ResourceInstance": { "additionalProperties": false, "properties": { @@ -34394,6 +38805,9 @@ var SamSchema = `{ "DestinationPath": { "type": "string" }, + "OwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting" + }, "S3Uri": { "type": "string" } @@ -34410,6 +38824,9 @@ var SamSchema = `{ "DestinationPath": { "type": "string" }, + "OwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting" + }, "SageMakerJobArn": { "type": "string" } @@ -34491,6 +38908,14 @@ var SamSchema = `{ "AWS::Greengrass::ResourceDefinitionVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -34569,6 +38994,22 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting": { + "additionalProperties": false, + "properties": { + "GroupOwner": { + "type": "string" + }, + "GroupPermission": { + "type": "string" + } + }, + "required": [ + "GroupOwner", + "GroupPermission" + ], + "type": "object" + }, "AWS::Greengrass::ResourceDefinitionVersion.ResourceInstance": { "additionalProperties": false, "properties": { @@ -34595,6 +39036,9 @@ var SamSchema = `{ "DestinationPath": { "type": "string" }, + "OwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting" + }, "S3Uri": { "type": "string" } @@ -34611,6 +39055,9 @@ var SamSchema = `{ "DestinationPath": { "type": "string" }, + "OwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting" + }, "SageMakerJobArn": { "type": "string" } @@ -34691,6 +39138,14 @@ var SamSchema = `{ "AWS::Greengrass::SubscriptionDefinition" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -34791,6 +39246,14 @@ var SamSchema = `{ "AWS::Greengrass::SubscriptionDefinitionVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -34872,6 +39335,14 @@ var SamSchema = `{ "AWS::GuardDuty::Detector" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -34946,6 +39417,14 @@ var SamSchema = `{ "AWS::GuardDuty::Filter" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -35054,6 +39533,14 @@ var SamSchema = `{ "AWS::GuardDuty::IPSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -35115,77 +39602,14 @@ var SamSchema = `{ "AWS::GuardDuty::Master" ], "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GuardDuty::Member": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { + }, + "UpdateReplacePolicy": { "enum": [ "Delete", "Retain", "Snapshot" ], "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DetectorId": { - "type": "string" - }, - "DisableEmailNotification": { - "type": "boolean" - }, - "Email": { - "type": "string" - }, - "MemberId": { - "type": "string" - }, - "Message": { - "type": "string" - }, - "Status": { - "type": "string" - } - }, - "required": [ - "DetectorId", - "Email", - "MemberId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GuardDuty::Member" - ], - "type": "string" } }, "required": [ @@ -35194,7 +39618,86 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::GuardDuty::ThreatIntelSet": { + "AWS::GuardDuty::Member": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DetectorId": { + "type": "string" + }, + "DisableEmailNotification": { + "type": "boolean" + }, + "Email": { + "type": "string" + }, + "MemberId": { + "type": "string" + }, + "Message": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "DetectorId", + "Email", + "MemberId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Member" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::ThreatIntelSet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -35255,6 +39758,14 @@ var SamSchema = `{ "AWS::GuardDuty::ThreatIntelSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -35315,6 +39826,14 @@ var SamSchema = `{ "AWS::IAM::AccessKey" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -35381,6 +39900,14 @@ var SamSchema = `{ "AWS::IAM::Group" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -35459,6 +39986,14 @@ var SamSchema = `{ "AWS::IAM::InstanceProfile" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -35540,6 +40075,14 @@ var SamSchema = `{ "AWS::IAM::ManagedPolicy" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -35616,6 +40159,14 @@ var SamSchema = `{ "AWS::IAM::Policy" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -35703,6 +40254,14 @@ var SamSchema = `{ "AWS::IAM::Role" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -35779,6 +40338,14 @@ var SamSchema = `{ "AWS::IAM::ServiceLinkedRole" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -35863,6 +40430,14 @@ var SamSchema = `{ "AWS::IAM::User" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -35954,133 +40529,14 @@ var SamSchema = `{ "AWS::IAM::UserToGroupAddition" ], "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Inspector::AssessmentTarget": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssessmentTargetName": { - "type": "string" - }, - "ResourceGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Inspector::AssessmentTarget" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Inspector::AssessmentTemplate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { + "UpdateReplacePolicy": { "enum": [ "Delete", "Retain", "Snapshot" ], "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssessmentTargetArn": { - "type": "string" - }, - "AssessmentTemplateName": { - "type": "string" - }, - "DurationInSeconds": { - "type": "number" - }, - "RulesPackageArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "UserAttributesForFindings": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AssessmentTargetArn", - "DurationInSeconds", - "RulesPackageArns" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Inspector::AssessmentTemplate" - ], - "type": "string" } }, "required": [ @@ -36089,7 +40545,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Inspector::ResourceGroup": { + "AWS::ImageBuilder::Component": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36121,21 +40577,58 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ResourceGroupTags": { - "items": { - "$ref": "#/definitions/Tag" + "ChangeDescription": { + "type": "string" + }, + "Data": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Platform": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "type": "array" + "type": "object" + }, + "Uri": { + "type": "string" + }, + "Version": { + "type": "string" } }, "required": [ - "ResourceGroupTags" + "Name", + "Platform", + "Version" ], "type": "object" }, "Type": { "enum": [ - "AWS::Inspector::ResourceGroup" + "AWS::ImageBuilder::Component" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -36146,7 +40639,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::IoT1Click::Device": { + "AWS::ImageBuilder::DistributionConfiguration": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36178,22 +40671,45 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DeviceId": { + "Description": { "type": "string" }, - "Enabled": { - "type": "boolean" + "Distributions": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration.Distribution" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" } }, "required": [ - "DeviceId", - "Enabled" + "Distributions", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT1Click::Device" + "AWS::ImageBuilder::DistributionConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -36204,7 +40720,25 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::IoT1Click::Placement": { + "AWS::ImageBuilder::DistributionConfiguration.Distribution": { + "additionalProperties": false, + "properties": { + "AmiDistributionConfiguration": { + "type": "object" + }, + "LicenseConfigurationArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Region": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::Image": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36236,27 +40770,45 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AssociatedDevices": { - "type": "object" - }, - "Attributes": { - "type": "object" + "DistributionConfigurationArn": { + "type": "string" }, - "PlacementName": { + "ImageRecipeArn": { "type": "string" }, - "ProjectName": { + "ImageTestsConfiguration": { + "$ref": "#/definitions/AWS::ImageBuilder::Image.ImageTestsConfiguration" + }, + "InfrastructureConfigurationArn": { "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" } }, "required": [ - "ProjectName" + "ImageRecipeArn", + "InfrastructureConfigurationArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT1Click::Placement" + "AWS::ImageBuilder::Image" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -36267,7 +40819,19 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::IoT1Click::Project": { + "AWS::ImageBuilder::Image.ImageTestsConfiguration": { + "additionalProperties": false, + "properties": { + "ImageTestsEnabled": { + "type": "boolean" + }, + "TimeoutMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImagePipeline": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36302,21 +40866,55 @@ var SamSchema = `{ "Description": { "type": "string" }, - "PlacementTemplate": { - "$ref": "#/definitions/AWS::IoT1Click::Project.PlacementTemplate" + "DistributionConfigurationArn": { + "type": "string" }, - "ProjectName": { + "ImageRecipeArn": { + "type": "string" + }, + "ImageTestsConfiguration": { + "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration" + }, + "InfrastructureConfigurationArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.Schedule" + }, + "Status": { "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" } }, "required": [ - "PlacementTemplate" + "ImageRecipeArn", + "InfrastructureConfigurationArn", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT1Click::Project" + "AWS::ImageBuilder::ImagePipeline" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -36327,31 +40925,31 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::IoT1Click::Project.DeviceTemplate": { + "AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration": { "additionalProperties": false, "properties": { - "CallbackOverrides": { - "type": "object" + "ImageTestsEnabled": { + "type": "boolean" }, - "DeviceType": { - "type": "string" + "TimeoutMinutes": { + "type": "number" } }, "type": "object" }, - "AWS::IoT1Click::Project.PlacementTemplate": { + "AWS::ImageBuilder::ImagePipeline.Schedule": { "additionalProperties": false, "properties": { - "DefaultAttributes": { - "type": "object" + "PipelineExecutionStartCondition": { + "type": "string" }, - "DeviceTemplates": { - "type": "object" + "ScheduleExpression": { + "type": "string" } }, "type": "object" }, - "AWS::IoT::Certificate": { + "AWS::ImageBuilder::ImageRecipe": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36383,22 +40981,59 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CertificateSigningRequest": { + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping" + }, + "type": "array" + }, + "Components": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.ComponentConfiguration" + }, + "type": "array" + }, + "Description": { "type": "string" }, - "Status": { + "Name": { + "type": "string" + }, + "ParentImage": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Version": { "type": "string" } }, "required": [ - "CertificateSigningRequest", - "Status" + "Components", + "Name", + "ParentImage", + "Version" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::Certificate" + "AWS::ImageBuilder::ImageRecipe" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -36409,7 +41044,61 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::IoT::Policy": { + "AWS::ImageBuilder::ImageRecipe.ComponentConfiguration": { + "additionalProperties": false, + "properties": { + "ComponentArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" + }, + "SnapshotId": { + "type": "string" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification" + }, + "NoDevice": { + "type": "string" + }, + "VirtualName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::InfrastructureConfiguration": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36441,21 +41130,69 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "PolicyDocument": { + "Description": { + "type": "string" + }, + "InstanceProfileName": { + "type": "string" + }, + "InstanceTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "KeyPair": { + "type": "string" + }, + "Logging": { "type": "object" }, - "PolicyName": { + "Name": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnsTopicArn": { + "type": "string" + }, + "SubnetId": { "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "TerminateInstanceOnFailure": { + "type": "boolean" } }, "required": [ - "PolicyDocument" + "InstanceProfileName", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::Policy" + "AWS::ImageBuilder::InfrastructureConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -36466,7 +41203,28 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::IoT::PolicyPrincipalAttachment": { + "AWS::ImageBuilder::InfrastructureConfiguration.Logging": { + "additionalProperties": false, + "properties": { + "S3Logs": { + "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.S3Logs" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::InfrastructureConfiguration.S3Logs": { + "additionalProperties": false, + "properties": { + "S3BucketName": { + "type": "string" + }, + "S3KeyPrefix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Inspector::AssessmentTarget": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36498,33 +41256,36 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "PolicyName": { + "AssessmentTargetName": { "type": "string" }, - "Principal": { + "ResourceGroupArn": { "type": "string" } }, - "required": [ - "PolicyName", - "Principal" - ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::PolicyPrincipalAttachment" + "AWS::Inspector::AssessmentTarget" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::IoT::Thing": { + "AWS::Inspector::AssessmentTemplate": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36556,43 +41317,122 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AttributePayload": { - "$ref": "#/definitions/AWS::IoT::Thing.AttributePayload" + "AssessmentTargetArn": { + "type": "string" }, - "ThingName": { + "AssessmentTemplateName": { "type": "string" + }, + "DurationInSeconds": { + "type": "number" + }, + "RulesPackageArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "UserAttributesForFindings": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, + "required": [ + "AssessmentTargetArn", + "DurationInSeconds", + "RulesPackageArns" + ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::Thing" + "AWS::Inspector::AssessmentTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::IoT::Thing.AttributePayload": { + "AWS::Inspector::ResourceGroup": { "additionalProperties": false, "properties": { - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceGroupTags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, + "required": [ + "ResourceGroupTags" + ], "type": "object" + }, + "Type": { + "enum": [ + "AWS::Inspector::ResourceGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::IoT::ThingPrincipalAttachment": { + "AWS::IoT1Click::Device": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36624,22 +41464,30 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Principal": { + "DeviceId": { "type": "string" }, - "ThingName": { - "type": "string" + "Enabled": { + "type": "boolean" } }, "required": [ - "Principal", - "ThingName" + "DeviceId", + "Enabled" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::ThingPrincipalAttachment" + "AWS::IoT1Click::Device" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -36650,7 +41498,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::IoT::TopicRule": { + "AWS::IoT1Click::Placement": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36682,21 +41530,35 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "RuleName": { + "AssociatedDevices": { + "type": "object" + }, + "Attributes": { + "type": "object" + }, + "PlacementName": { "type": "string" }, - "TopicRulePayload": { - "$ref": "#/definitions/AWS::IoT::TopicRule.TopicRulePayload" + "ProjectName": { + "type": "string" } }, "required": [ - "TopicRulePayload" + "ProjectName" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::TopicRule" + "AWS::IoT1Click::Placement" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -36707,17 +41569,609 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::IoT::TopicRule.Action": { + "AWS::IoT1Click::Project": { "additionalProperties": false, "properties": { - "CloudwatchAlarm": { - "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchAlarmAction" - }, - "CloudwatchMetric": { - "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchMetricAction" - }, - "DynamoDB": { - "$ref": "#/definitions/AWS::IoT::TopicRule.DynamoDBAction" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "PlacementTemplate": { + "$ref": "#/definitions/AWS::IoT1Click::Project.PlacementTemplate" + }, + "ProjectName": { + "type": "string" + } + }, + "required": [ + "PlacementTemplate" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT1Click::Project" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT1Click::Project.DeviceTemplate": { + "additionalProperties": false, + "properties": { + "CallbackOverrides": { + "type": "object" + }, + "DeviceType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT1Click::Project.PlacementTemplate": { + "additionalProperties": false, + "properties": { + "DefaultAttributes": { + "type": "object" + }, + "DeviceTemplates": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::IoT::Certificate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CertificateSigningRequest": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "CertificateSigningRequest", + "Status" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::Certificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::Policy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + }, + "PolicyName": { + "type": "string" + } + }, + "required": [ + "PolicyDocument" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::Policy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::PolicyPrincipalAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyName": { + "type": "string" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "PolicyName", + "Principal" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::PolicyPrincipalAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::ProvisioningTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "PreProvisioningHook": { + "$ref": "#/definitions/AWS::IoT::ProvisioningTemplate.ProvisioningHook" + }, + "ProvisioningRoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "type": "object" + }, + "type": "array" + }, + "TemplateBody": { + "type": "string" + }, + "TemplateName": { + "type": "string" + } + }, + "required": [ + "ProvisioningRoleArn", + "TemplateBody" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::ProvisioningTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::ProvisioningTemplate.ProvisioningHook": { + "additionalProperties": false, + "properties": { + "PayloadVersion": { + "type": "string" + }, + "TargetArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::Thing": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AttributePayload": { + "$ref": "#/definitions/AWS::IoT::Thing.AttributePayload" + }, + "ThingName": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::Thing" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IoT::Thing.AttributePayload": { + "additionalProperties": false, + "properties": { + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::IoT::ThingPrincipalAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Principal": { + "type": "string" + }, + "ThingName": { + "type": "string" + } + }, + "required": [ + "Principal", + "ThingName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::ThingPrincipalAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::TopicRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "RuleName": { + "type": "string" + }, + "TopicRulePayload": { + "$ref": "#/definitions/AWS::IoT::TopicRule.TopicRulePayload" + } + }, + "required": [ + "TopicRulePayload" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::TopicRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.Action": { + "additionalProperties": false, + "properties": { + "CloudwatchAlarm": { + "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchAlarmAction" + }, + "CloudwatchMetric": { + "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchMetricAction" + }, + "DynamoDB": { + "$ref": "#/definitions/AWS::IoT::TopicRule.DynamoDBAction" }, "DynamoDBv2": { "$ref": "#/definitions/AWS::IoT::TopicRule.DynamoDBv2Action" @@ -36728,9 +42182,18 @@ var SamSchema = `{ "Firehose": { "$ref": "#/definitions/AWS::IoT::TopicRule.FirehoseAction" }, + "Http": { + "$ref": "#/definitions/AWS::IoT::TopicRule.HttpAction" + }, "IotAnalytics": { "$ref": "#/definitions/AWS::IoT::TopicRule.IotAnalyticsAction" }, + "IotEvents": { + "$ref": "#/definitions/AWS::IoT::TopicRule.IotEventsAction" + }, + "IotSiteWise": { + "$ref": "#/definitions/AWS::IoT::TopicRule.IotSiteWiseAction" + }, "Kinesis": { "$ref": "#/definitions/AWS::IoT::TopicRule.KinesisAction" }, @@ -36755,6 +42218,58 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::IoT::TopicRule.AssetPropertyTimestamp": { + "additionalProperties": false, + "properties": { + "OffsetInNanos": { + "type": "string" + }, + "TimeInSeconds": { + "type": "string" + } + }, + "required": [ + "TimeInSeconds" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.AssetPropertyValue": { + "additionalProperties": false, + "properties": { + "Quality": { + "type": "string" + }, + "Timestamp": { + "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyTimestamp" + }, + "Value": { + "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyVariant" + } + }, + "required": [ + "Timestamp", + "Value" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.AssetPropertyVariant": { + "additionalProperties": false, + "properties": { + "BooleanValue": { + "type": "string" + }, + "DoubleValue": { + "type": "string" + }, + "IntegerValue": { + "type": "string" + }, + "StringValue": { + "type": "string" + } + }, + "type": "object" + }, "AWS::IoT::TopicRule.CloudwatchAlarmAction": { "additionalProperties": false, "properties": { @@ -36908,6 +42423,55 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::IoT::TopicRule.HttpAction": { + "additionalProperties": false, + "properties": { + "Auth": { + "$ref": "#/definitions/AWS::IoT::TopicRule.HttpAuthorization" + }, + "ConfirmationUrl": { + "type": "string" + }, + "Headers": { + "items": { + "$ref": "#/definitions/AWS::IoT::TopicRule.HttpActionHeader" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Url" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.HttpActionHeader": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.HttpAuthorization": { + "additionalProperties": false, + "properties": { + "Sigv4": { + "$ref": "#/definitions/AWS::IoT::TopicRule.SigV4Authorization" + } + }, + "type": "object" + }, "AWS::IoT::TopicRule.IotAnalyticsAction": { "additionalProperties": false, "properties": { @@ -36924,6 +42488,44 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::IoT::TopicRule.IotEventsAction": { + "additionalProperties": false, + "properties": { + "InputName": { + "type": "string" + }, + "MessageId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "InputName", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.IotSiteWiseAction": { + "additionalProperties": false, + "properties": { + "PutAssetPropertyValueEntries": { + "items": { + "$ref": "#/definitions/AWS::IoT::TopicRule.PutAssetPropertyValueEntry" + }, + "type": "array" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "PutAssetPropertyValueEntries", + "RoleArn" + ], + "type": "object" + }, "AWS::IoT::TopicRule.KinesisAction": { "additionalProperties": false, "properties": { @@ -36952,6 +42554,33 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::IoT::TopicRule.PutAssetPropertyValueEntry": { + "additionalProperties": false, + "properties": { + "AssetId": { + "type": "string" + }, + "EntryId": { + "type": "string" + }, + "PropertyAlias": { + "type": "string" + }, + "PropertyId": { + "type": "string" + }, + "PropertyValues": { + "items": { + "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyValue" + }, + "type": "array" + } + }, + "required": [ + "PropertyValues" + ], + "type": "object" + }, "AWS::IoT::TopicRule.PutItemInput": { "additionalProperties": false, "properties": { @@ -36967,6 +42596,9 @@ var SamSchema = `{ "AWS::IoT::TopicRule.RepublishAction": { "additionalProperties": false, "properties": { + "Qos": { + "type": "number" + }, "RoleArn": { "type": "string" }, @@ -37000,6 +42632,26 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::IoT::TopicRule.SigV4Authorization": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "ServiceName": { + "type": "string" + }, + "SigningRegion": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "ServiceName", + "SigningRegion" + ], + "type": "object" + }, "AWS::IoT::TopicRule.SnsAction": { "additionalProperties": false, "properties": { @@ -37144,6 +42796,14 @@ var SamSchema = `{ "AWS::IoTAnalytics::Channel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -37275,6 +42935,14 @@ var SamSchema = `{ "AWS::IoTAnalytics::Dataset" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -37629,6 +43297,14 @@ var SamSchema = `{ "AWS::IoTAnalytics::Datastore" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -37742,6 +43418,14 @@ var SamSchema = `{ "AWS::IoTAnalytics::Pipeline" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -38021,6 +43705,14 @@ var SamSchema = `{ "AWS::IoTEvents::DetectorModel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -38034,12 +43726,21 @@ var SamSchema = `{ "ClearTimer": { "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.ClearTimer" }, + "DynamoDB": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.DynamoDB" + }, + "DynamoDBv2": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.DynamoDBv2" + }, "Firehose": { "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Firehose" }, "IotEvents": { "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.IotEvents" }, + "IotSiteWise": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.IotSiteWise" + }, "IotTopicPublish": { "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.IotTopicPublish" }, @@ -38064,6 +43765,51 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::IoTEvents::DetectorModel.AssetPropertyTimestamp": { + "additionalProperties": false, + "properties": { + "OffsetInNanos": { + "type": "string" + }, + "TimeInSeconds": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.AssetPropertyValue": { + "additionalProperties": false, + "properties": { + "Quality": { + "type": "string" + }, + "Timestamp": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyTimestamp" + }, + "Value": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyVariant" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.AssetPropertyVariant": { + "additionalProperties": false, + "properties": { + "BooleanValue": { + "type": "string" + }, + "DoubleValue": { + "type": "string" + }, + "IntegerValue": { + "type": "string" + }, + "StringValue": { + "type": "string" + } + }, + "type": "object" + }, "AWS::IoTEvents::DetectorModel.ClearTimer": { "additionalProperties": false, "properties": { @@ -38088,6 +43834,54 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::IoTEvents::DetectorModel.DynamoDB": { + "additionalProperties": false, + "properties": { + "HashKeyField": { + "type": "string" + }, + "HashKeyType": { + "type": "string" + }, + "HashKeyValue": { + "type": "string" + }, + "Operation": { + "type": "string" + }, + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, + "PayloadField": { + "type": "string" + }, + "RangeKeyField": { + "type": "string" + }, + "RangeKeyType": { + "type": "string" + }, + "RangeKeyValue": { + "type": "string" + }, + "TableName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.DynamoDBv2": { + "additionalProperties": false, + "properties": { + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, + "TableName": { + "type": "string" + } + }, + "type": "object" + }, "AWS::IoTEvents::DetectorModel.Event": { "additionalProperties": false, "properties": { @@ -38112,6 +43906,9 @@ var SamSchema = `{ "DeliveryStreamName": { "type": "string" }, + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, "Separator": { "type": "string" } @@ -38123,6 +43920,30 @@ var SamSchema = `{ "properties": { "InputName": { "type": "string" + }, + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.IotSiteWise": { + "additionalProperties": false, + "properties": { + "AssetId": { + "type": "string" + }, + "EntryId": { + "type": "string" + }, + "PropertyAlias": { + "type": "string" + }, + "PropertyId": { + "type": "string" + }, + "PropertyValue": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyValue" } }, "type": "object" @@ -38132,6 +43953,9 @@ var SamSchema = `{ "properties": { "MqttTopic": { "type": "string" + }, + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" } }, "type": "object" @@ -38141,6 +43965,9 @@ var SamSchema = `{ "properties": { "FunctionArn": { "type": "string" + }, + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" } }, "type": "object" @@ -38187,6 +44014,18 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::IoTEvents::DetectorModel.Payload": { + "additionalProperties": false, + "properties": { + "ContentExpression": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, "AWS::IoTEvents::DetectorModel.ResetTimer": { "additionalProperties": false, "properties": { @@ -38199,6 +44038,9 @@ var SamSchema = `{ "AWS::IoTEvents::DetectorModel.SetTimer": { "additionalProperties": false, "properties": { + "DurationExpression": { + "type": "string" + }, "Seconds": { "type": "number" }, @@ -38223,6 +44065,9 @@ var SamSchema = `{ "AWS::IoTEvents::DetectorModel.Sns": { "additionalProperties": false, "properties": { + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, "TargetArn": { "type": "string" } @@ -38232,6 +44077,9 @@ var SamSchema = `{ "AWS::IoTEvents::DetectorModel.Sqs": { "additionalProperties": false, "properties": { + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, "QueueUrl": { "type": "string" }, @@ -38335,6 +44183,14 @@ var SamSchema = `{ "AWS::IoTEvents::Input" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -38412,6 +44268,14 @@ var SamSchema = `{ "AWS::IoTThingsGraph::FlowTemplate" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -38486,6 +44350,14 @@ var SamSchema = `{ "AWS::KMS::Alias" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -38561,6 +44433,14 @@ var SamSchema = `{ "AWS::KMS::Key" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -38630,6 +44510,14 @@ var SamSchema = `{ "AWS::Kinesis::Stream" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -38704,6 +44592,14 @@ var SamSchema = `{ "AWS::Kinesis::StreamConsumer" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -38770,6 +44666,14 @@ var SamSchema = `{ "AWS::KinesisAnalytics::Application" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -39018,6 +44922,14 @@ var SamSchema = `{ "AWS::KinesisAnalytics::ApplicationOutput" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -39157,6 +45069,14 @@ var SamSchema = `{ "AWS::KinesisAnalytics::ApplicationReferenceDataSource" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -39345,6 +45265,12 @@ var SamSchema = `{ }, "ServiceExecutionRole": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -39358,6 +45284,14 @@ var SamSchema = `{ "AWS::KinesisAnalyticsV2::Application" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -39784,6 +45718,14 @@ var SamSchema = `{ "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -39854,6 +45796,14 @@ var SamSchema = `{ "AWS::KinesisAnalyticsV2::ApplicationOutput" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -39981,6 +45931,14 @@ var SamSchema = `{ "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -40183,6 +46141,14 @@ var SamSchema = `{ "AWS::KinesisFirehose::DeliveryStream" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -40200,10 +46166,6 @@ var SamSchema = `{ "type": "number" } }, - "required": [ - "IntervalInSeconds", - "SizeInMBs" - ], "type": "object" }, "AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions": { @@ -40255,12 +46217,6 @@ var SamSchema = `{ "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SchemaConfiguration" } }, - "required": [ - "Enabled", - "InputFormatConfiguration", - "OutputFormatConfiguration", - "SchemaConfiguration" - ], "type": "object" }, "AWS::KinesisFirehose::DeliveryStream.Deserializer": { @@ -40285,10 +46241,6 @@ var SamSchema = `{ "type": "number" } }, - "required": [ - "IntervalInSeconds", - "SizeInMBs" - ], "type": "object" }, "AWS::KinesisFirehose::DeliveryStream.ElasticsearchDestinationConfiguration": { @@ -40300,6 +46252,9 @@ var SamSchema = `{ "CloudWatchLoggingOptions": { "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" }, + "ClusterEndpoint": { + "type": "string" + }, "DomainARN": { "type": "string" }, @@ -40326,18 +46281,15 @@ var SamSchema = `{ }, "TypeName": { "type": "string" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.VpcConfiguration" } }, "required": [ - "BufferingHints", - "DomainARN", "IndexName", - "IndexRotationPeriod", - "RetryOptions", "RoleARN", - "S3BackupMode", - "S3Configuration", - "TypeName" + "S3Configuration" ], "type": "object" }, @@ -40348,9 +46300,6 @@ var SamSchema = `{ "type": "number" } }, - "required": [ - "DurationInSeconds" - ], "type": "object" }, "AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration": { @@ -40407,8 +46356,6 @@ var SamSchema = `{ }, "required": [ "BucketARN", - "BufferingHints", - "CompressionFormat", "RoleARN" ], "type": "object" @@ -40432,9 +46379,6 @@ var SamSchema = `{ "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Deserializer" } }, - "required": [ - "Deserializer" - ], "type": "object" }, "AWS::KinesisFirehose::DeliveryStream.KMSEncryptionConfig": { @@ -40532,9 +46476,6 @@ var SamSchema = `{ "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Serializer" } }, - "required": [ - "Serializer" - ], "type": "object" }, "AWS::KinesisFirehose::DeliveryStream.ParquetSerDe": { @@ -40590,7 +46531,6 @@ var SamSchema = `{ } }, "required": [ - "Parameters", "Type" ], "type": "object" @@ -40629,9 +46569,18 @@ var SamSchema = `{ "ProcessingConfiguration": { "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" }, + "RetryOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RedshiftRetryOptions" + }, "RoleARN": { "type": "string" }, + "S3BackupConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + }, + "S3BackupMode": { + "type": "string" + }, "S3Configuration": { "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" }, @@ -40649,6 +46598,15 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::KinesisFirehose::DeliveryStream.RedshiftRetryOptions": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "number" + } + }, + "type": "object" + }, "AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration": { "additionalProperties": false, "properties": { @@ -40679,8 +46637,6 @@ var SamSchema = `{ }, "required": [ "BucketARN", - "BufferingHints", - "CompressionFormat", "RoleARN" ], "type": "object" @@ -40707,14 +46663,6 @@ var SamSchema = `{ "type": "string" } }, - "required": [ - "CatalogId", - "DatabaseName", - "Region", - "RoleARN", - "TableName", - "VersionId" - ], "type": "object" }, "AWS::KinesisFirehose::DeliveryStream.Serializer": { @@ -40775,8 +46723,31 @@ var SamSchema = `{ "type": "number" } }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.VpcConfiguration": { + "additionalProperties": false, + "properties": { + "RoleARN": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, "required": [ - "DurationInSeconds" + "RoleARN", + "SecurityGroupIds", + "SubnetIds" ], "type": "object" }, @@ -40823,6 +46794,14 @@ var SamSchema = `{ "AWS::LakeFormation::DataLakeSettings" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -40906,6 +46885,14 @@ var SamSchema = `{ "AWS::LakeFormation::Permissions" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -40914,6 +46901,18 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::LakeFormation::Permissions.ColumnWildcard": { + "additionalProperties": false, + "properties": { + "ExcludedColumnNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::LakeFormation::Permissions.DataLakePrincipal": { "additionalProperties": false, "properties": { @@ -40923,6 +46922,15 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::LakeFormation::Permissions.DataLocationResource": { + "additionalProperties": false, + "properties": { + "S3Resource": { + "type": "string" + } + }, + "type": "object" + }, "AWS::LakeFormation::Permissions.DatabaseResource": { "additionalProperties": false, "properties": { @@ -40935,11 +46943,17 @@ var SamSchema = `{ "AWS::LakeFormation::Permissions.Resource": { "additionalProperties": false, "properties": { + "DataLocationResource": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.DataLocationResource" + }, "DatabaseResource": { "$ref": "#/definitions/AWS::LakeFormation::Permissions.DatabaseResource" }, "TableResource": { "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableResource" + }, + "TableWithColumnsResource": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableWithColumnsResource" } }, "type": "object" @@ -40956,6 +46970,27 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::LakeFormation::Permissions.TableWithColumnsResource": { + "additionalProperties": false, + "properties": { + "ColumnNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ColumnWildcard": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.ColumnWildcard" + }, + "DatabaseName": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, "AWS::LakeFormation::Resource": { "additionalProperties": false, "properties": { @@ -41009,6 +47044,14 @@ var SamSchema = `{ "AWS::LakeFormation::Resource" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -41080,6 +47123,14 @@ var SamSchema = `{ "AWS::Lambda::Alias" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -41190,6 +47241,14 @@ var SamSchema = `{ "AWS::Lambda::EventInvokeConfig" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -41311,6 +47370,14 @@ var SamSchema = `{ "AWS::Lambda::EventSourceMapping" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -41443,6 +47510,14 @@ var SamSchema = `{ "AWS::Lambda::Function" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -41585,6 +47660,14 @@ var SamSchema = `{ "AWS::Lambda::LayerVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -41669,6 +47752,14 @@ var SamSchema = `{ "AWS::Lambda::LayerVersionPermission" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -41740,6 +47831,14 @@ var SamSchema = `{ "AWS::Lambda::Permission" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -41803,6 +47902,14 @@ var SamSchema = `{ "AWS::Lambda::Version" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -41881,6 +47988,14 @@ var SamSchema = `{ "AWS::Logs::Destination" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -41935,6 +48050,14 @@ var SamSchema = `{ "AWS::Logs::LogGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -41991,6 +48114,14 @@ var SamSchema = `{ "AWS::Logs::LogStream" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -42056,6 +48187,14 @@ var SamSchema = `{ "AWS::Logs::MetricFilter" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -42144,6 +48283,14 @@ var SamSchema = `{ "AWS::Logs::SubscriptionFilter" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -42205,6 +48352,9 @@ var SamSchema = `{ "KafkaVersion": { "type": "string" }, + "LoggingInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.LoggingInfo" + }, "NumberOfBrokerNodes": { "type": "number" }, @@ -42228,6 +48378,14 @@ var SamSchema = `{ "AWS::MSK::Cluster" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -42236,6 +48394,21 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::MSK::Cluster.BrokerLogs": { + "additionalProperties": false, + "properties": { + "CloudWatchLogs": { + "$ref": "#/definitions/AWS::MSK::Cluster.CloudWatchLogs" + }, + "Firehose": { + "$ref": "#/definitions/AWS::MSK::Cluster.Firehose" + }, + "S3": { + "$ref": "#/definitions/AWS::MSK::Cluster.S3" + } + }, + "type": "object" + }, "AWS::MSK::Cluster.BrokerNodeGroupInfo": { "additionalProperties": false, "properties": { @@ -42276,6 +48449,21 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::MSK::Cluster.CloudWatchLogs": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "LogGroup": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, "AWS::MSK::Cluster.ConfigurationInfo": { "additionalProperties": false, "properties": { @@ -42337,6 +48525,21 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::MSK::Cluster.Firehose": { + "additionalProperties": false, + "properties": { + "DeliveryStream": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, "AWS::MSK::Cluster.JmxExporter": { "additionalProperties": false, "properties": { @@ -42349,6 +48552,18 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::MSK::Cluster.LoggingInfo": { + "additionalProperties": false, + "properties": { + "BrokerLogs": { + "$ref": "#/definitions/AWS::MSK::Cluster.BrokerLogs" + } + }, + "required": [ + "BrokerLogs" + ], + "type": "object" + }, "AWS::MSK::Cluster.NodeExporter": { "additionalProperties": false, "properties": { @@ -42385,6 +48600,24 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::MSK::Cluster.S3": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "Prefix": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, "AWS::MSK::Cluster.StorageInfo": { "additionalProperties": false, "properties": { @@ -42406,6 +48639,240 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::Macie::CustomDataIdentifier": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "IgnoreWords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Keywords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaximumMatchDistance": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Regex": { + "type": "string" + } + }, + "required": [ + "Name", + "Regex" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Macie::CustomDataIdentifier" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Macie::FindingsFilter": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "FindingCriteria": { + "$ref": "#/definitions/AWS::Macie::FindingsFilter.FindingCriteria" + }, + "Name": { + "type": "string" + }, + "Position": { + "type": "number" + } + }, + "required": [ + "FindingCriteria", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Macie::FindingsFilter" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Macie::FindingsFilter.Criterion": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::Macie::FindingsFilter.FindingCriteria": { + "additionalProperties": false, + "properties": { + "Criterion": { + "$ref": "#/definitions/AWS::Macie::FindingsFilter.Criterion" + } + }, + "type": "object" + }, + "AWS::Macie::Session": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FindingPublishingFrequency": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Macie::Session" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::ManagedBlockchain::Member": { "additionalProperties": false, "properties": { @@ -42461,6 +48928,14 @@ var SamSchema = `{ "AWS::ManagedBlockchain::Member" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -42641,6 +49116,14 @@ var SamSchema = `{ "AWS::ManagedBlockchain::Node" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -42706,6 +49189,12 @@ var SamSchema = `{ "Description": { "type": "string" }, + "HopDestinations": { + "items": { + "$ref": "#/definitions/AWS::MediaConvert::JobTemplate.HopDestination" + }, + "type": "array" + }, "Name": { "type": "string" }, @@ -42735,6 +49224,14 @@ var SamSchema = `{ "AWS::MediaConvert::JobTemplate" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -42755,6 +49252,21 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::MediaConvert::JobTemplate.HopDestination": { + "additionalProperties": false, + "properties": { + "Priority": { + "type": "number" + }, + "Queue": { + "type": "string" + }, + "WaitMinutes": { + "type": "number" + } + }, + "type": "object" + }, "AWS::MediaConvert::Preset": { "additionalProperties": false, "properties": { @@ -42813,6 +49325,14 @@ var SamSchema = `{ "AWS::MediaConvert::Preset" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -42876,6 +49396,14 @@ var SamSchema = `{ "AWS::MediaConvert::Queue" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -42956,6 +49484,14 @@ var SamSchema = `{ "AWS::MediaLive::Channel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -43247,76 +49783,447 @@ var SamSchema = `{ "Convert608To708": { "type": "string" }, - "Source608ChannelNumber": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Scte27SourceSettings": { - "additionalProperties": false, - "properties": { - "Pid": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.TeletextSourceSettings": { - "additionalProperties": false, - "properties": { - "PageNumber": { + "Source608ChannelNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte27SourceSettings": { + "additionalProperties": false, + "properties": { + "Pid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.TeletextSourceSettings": { + "additionalProperties": false, + "properties": { + "PageNumber": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoSelector": { + "additionalProperties": false, + "properties": { + "ColorSpace": { + "type": "string" + }, + "ColorSpaceUsage": { + "type": "string" + }, + "SelectorSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoSelectorPid": { + "additionalProperties": false, + "properties": { + "Pid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoSelectorProgramId": { + "additionalProperties": false, + "properties": { + "ProgramId": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoSelectorSettings": { + "additionalProperties": false, + "properties": { + "VideoSelectorPid": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorPid" + }, + "VideoSelectorProgramId": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorProgramId" + } + }, + "type": "object" + }, + "AWS::MediaLive::Input": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Input.InputDestinationRequest" + }, + "type": "array" + }, + "InputSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MediaConnectFlows": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Input.MediaConnectFlowRequest" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Input.InputSourceRequest" + }, + "type": "array" + }, + "Tags": { + "type": "object" + }, + "Type": { + "type": "string" + }, + "Vpc": { + "$ref": "#/definitions/AWS::MediaLive::Input.InputVpcRequest" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaLive::Input" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::MediaLive::Input.InputDestinationRequest": { + "additionalProperties": false, + "properties": { + "StreamName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Input.InputSourceRequest": { + "additionalProperties": false, + "properties": { + "PasswordParam": { + "type": "string" + }, + "Url": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Input.InputVpcRequest": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaLive::Input.MediaConnectFlowRequest": { + "additionalProperties": false, + "properties": { + "FlowArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::InputSecurityGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Tags": { + "type": "object" + }, + "WhitelistRules": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::InputSecurityGroup.InputWhitelistRuleCidr" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaLive::InputSecurityGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::MediaLive::InputSecurityGroup.InputWhitelistRuleCidr": { + "additionalProperties": false, + "properties": { + "Cidr": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaStore::Container": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessLoggingEnabled": { + "type": "boolean" + }, + "ContainerName": { + "type": "string" + }, + "CorsPolicy": { + "items": { + "$ref": "#/definitions/AWS::MediaStore::Container.CorsRule" + }, + "type": "array" + }, + "LifecyclePolicy": { + "type": "string" + }, + "MetricPolicy": { + "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicy" + }, + "Policy": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ContainerName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaStore::Container" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaLive::Channel.VideoSelector": { + "AWS::MediaStore::Container.CorsRule": { "additionalProperties": false, "properties": { - "ColorSpace": { - "type": "string" + "AllowedHeaders": { + "items": { + "type": "string" + }, + "type": "array" }, - "ColorSpaceUsage": { - "type": "string" + "AllowedMethods": { + "items": { + "type": "string" + }, + "type": "array" }, - "SelectorSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.VideoSelectorPid": { - "additionalProperties": false, - "properties": { - "Pid": { + "AllowedOrigins": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExposeHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxAgeSeconds": { "type": "number" } }, "type": "object" }, - "AWS::MediaLive::Channel.VideoSelectorProgramId": { + "AWS::MediaStore::Container.MetricPolicy": { "additionalProperties": false, "properties": { - "ProgramId": { - "type": "number" + "ContainerLevelMetrics": { + "type": "string" + }, + "MetricPolicyRules": { + "items": { + "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicyRule" + }, + "type": "array" } }, + "required": [ + "ContainerLevelMetrics" + ], "type": "object" }, - "AWS::MediaLive::Channel.VideoSelectorSettings": { + "AWS::MediaStore::Container.MetricPolicyRule": { "additionalProperties": false, "properties": { - "VideoSelectorPid": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorPid" + "ObjectGroup": { + "type": "string" }, - "VideoSelectorProgramId": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorProgramId" + "ObjectGroupName": { + "type": "string" } }, + "required": [ + "ObjectGroup", + "ObjectGroupName" + ], "type": "object" }, - "AWS::MediaLive::Input": { + "AWS::Neptune::DBCluster": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43348,51 +50255,95 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Destinations": { + "AvailabilityZones": { "items": { - "$ref": "#/definitions/AWS::MediaLive::Input.InputDestinationRequest" + "type": "string" }, "type": "array" }, - "InputSecurityGroups": { + "BackupRetentionPeriod": { + "type": "number" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBClusterParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "EnableCloudwatchLogsExports": { "items": { "type": "string" }, "type": "array" }, - "MediaConnectFlows": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Input.MediaConnectFlowRequest" - }, - "type": "array" + "EngineVersion": { + "type": "string" }, - "Name": { + "IamAuthEnabled": { + "type": "boolean" + }, + "KmsKeyId": { "type": "string" }, - "RoleArn": { + "Port": { + "type": "number" + }, + "PreferredBackupWindow": { "type": "string" }, - "Sources": { + "PreferredMaintenanceWindow": { + "type": "string" + }, + "RestoreToTime": { + "type": "string" + }, + "RestoreType": { + "type": "string" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::MediaLive::Input.InputSourceRequest" + "$ref": "#/definitions/Tag" }, "type": "array" }, - "Tags": { - "type": "object" - }, - "Type": { - "type": "string" + "UseLatestRestorableTime": { + "type": "boolean" }, - "Vpc": { - "$ref": "#/definitions/AWS::MediaLive::Input.InputVpcRequest" + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, "Type": { "enum": [ - "AWS::MediaLive::Input" + "AWS::Neptune::DBCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -43402,58 +50353,181 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::MediaLive::Input.InputDestinationRequest": { - "additionalProperties": false, - "properties": { - "StreamName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Input.InputSourceRequest": { + "AWS::Neptune::DBClusterParameterGroup": { "additionalProperties": false, "properties": { - "PasswordParam": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Url": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Family": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description", + "Family", + "Parameters" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBClusterParameterGroup" + ], "type": "string" }, - "Username": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaLive::Input.InputVpcRequest": { + "AWS::Neptune::DBInstance": { "additionalProperties": false, "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "SubnetIds": { - "items": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowMajorVersionUpgrade": { + "type": "boolean" + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AvailabilityZone": { + "type": "string" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBInstanceClass": { + "type": "string" + }, + "DBInstanceIdentifier": { + "type": "string" + }, + "DBParameterGroupName": { + "type": "string" + }, + "DBSnapshotIdentifier": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::MediaLive::Input.MediaConnectFlowRequest": { - "additionalProperties": false, - "properties": { - "FlowArn": { + "required": [ + "DBInstanceClass" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBInstance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaLive::InputSecurityGroup": { + "AWS::Neptune::DBParameterGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43485,40 +50559,54 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Tags": { + "Description": { + "type": "string" + }, + "Family": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Parameters": { "type": "object" }, - "WhitelistRules": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::MediaLive::InputSecurityGroup.InputWhitelistRuleCidr" + "$ref": "#/definitions/Tag" }, "type": "array" } }, + "required": [ + "Description", + "Family", + "Parameters" + ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaLive::InputSecurityGroup" + "AWS::Neptune::DBParameterGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::MediaLive::InputSecurityGroup.InputWhitelistRuleCidr": { - "additionalProperties": false, - "properties": { - "Cidr": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaStore::Container": { + "AWS::Neptune::DBSubnetGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43550,33 +50638,42 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AccessLoggingEnabled": { - "type": "boolean" + "DBSubnetGroupDescription": { + "type": "string" }, - "ContainerName": { + "DBSubnetGroupName": { "type": "string" }, - "CorsPolicy": { + "SubnetIds": { "items": { - "$ref": "#/definitions/AWS::MediaStore::Container.CorsRule" + "type": "string" }, "type": "array" }, - "LifecyclePolicy": { - "type": "string" - }, - "Policy": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "ContainerName" + "DBSubnetGroupDescription", + "SubnetIds" ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaStore::Container" + "AWS::Neptune::DBSubnetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -43587,40 +50684,80 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::MediaStore::Container.CorsRule": { + "AWS::NetworkManager::CustomerGatewayAssociation": { "additionalProperties": false, "properties": { - "AllowedHeaders": { - "items": { - "type": "string" - }, - "type": "array" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "AllowedMethods": { - "items": { - "type": "string" - }, - "type": "array" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "AllowedOrigins": { - "items": { - "type": "string" - }, - "type": "array" + "Metadata": { + "type": "object" }, - "ExposeHeaders": { - "items": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "CustomerGatewayArn": { + "type": "string" + }, + "DeviceId": { + "type": "string" + }, + "GlobalNetworkId": { + "type": "string" + }, + "LinkId": { + "type": "string" + } }, - "type": "array" + "required": [ + "CustomerGatewayArn", + "DeviceId", + "GlobalNetworkId" + ], + "type": "object" }, - "MaxAgeSeconds": { - "type": "number" + "Type": { + "enum": [ + "AWS::NetworkManager::CustomerGatewayAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::Neptune::DBCluster": { + "AWS::NetworkManager::Device": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43652,66 +50789,116 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BackupRetentionPeriod": { - "type": "number" + "Description": { + "type": "string" }, - "DBClusterIdentifier": { + "GlobalNetworkId": { "type": "string" }, - "DBClusterParameterGroupName": { + "Location": { + "$ref": "#/definitions/AWS::NetworkManager::Device.Location" + }, + "Model": { "type": "string" }, - "DBSubnetGroupName": { + "SerialNumber": { "type": "string" }, - "DeletionProtection": { - "type": "boolean" + "SiteId": { + "type": "string" }, - "EnableCloudwatchLogsExports": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" }, - "EngineVersion": { - "type": "string" - }, - "IamAuthEnabled": { - "type": "boolean" - }, - "KmsKeyId": { + "Type": { "type": "string" }, - "Port": { - "type": "number" - }, - "PreferredBackupWindow": { + "Vendor": { "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "SnapshotIdentifier": { + } + }, + "required": [ + "GlobalNetworkId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::Device" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkManager::Device.Location": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Latitude": { + "type": "string" + }, + "Longitude": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::NetworkManager::GlobalNetwork": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, - "StorageEncrypted": { - "type": "boolean" - }, - "Tags": { + { "items": { - "$ref": "#/definitions/Tag" + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" }, "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" }, - "VpcSecurityGroupIds": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" } @@ -43720,7 +50907,15 @@ var SamSchema = `{ }, "Type": { "enum": [ - "AWS::Neptune::DBCluster" + "AWS::NetworkManager::GlobalNetwork" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -43730,7 +50925,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Neptune::DBClusterParameterGroup": { + "AWS::NetworkManager::Link": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43762,35 +50957,49 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "Bandwidth": { + "$ref": "#/definitions/AWS::NetworkManager::Link.Bandwidth" + }, "Description": { "type": "string" }, - "Family": { + "GlobalNetworkId": { "type": "string" }, - "Name": { + "Provider": { "type": "string" }, - "Parameters": { - "type": "object" + "SiteId": { + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "Type": { + "type": "string" } }, "required": [ - "Description", - "Family", - "Parameters" + "Bandwidth", + "GlobalNetworkId", + "SiteId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Neptune::DBClusterParameterGroup" + "AWS::NetworkManager::Link" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -43801,7 +51010,19 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Neptune::DBInstance": { + "AWS::NetworkManager::Link.Bandwidth": { + "additionalProperties": false, + "properties": { + "DownloadSpeed": { + "type": "number" + }, + "UploadSpeed": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::NetworkManager::LinkAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43833,51 +51054,34 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AllowMajorVersionUpgrade": { - "type": "boolean" - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZone": { - "type": "string" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBInstanceClass": { - "type": "string" - }, - "DBInstanceIdentifier": { - "type": "string" - }, - "DBParameterGroupName": { - "type": "string" - }, - "DBSnapshotIdentifier": { + "DeviceId": { "type": "string" }, - "DBSubnetGroupName": { + "GlobalNetworkId": { "type": "string" }, - "PreferredMaintenanceWindow": { + "LinkId": { "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, "required": [ - "DBInstanceClass" + "DeviceId", + "GlobalNetworkId", + "LinkId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Neptune::DBInstance" + "AWS::NetworkManager::LinkAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -43888,7 +51092,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Neptune::DBParameterGroup": { + "AWS::NetworkManager::Site": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43923,14 +51127,11 @@ var SamSchema = `{ "Description": { "type": "string" }, - "Family": { + "GlobalNetworkId": { "type": "string" }, - "Name": { - "type": "string" - }, - "Parameters": { - "type": "object" + "Location": { + "$ref": "#/definitions/AWS::NetworkManager::Site.Location" }, "Tags": { "items": { @@ -43940,15 +51141,21 @@ var SamSchema = `{ } }, "required": [ - "Description", - "Family", - "Parameters" + "GlobalNetworkId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Neptune::DBParameterGroup" + "AWS::NetworkManager::Site" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -43959,7 +51166,22 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Neptune::DBSubnetGroup": { + "AWS::NetworkManager::Site.Location": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Latitude": { + "type": "string" + }, + "Longitude": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::NetworkManager::TransitGatewayRegistration": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43991,34 +51213,30 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DBSubnetGroupDescription": { + "GlobalNetworkId": { "type": "string" }, - "DBSubnetGroupName": { + "TransitGatewayArn": { "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, "required": [ - "DBSubnetGroupDescription", - "SubnetIds" + "GlobalNetworkId", + "TransitGatewayArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Neptune::DBSubnetGroup" + "AWS::NetworkManager::TransitGatewayRegistration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -44125,6 +51343,14 @@ var SamSchema = `{ "AWS::OpsWorks::App" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -44256,6 +51482,14 @@ var SamSchema = `{ "AWS::OpsWorks::ElasticLoadBalancerAttachment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -44384,6 +51618,14 @@ var SamSchema = `{ "AWS::OpsWorks::Instance" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -44624,6 +51866,14 @@ var SamSchema = `{ "AWS::OpsWorks::Layer" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -44893,6 +52143,14 @@ var SamSchema = `{ "AWS::OpsWorks::Stack" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -45039,6 +52297,14 @@ var SamSchema = `{ "AWS::OpsWorks::UserProfile" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -45103,6 +52369,14 @@ var SamSchema = `{ "AWS::OpsWorks::Volume" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -45231,6 +52505,14 @@ var SamSchema = `{ "AWS::OpsWorksCM::Server" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -45308,6 +52590,14 @@ var SamSchema = `{ "AWS::Pinpoint::ADMChannel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -45386,6 +52676,14 @@ var SamSchema = `{ "AWS::Pinpoint::APNSChannel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -45426,257 +52724,289 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ApplicationId": { - "type": "string" - }, - "BundleId": { - "type": "string" - }, - "Certificate": { - "type": "string" - }, - "DefaultAuthenticationMethod": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "PrivateKey": { - "type": "string" - }, - "TeamId": { - "type": "string" - }, - "TokenKey": { + "ApplicationId": { + "type": "string" + }, + "BundleId": { + "type": "string" + }, + "Certificate": { + "type": "string" + }, + "DefaultAuthenticationMethod": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "PrivateKey": { + "type": "string" + }, + "TeamId": { + "type": "string" + }, + "TokenKey": { + "type": "string" + }, + "TokenKeyId": { + "type": "string" + } + }, + "required": [ + "ApplicationId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::APNSSandboxChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::APNSVoipChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "BundleId": { + "type": "string" + }, + "Certificate": { + "type": "string" + }, + "DefaultAuthenticationMethod": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "PrivateKey": { + "type": "string" + }, + "TeamId": { + "type": "string" + }, + "TokenKey": { + "type": "string" + }, + "TokenKeyId": { + "type": "string" + } + }, + "required": [ + "ApplicationId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::APNSVoipChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::APNSVoipSandboxChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "BundleId": { + "type": "string" + }, + "Certificate": { + "type": "string" + }, + "DefaultAuthenticationMethod": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "PrivateKey": { + "type": "string" + }, + "TeamId": { + "type": "string" + }, + "TokenKey": { + "type": "string" + }, + "TokenKeyId": { + "type": "string" + } + }, + "required": [ + "ApplicationId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::APNSVoipSandboxChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::App": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { "type": "string" }, - "TokenKeyId": { - "type": "string" + "Tags": { + "type": "object" } }, "required": [ - "ApplicationId" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::APNSSandboxChannel" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::APNSVoipChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" + "AWS::Pinpoint::App" ], "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "BundleId": { - "type": "string" - }, - "Certificate": { - "type": "string" - }, - "DefaultAuthenticationMethod": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "PrivateKey": { - "type": "string" - }, - "TeamId": { - "type": "string" - }, - "TokenKey": { - "type": "string" - }, - "TokenKeyId": { - "type": "string" - } - }, - "required": [ - "ApplicationId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::APNSVoipChannel" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::APNSVoipSandboxChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { + "UpdateReplacePolicy": { "enum": [ "Delete", "Retain", "Snapshot" ], "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "BundleId": { - "type": "string" - }, - "Certificate": { - "type": "string" - }, - "DefaultAuthenticationMethod": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "PrivateKey": { - "type": "string" - }, - "TeamId": { - "type": "string" - }, - "TokenKey": { - "type": "string" - }, - "TokenKeyId": { - "type": "string" - } - }, - "required": [ - "ApplicationId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::APNSVoipSandboxChannel" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::App": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::App" - ], - "type": "string" } }, "required": [ @@ -45743,6 +53073,14 @@ var SamSchema = `{ "AWS::Pinpoint::ApplicationSettings" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -45857,6 +53195,14 @@ var SamSchema = `{ "AWS::Pinpoint::BaiduChannel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -45960,6 +53306,14 @@ var SamSchema = `{ "AWS::Pinpoint::Campaign" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -46299,6 +53653,14 @@ var SamSchema = `{ "AWS::Pinpoint::EmailChannel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -46372,6 +53734,14 @@ var SamSchema = `{ "AWS::Pinpoint::EmailTemplate" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -46434,6 +53804,14 @@ var SamSchema = `{ "AWS::Pinpoint::EventStream" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -46495,6 +53873,14 @@ var SamSchema = `{ "AWS::Pinpoint::GCMChannel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -46573,6 +53959,14 @@ var SamSchema = `{ "AWS::Pinpoint::PushTemplate" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -46711,6 +54105,14 @@ var SamSchema = `{ "AWS::Pinpoint::SMSChannel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -46778,6 +54180,14 @@ var SamSchema = `{ "AWS::Pinpoint::Segment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -47046,6 +54456,14 @@ var SamSchema = `{ "AWS::Pinpoint::SmsTemplate" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -47103,6 +54521,14 @@ var SamSchema = `{ "AWS::Pinpoint::VoiceChannel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -47175,6 +54601,14 @@ var SamSchema = `{ "AWS::PinpointEmail::ConfigurationSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -47284,6 +54718,14 @@ var SamSchema = `{ "AWS::PinpointEmail::ConfigurationSetEventDestination" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -47440,6 +54882,14 @@ var SamSchema = `{ "AWS::PinpointEmail::DedicatedIpPool" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -47520,6 +54970,14 @@ var SamSchema = `{ "AWS::PinpointEmail::Identity" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -47610,6 +55068,14 @@ var SamSchema = `{ "AWS::QLDB::Ledger" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -47685,6 +55151,14 @@ var SamSchema = `{ "AWS::RAM::ResourceShare" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -47844,6 +55318,14 @@ var SamSchema = `{ "AWS::RDS::DBCluster" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -47945,6 +55427,14 @@ var SamSchema = `{ "AWS::RDS::DBClusterParameterGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -48114,46 +55604,256 @@ var SamSchema = `{ "PreferredBackupWindow": { "type": "string" }, - "PreferredMaintenanceWindow": { + "PreferredMaintenanceWindow": { + "type": "string" + }, + "ProcessorFeatures": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBInstance.ProcessorFeature" + }, + "type": "array" + }, + "PromotionTier": { + "type": "number" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "SourceDBInstanceIdentifier": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Timezone": { + "type": "string" + }, + "UseDefaultProcessorFeatures": { + "type": "boolean" + }, + "VPCSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "DBInstanceClass" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBInstance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBInstance.DBInstanceRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "FeatureName", + "RoleArn" + ], + "type": "object" + }, + "AWS::RDS::DBInstance.ProcessorFeature": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RDS::DBParameterGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Family": { + "type": "string" + }, + "Parameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description", + "Family" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBParameterGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBProxy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, - "ProcessorFeatures": { + { "items": { - "$ref": "#/definitions/AWS::RDS::DBInstance.ProcessorFeature" + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Auth": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBProxy.AuthFormat" }, "type": "array" }, - "PromotionTier": { - "type": "number" + "DBProxyName": { + "type": "string" }, - "PubliclyAccessible": { + "DebugLogging": { "type": "boolean" }, - "SourceDBInstanceIdentifier": { + "EngineFamily": { "type": "string" }, - "SourceRegion": { - "type": "string" + "IdleClientTimeout": { + "type": "number" }, - "StorageEncrypted": { + "RequireTLS": { "type": "boolean" }, - "StorageType": { + "RoleArn": { "type": "string" }, "Tags": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::RDS::DBProxy.TagFormat" }, "type": "array" }, - "Timezone": { - "type": "string" - }, - "UseDefaultProcessorFeatures": { - "type": "boolean" + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" }, - "VPCSecurityGroups": { + "VpcSubnetIds": { "items": { "type": "string" }, @@ -48161,13 +55861,25 @@ var SamSchema = `{ } }, "required": [ - "DBInstanceClass" + "Auth", + "DBProxyName", + "EngineFamily", + "RoleArn", + "VpcSubnetIds" ], "type": "object" }, "Type": { "enum": [ - "AWS::RDS::DBInstance" + "AWS::RDS::DBProxy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -48178,26 +55890,31 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::RDS::DBInstance.DBInstanceRole": { + "AWS::RDS::DBProxy.AuthFormat": { "additionalProperties": false, "properties": { - "FeatureName": { + "AuthScheme": { "type": "string" }, - "RoleArn": { + "Description": { + "type": "string" + }, + "IAMAuth": { + "type": "string" + }, + "SecretArn": { + "type": "string" + }, + "UserName": { "type": "string" } }, - "required": [ - "FeatureName", - "RoleArn" - ], "type": "object" }, - "AWS::RDS::DBInstance.ProcessorFeature": { + "AWS::RDS::DBProxy.TagFormat": { "additionalProperties": false, "properties": { - "Name": { + "Key": { "type": "string" }, "Value": { @@ -48206,7 +55923,7 @@ var SamSchema = `{ }, "type": "object" }, - "AWS::RDS::DBParameterGroup": { + "AWS::RDS::DBProxyTargetGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -48238,37 +55955,41 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "Family": { - "type": "string" + "ConnectionPoolConfigurationInfo": { + "$ref": "#/definitions/AWS::RDS::DBProxyTargetGroup.ConnectionPoolConfigurationInfoFormat" }, - "Parameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "DBClusterIdentifiers": { + "items": { + "type": "string" }, - "type": "object" + "type": "array" }, - "Tags": { + "DBInstanceIdentifiers": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, "type": "array" + }, + "DBProxyName": { + "type": "string" } }, "required": [ - "Description", - "Family" + "DBProxyName" ], "type": "object" }, "Type": { "enum": [ - "AWS::RDS::DBParameterGroup" + "AWS::RDS::DBProxyTargetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -48279,6 +56000,30 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::RDS::DBProxyTargetGroup.ConnectionPoolConfigurationInfoFormat": { + "additionalProperties": false, + "properties": { + "ConnectionBorrowTimeout": { + "type": "number" + }, + "InitQuery": { + "type": "string" + }, + "MaxConnectionsPercent": { + "type": "number" + }, + "MaxIdleConnectionsPercent": { + "type": "number" + }, + "SessionPinningFilters": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::RDS::DBSecurityGroup": { "additionalProperties": false, "properties": { @@ -48341,6 +56086,14 @@ var SamSchema = `{ "AWS::RDS::DBSecurityGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -48425,6 +56178,14 @@ var SamSchema = `{ "AWS::RDS::DBSecurityGroupIngress" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -48495,6 +56256,14 @@ var SamSchema = `{ "AWS::RDS::DBSubnetGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -48567,6 +56336,14 @@ var SamSchema = `{ "AWS::RDS::EventSubscription" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -48642,6 +56419,14 @@ var SamSchema = `{ "AWS::RDS::OptionGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -48844,6 +56629,14 @@ var SamSchema = `{ "AWS::Redshift::Cluster" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -48902,14 +56695,319 @@ var SamSchema = `{ "Description": { "type": "string" }, - "ParameterGroupFamily": { + "ParameterGroupFamily": { + "type": "string" + }, + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::Redshift::ClusterParameterGroup.Parameter" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description", + "ParameterGroupFamily" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Redshift::ClusterParameterGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Redshift::ClusterParameterGroup.Parameter": { + "additionalProperties": false, + "properties": { + "ParameterName": { + "type": "string" + }, + "ParameterValue": { + "type": "string" + } + }, + "required": [ + "ParameterName", + "ParameterValue" + ], + "type": "object" + }, + "AWS::Redshift::ClusterSecurityGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Redshift::ClusterSecurityGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Redshift::ClusterSecurityGroupIngress": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CIDRIP": { + "type": "string" + }, + "ClusterSecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupOwnerId": { + "type": "string" + } + }, + "required": [ + "ClusterSecurityGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Redshift::ClusterSecurityGroupIngress" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Redshift::ClusterSubnetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description", + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Redshift::ClusterSubnetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ResourceGroups::Group": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { "type": "string" }, - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::Redshift::ClusterParameterGroup.Parameter" - }, - "type": "array" + "ResourceQuery": { + "$ref": "#/definitions/AWS::ResourceGroups::Group.ResourceQuery" }, "Tags": { "items": { @@ -48919,92 +57017,23 @@ var SamSchema = `{ } }, "required": [ - "Description", - "ParameterGroupFamily" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Redshift::ClusterParameterGroup" + "AWS::ResourceGroups::Group" ], "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Redshift::ClusterParameterGroup.Parameter": { - "additionalProperties": false, - "properties": { - "ParameterName": { - "type": "string" }, - "ParameterValue": { - "type": "string" - } - }, - "required": [ - "ParameterName", - "ParameterValue" - ], - "type": "object" - }, - "AWS::Redshift::ClusterSecurityGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { + "UpdateReplacePolicy": { "enum": [ "Delete", "Retain", "Snapshot" ], "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Description" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::ClusterSecurityGroup" - ], - "type": "string" } }, "required": [ @@ -49013,134 +57042,52 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Redshift::ClusterSecurityGroupIngress": { + "AWS::ResourceGroups::Group.Query": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "ResourceTypeFilters": { + "items": { + "type": "string" + }, + "type": "array" }, - "Metadata": { - "type": "object" + "StackIdentifier": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "CIDRIP": { - "type": "string" - }, - "ClusterSecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupOwnerId": { - "type": "string" - } + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::ResourceGroups::Group.TagFilter" }, - "required": [ - "ClusterSecurityGroupName" - ], - "type": "object" + "type": "array" + } + }, + "type": "object" + }, + "AWS::ResourceGroups::Group.ResourceQuery": { + "additionalProperties": false, + "properties": { + "Query": { + "$ref": "#/definitions/AWS::ResourceGroups::Group.Query" }, "Type": { - "enum": [ - "AWS::Redshift::ClusterSecurityGroupIngress" - ], "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::Redshift::ClusterSubnetGroup": { + "AWS::ResourceGroups::Group.TagFilter": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Key": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } + "Values": { + "items": { + "type": "string" }, - "required": [ - "Description", - "SubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::ClusterSubnetGroup" - ], - "type": "string" + "type": "array" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, "AWS::RoboMaker::Fleet": { @@ -49189,6 +57136,14 @@ var SamSchema = `{ "AWS::RoboMaker::Fleet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -49255,6 +57210,14 @@ var SamSchema = `{ "AWS::RoboMaker::Robot" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -49325,6 +57288,14 @@ var SamSchema = `{ "AWS::RoboMaker::RobotApplication" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -49418,6 +57389,14 @@ var SamSchema = `{ "AWS::RoboMaker::RobotApplicationVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -49496,6 +57475,14 @@ var SamSchema = `{ "AWS::RoboMaker::SimulationApplication" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -49621,6 +57608,14 @@ var SamSchema = `{ "AWS::RoboMaker::SimulationApplicationVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -49681,6 +57676,14 @@ var SamSchema = `{ "AWS::Route53::HealthCheck" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -49848,6 +57851,14 @@ var SamSchema = `{ "AWS::Route53::HostedZone" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -50001,6 +58012,14 @@ var SamSchema = `{ "AWS::Route53::RecordSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -50098,6 +58117,14 @@ var SamSchema = `{ "AWS::Route53::RecordSetGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -50266,6 +58293,14 @@ var SamSchema = `{ "AWS::Route53Resolver::ResolverEndpoint" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -50357,6 +58392,14 @@ var SamSchema = `{ "AWS::Route53Resolver::ResolverRule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -50433,6 +58476,14 @@ var SamSchema = `{ "AWS::Route53Resolver::ResolverRuleAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -50508,6 +58559,14 @@ var SamSchema = `{ "AWS::S3::AccessPoint" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -50649,6 +58708,14 @@ var SamSchema = `{ "AWS::S3::Bucket" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -50818,6 +58885,15 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::S3::Bucket.DeleteMarkerReplication": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "type": "object" + }, "AWS::S3::Bucket.Destination": { "additionalProperties": false, "properties": { @@ -50951,6 +59027,22 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::S3::Bucket.Metrics": { + "additionalProperties": false, + "properties": { + "EventThreshold": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTimeValue" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "EventThreshold", + "Status" + ], + "type": "object" + }, "AWS::S3::Bucket.MetricsConfiguration": { "additionalProperties": false, "properties": { @@ -51152,6 +59244,12 @@ var SamSchema = `{ "EncryptionConfiguration": { "$ref": "#/definitions/AWS::S3::Bucket.EncryptionConfiguration" }, + "Metrics": { + "$ref": "#/definitions/AWS::S3::Bucket.Metrics" + }, + "ReplicationTime": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTime" + }, "StorageClass": { "type": "string" } @@ -51164,15 +59262,24 @@ var SamSchema = `{ "AWS::S3::Bucket.ReplicationRule": { "additionalProperties": false, "properties": { + "DeleteMarkerReplication": { + "$ref": "#/definitions/AWS::S3::Bucket.DeleteMarkerReplication" + }, "Destination": { "$ref": "#/definitions/AWS::S3::Bucket.ReplicationDestination" }, + "Filter": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRuleFilter" + }, "Id": { "type": "string" }, "Prefix": { "type": "string" }, + "Priority": { + "type": "number" + }, "SourceSelectionCriteria": { "$ref": "#/definitions/AWS::S3::Bucket.SourceSelectionCriteria" }, @@ -51182,11 +59289,68 @@ var SamSchema = `{ }, "required": [ "Destination", - "Prefix", "Status" ], "type": "object" }, + "AWS::S3::Bucket.ReplicationRuleAndOperator": { + "additionalProperties": false, + "properties": { + "Prefix": { + "type": "string" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.ReplicationRuleFilter": { + "additionalProperties": false, + "properties": { + "And": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRuleAndOperator" + }, + "Prefix": { + "type": "string" + }, + "TagFilter": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.ReplicationTime": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + }, + "Time": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTimeValue" + } + }, + "required": [ + "Status", + "Time" + ], + "type": "object" + }, + "AWS::S3::Bucket.ReplicationTimeValue": { + "additionalProperties": false, + "properties": { + "Minutes": { + "type": "number" + } + }, + "required": [ + "Minutes" + ], + "type": "object" + }, "AWS::S3::Bucket.RoutingRule": { "additionalProperties": false, "properties": { @@ -51476,6 +59640,14 @@ var SamSchema = `{ "AWS::S3::BucketPolicy" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -51527,6 +59699,14 @@ var SamSchema = `{ "AWS::SDB::Domain" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -51577,6 +59757,14 @@ var SamSchema = `{ "AWS::SES::ConfigurationSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -51634,6 +59822,14 @@ var SamSchema = `{ "AWS::SES::ConfigurationSetEventDestination" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -51763,6 +59959,14 @@ var SamSchema = `{ "AWS::SES::ReceiptFilter" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -51855,6 +60059,14 @@ var SamSchema = `{ "AWS::SES::ReceiptRule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -52086,6 +60298,14 @@ var SamSchema = `{ "AWS::SES::ReceiptRuleSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -52136,6 +60356,14 @@ var SamSchema = `{ "AWS::SES::Template" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -52229,6 +60457,14 @@ var SamSchema = `{ "AWS::SNS::Subscription" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -52269,9 +60505,15 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "ContentBasedDeduplication": { + "type": "boolean" + }, "DisplayName": { "type": "string" }, + "FifoTopic": { + "type": "boolean" + }, "KmsMasterKeyId": { "type": "string" }, @@ -52298,6 +60540,14 @@ var SamSchema = `{ "AWS::SNS::Topic" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -52374,6 +60624,14 @@ var SamSchema = `{ "AWS::SNS::TopicPolicy" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -52461,6 +60719,14 @@ var SamSchema = `{ "AWS::SQS::Queue" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -52521,6 +60787,14 @@ var SamSchema = `{ "AWS::SQS::QueuePolicy" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -52564,12 +60838,24 @@ var SamSchema = `{ "AssociationName": { "type": "string" }, + "AutomationTargetParameterName": { + "type": "string" + }, + "ComplianceSeverity": { + "type": "string" + }, "DocumentVersion": { "type": "string" }, "InstanceId": { "type": "string" }, + "MaxConcurrency": { + "type": "string" + }, + "MaxErrors": { + "type": "string" + }, "Name": { "type": "string" }, @@ -52577,10 +60863,10 @@ var SamSchema = `{ "$ref": "#/definitions/AWS::SSM::Association.InstanceAssociationOutputLocation" }, "Parameters": { - "additionalProperties": false, + "additionalProperties": true, "patternProperties": { "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::SSM::Association.ParameterValues" + "type": "object" } }, "type": "object" @@ -52588,11 +60874,17 @@ var SamSchema = `{ "ScheduleExpression": { "type": "string" }, + "SyncCompliance": { + "type": "string" + }, "Targets": { "items": { "$ref": "#/definitions/AWS::SSM::Association.Target" }, "type": "array" + }, + "WaitForSuccessTimeoutSeconds": { + "type": "number" } }, "required": [ @@ -52605,6 +60897,14 @@ var SamSchema = `{ "AWS::SSM::Association" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -52622,21 +60922,6 @@ var SamSchema = `{ }, "type": "object" }, - "AWS::SSM::Association.ParameterValues": { - "additionalProperties": false, - "properties": { - "ParameterValues": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ParameterValues" - ], - "type": "object" - }, "AWS::SSM::Association.S3OutputLocation": { "additionalProperties": false, "properties": { @@ -52645,6 +60930,9 @@ var SamSchema = `{ }, "OutputS3KeyPrefix": { "type": "string" + }, + "OutputS3Region": { + "type": "string" } }, "type": "object" @@ -52726,6 +61014,14 @@ var SamSchema = `{ "AWS::SSM::Document" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -52814,6 +61110,14 @@ var SamSchema = `{ "AWS::SSM::MaintenanceWindow" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -52888,6 +61192,14 @@ var SamSchema = `{ "AWS::SSM::MaintenanceWindowTarget" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -53005,6 +61317,14 @@ var SamSchema = `{ "AWS::SSM::MaintenanceWindowTask" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -53196,6 +61516,9 @@ var SamSchema = `{ "AllowedPattern": { "type": "string" }, + "DataType": { + "type": "string" + }, "Description": { "type": "string" }, @@ -53229,6 +61552,14 @@ var SamSchema = `{ "AWS::SSM::Parameter" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -53334,6 +61665,14 @@ var SamSchema = `{ "AWS::SSM::PatchBaseline" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -53387,12 +61726,20 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::SSM::PatchBaseline.PatchStringDate": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::SSM::PatchBaseline.Rule": { "additionalProperties": false, "properties": { "ApproveAfterDays": { "type": "number" }, + "ApproveUntilDate": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchStringDate" + }, "ComplianceLevel": { "type": "string" }, @@ -53487,6 +61834,14 @@ var SamSchema = `{ "AWS::SSM::ResourceDataSync" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -53613,6 +61968,14 @@ var SamSchema = `{ "AWS::SageMaker::CodeRepository" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -53703,6 +62066,14 @@ var SamSchema = `{ "AWS::SageMaker::Endpoint" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -53781,6 +62152,14 @@ var SamSchema = `{ "AWS::SageMaker::EndpointConfig" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -53887,6 +62266,14 @@ var SamSchema = `{ "AWS::SageMaker::Model" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -54039,6 +62426,14 @@ var SamSchema = `{ "AWS::SageMaker::NotebookInstance" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -54102,6 +62497,14 @@ var SamSchema = `{ "AWS::SageMaker::NotebookInstanceLifecycleConfig" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -54179,6 +62582,14 @@ var SamSchema = `{ "AWS::SageMaker::Workteam" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -54280,6 +62691,14 @@ var SamSchema = `{ "AWS::SecretsManager::ResourcePolicy" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -54340,6 +62759,14 @@ var SamSchema = `{ "AWS::SecretsManager::RotationSchedule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -54418,6 +62845,14 @@ var SamSchema = `{ "AWS::SecretsManager::Secret" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -54515,6 +62950,14 @@ var SamSchema = `{ "AWS::SecretsManager::SecretTargetAttachment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -54566,6 +63009,14 @@ var SamSchema = `{ "AWS::SecurityHub::Hub" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -54688,6 +63139,14 @@ var SamSchema = `{ "AWS::Serverless::Api" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -54846,6 +63305,14 @@ var SamSchema = `{ "AWS::Serverless::Application" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -55029,6 +63496,14 @@ var SamSchema = `{ "AWS::Serverless::Function" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -55772,6 +64247,14 @@ var SamSchema = `{ "AWS::Serverless::LayerVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -55840,6 +64323,14 @@ var SamSchema = `{ "AWS::Serverless::SimpleTable" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -55935,6 +64426,14 @@ var SamSchema = `{ "AWS::ServiceCatalog::AcceptedPortfolioShare" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -55996,6 +64495,9 @@ var SamSchema = `{ }, "type": "array" }, + "ReplaceProvisioningArtifacts": { + "type": "boolean" + }, "SupportDescription": { "type": "string" }, @@ -56024,6 +64526,14 @@ var SamSchema = `{ "AWS::ServiceCatalog::CloudFormationProduct" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -56135,6 +64645,14 @@ var SamSchema = `{ "AWS::ServiceCatalog::CloudFormationProvisionedProduct" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -56250,6 +64768,14 @@ var SamSchema = `{ "AWS::ServiceCatalog::LaunchNotificationConstraint" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -56296,6 +64822,9 @@ var SamSchema = `{ "Description": { "type": "string" }, + "LocalRoleName": { + "type": "string" + }, "PortfolioId": { "type": "string" }, @@ -56308,8 +64837,7 @@ var SamSchema = `{ }, "required": [ "PortfolioId", - "ProductId", - "RoleArn" + "ProductId" ], "type": "object" }, @@ -56318,6 +64846,14 @@ var SamSchema = `{ "AWS::ServiceCatalog::LaunchRoleConstraint" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -56386,6 +64922,14 @@ var SamSchema = `{ "AWS::ServiceCatalog::LaunchTemplateConstraint" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -56456,6 +65000,14 @@ var SamSchema = `{ "AWS::ServiceCatalog::Portfolio" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -56521,6 +65073,14 @@ var SamSchema = `{ "AWS::ServiceCatalog::PortfolioPrincipalAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -56585,6 +65145,14 @@ var SamSchema = `{ "AWS::ServiceCatalog::PortfolioProductAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -56646,6 +65214,14 @@ var SamSchema = `{ "AWS::ServiceCatalog::PortfolioShare" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -56714,6 +65290,14 @@ var SamSchema = `{ "AWS::ServiceCatalog::ResourceUpdateConstraint" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -56805,6 +65389,14 @@ var SamSchema = `{ "AWS::ServiceCatalog::StackSetConstraint" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -56866,6 +65458,14 @@ var SamSchema = `{ "AWS::ServiceCatalog::TagOption" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -56924,6 +65524,14 @@ var SamSchema = `{ "AWS::ServiceCatalog::TagOptionAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -56969,6 +65577,12 @@ var SamSchema = `{ }, "Name": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -56981,6 +65595,14 @@ var SamSchema = `{ "AWS::ServiceDiscovery::HttpNamespace" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -57042,6 +65664,14 @@ var SamSchema = `{ "AWS::ServiceDiscovery::Instance" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -57088,6 +65718,12 @@ var SamSchema = `{ "Name": { "type": "string" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "Vpc": { "type": "string" } @@ -57103,6 +65739,14 @@ var SamSchema = `{ "AWS::ServiceDiscovery::PrivateDnsNamespace" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -57148,6 +65792,12 @@ var SamSchema = `{ }, "Name": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -57160,6 +65810,14 @@ var SamSchema = `{ "AWS::ServiceDiscovery::PublicDnsNamespace" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -57217,6 +65875,12 @@ var SamSchema = `{ }, "NamespaceId": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "type": "object" @@ -57226,6 +65890,14 @@ var SamSchema = `{ "AWS::ServiceDiscovery::Service" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -57349,6 +66021,14 @@ var SamSchema = `{ "AWS::StepFunctions::Activity" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -57405,9 +66085,15 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "DefinitionS3Location": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachine.S3Location" + }, "DefinitionString": { "type": "string" }, + "DefinitionSubstitutions": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachine.DefinitionSubstitutions" + }, "LoggingConfiguration": { "$ref": "#/definitions/AWS::StepFunctions::StateMachine.LoggingConfiguration" }, @@ -57428,7 +66114,6 @@ var SamSchema = `{ } }, "required": [ - "DefinitionString", "RoleArn" ], "type": "object" @@ -57438,6 +66123,14 @@ var SamSchema = `{ "AWS::StepFunctions::StateMachine" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -57458,6 +66151,11 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::StepFunctions::StateMachine.DefinitionSubstitutions": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::StepFunctions::StateMachine.LogDestination": { "additionalProperties": false, "properties": { @@ -57485,6 +66183,25 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::StepFunctions::StateMachine.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, "AWS::StepFunctions::StateMachine.TagsEntry": { "additionalProperties": false, "properties": { @@ -57501,6 +66218,185 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::Synthetics::Canary": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ArtifactS3Location": { + "type": "string" + }, + "Code": { + "$ref": "#/definitions/AWS::Synthetics::Canary.Code" + }, + "ExecutionRoleArn": { + "type": "string" + }, + "FailureRetentionPeriod": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "RunConfig": { + "$ref": "#/definitions/AWS::Synthetics::Canary.RunConfig" + }, + "RuntimeVersion": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::Synthetics::Canary.Schedule" + }, + "StartCanaryAfterCreation": { + "type": "boolean" + }, + "SuccessRetentionPeriod": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VPCConfig": { + "$ref": "#/definitions/AWS::Synthetics::Canary.VPCConfig" + } + }, + "required": [ + "ArtifactS3Location", + "Code", + "ExecutionRoleArn", + "Name", + "RunConfig", + "RuntimeVersion", + "Schedule", + "StartCanaryAfterCreation" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Synthetics::Canary" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Synthetics::Canary.Code": { + "additionalProperties": false, + "properties": { + "Handler": { + "type": "string" + }, + "S3Bucket": { + "type": "string" + }, + "S3Key": { + "type": "string" + }, + "S3ObjectVersion": { + "type": "string" + }, + "Script": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Synthetics::Canary.RunConfig": { + "additionalProperties": false, + "properties": { + "TimeoutInSeconds": { + "type": "number" + } + }, + "required": [ + "TimeoutInSeconds" + ], + "type": "object" + }, + "AWS::Synthetics::Canary.Schedule": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "string" + }, + "Expression": { + "type": "string" + } + }, + "required": [ + "DurationInSeconds", + "Expression" + ], + "type": "object" + }, + "AWS::Synthetics::Canary.VPCConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "SecurityGroupIds", + "SubnetIds" + ], + "type": "object" + }, "AWS::Transfer::Server": { "additionalProperties": false, "properties": { @@ -57533,6 +66429,9 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "Certificate": { + "type": "string" + }, "EndpointDetails": { "$ref": "#/definitions/AWS::Transfer::Server.EndpointDetails" }, @@ -57548,6 +66447,12 @@ var SamSchema = `{ "LoggingRole": { "type": "string" }, + "Protocols": { + "items": { + "$ref": "#/definitions/AWS::Transfer::Server.Protocol" + }, + "type": "array" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -57562,6 +66467,14 @@ var SamSchema = `{ "AWS::Transfer::Server" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -57609,6 +66522,11 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::Transfer::Server.Protocol": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::Transfer::User": { "additionalProperties": false, "properties": { @@ -57690,6 +66608,14 @@ var SamSchema = `{ "AWS::Transfer::User" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -57771,6 +66697,14 @@ var SamSchema = `{ "AWS::WAF::ByteMatchSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -57872,6 +66806,14 @@ var SamSchema = `{ "AWS::WAF::IPSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -57952,6 +66894,14 @@ var SamSchema = `{ "AWS::WAF::Rule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -58033,6 +66983,14 @@ var SamSchema = `{ "AWS::WAF::SizeConstraintSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -58132,6 +67090,14 @@ var SamSchema = `{ "AWS::WAF::SqlInjectionMatchSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -58231,6 +67197,14 @@ var SamSchema = `{ "AWS::WAF::WebACL" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -58323,6 +67297,14 @@ var SamSchema = `{ "AWS::WAF::XssMatchSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -58414,6 +67396,14 @@ var SamSchema = `{ "AWS::WAFRegional::ByteMatchSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -58515,6 +67505,14 @@ var SamSchema = `{ "AWS::WAFRegional::GeoMatchSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -58591,6 +67589,14 @@ var SamSchema = `{ "AWS::WAFRegional::IPSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -58679,6 +67685,14 @@ var SamSchema = `{ "AWS::WAFRegional::RateBasedRule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -58760,6 +67774,14 @@ var SamSchema = `{ "AWS::WAFRegional::RegexPatternSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -58824,6 +67846,14 @@ var SamSchema = `{ "AWS::WAFRegional::Rule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -58904,6 +67934,14 @@ var SamSchema = `{ "AWS::WAFRegional::SizeConstraintSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -59003,6 +68041,14 @@ var SamSchema = `{ "AWS::WAFRegional::SqlInjectionMatchSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -59102,6 +68148,14 @@ var SamSchema = `{ "AWS::WAFRegional::WebACL" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -59192,6 +68246,14 @@ var SamSchema = `{ "AWS::WAFRegional::WebACLAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -59252,6 +68314,14 @@ var SamSchema = `{ "AWS::WAFRegional::XssMatchSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -59360,6 +68430,14 @@ var SamSchema = `{ "AWS::WAFv2::IPSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -59433,6 +68511,14 @@ var SamSchema = `{ "AWS::WAFv2::RegexPatternSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -59513,6 +68599,14 @@ var SamSchema = `{ "AWS::WAFv2::RuleGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -59576,7 +68670,6 @@ var SamSchema = `{ "required": [ "FieldToMatch", "PositionalConstraint", - "SearchString", "TextTransformations" ], "type": "object" @@ -60067,6 +69160,14 @@ var SamSchema = `{ "AWS::WAFv2::WebACL" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -60130,7 +69231,6 @@ var SamSchema = `{ "required": [ "FieldToMatch", "PositionalConstraint", - "SearchString", "TextTransformations" ], "type": "object" @@ -60696,6 +69796,14 @@ var SamSchema = `{ "AWS::WAFv2::WebACLAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -60776,6 +69884,14 @@ var SamSchema = `{ "AWS::WorkSpaces::Workspace" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -60859,6 +69975,14 @@ var SamSchema = `{ "Alexa::ASK::Skill" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -61225,6 +70349,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::AppConfig::Environment" }, + { + "$ref": "#/definitions/AWS::AppConfig::HostedConfigurationVersion" + }, { "$ref": "#/definitions/AWS::AppMesh::Mesh" }, @@ -61291,6 +70418,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::Athena::NamedQuery" }, + { + "$ref": "#/definitions/AWS::Athena::WorkGroup" + }, { "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup" }, @@ -61330,9 +70460,21 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::Budgets::Budget" }, + { + "$ref": "#/definitions/AWS::CE::CostCategory" + }, + { + "$ref": "#/definitions/AWS::Cassandra::Keyspace" + }, + { + "$ref": "#/definitions/AWS::Cassandra::Table" + }, { "$ref": "#/definitions/AWS::CertificateManager::Certificate" }, + { + "$ref": "#/definitions/AWS::Chatbot::SlackChannelConfiguration" + }, { "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2" }, @@ -61369,6 +70511,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector" }, + { + "$ref": "#/definitions/AWS::CloudWatch::CompositeAlarm" + }, { "$ref": "#/definitions/AWS::CloudWatch::Dashboard" }, @@ -61396,6 +70541,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup" }, + { + "$ref": "#/definitions/AWS::CodeGuruProfiler::ProfilingGroup" + }, { "$ref": "#/definitions/AWS::CodePipeline::CustomActionType" }, @@ -61408,6 +70556,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::CodeStar::GitHubRepository" }, + { + "$ref": "#/definitions/AWS::CodeStarConnections::Connection" + }, { "$ref": "#/definitions/AWS::CodeStarNotifications::NotificationRule" }, @@ -61507,6 +70658,12 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::DataPipeline::Pipeline" }, + { + "$ref": "#/definitions/AWS::Detective::Graph" + }, + { + "$ref": "#/definitions/AWS::Detective::MemberInvitation" + }, { "$ref": "#/definitions/AWS::DirectoryService::MicrosoftAD" }, @@ -61714,6 +70871,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::ECR::Repository" }, + { + "$ref": "#/definitions/AWS::ECS::CapacityProvider" + }, { "$ref": "#/definitions/AWS::ECS::Cluster" }, @@ -61729,6 +70889,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::ECS::TaskSet" }, + { + "$ref": "#/definitions/AWS::EFS::AccessPoint" + }, { "$ref": "#/definitions/AWS::EFS::FileSystem" }, @@ -61813,6 +70976,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::EventSchemas::Registry" }, + { + "$ref": "#/definitions/AWS::EventSchemas::RegistryPolicy" + }, { "$ref": "#/definitions/AWS::EventSchemas::Schema" }, @@ -61855,6 +71021,15 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::GameLift::Script" }, + { + "$ref": "#/definitions/AWS::GlobalAccelerator::Accelerator" + }, + { + "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup" + }, + { + "$ref": "#/definitions/AWS::GlobalAccelerator::Listener" + }, { "$ref": "#/definitions/AWS::Glue::Classifier" }, @@ -61987,6 +71162,24 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::IAM::UserToGroupAddition" }, + { + "$ref": "#/definitions/AWS::ImageBuilder::Component" + }, + { + "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration" + }, + { + "$ref": "#/definitions/AWS::ImageBuilder::Image" + }, + { + "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline" + }, + { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe" + }, + { + "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration" + }, { "$ref": "#/definitions/AWS::Inspector::AssessmentTarget" }, @@ -62014,6 +71207,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::IoT::PolicyPrincipalAttachment" }, + { + "$ref": "#/definitions/AWS::IoT::ProvisioningTemplate" + }, { "$ref": "#/definitions/AWS::IoT::Thing" }, @@ -62131,6 +71327,15 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::MSK::Cluster" }, + { + "$ref": "#/definitions/AWS::Macie::CustomDataIdentifier" + }, + { + "$ref": "#/definitions/AWS::Macie::FindingsFilter" + }, + { + "$ref": "#/definitions/AWS::Macie::Session" + }, { "$ref": "#/definitions/AWS::ManagedBlockchain::Member" }, @@ -62173,6 +71378,27 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::Neptune::DBSubnetGroup" }, + { + "$ref": "#/definitions/AWS::NetworkManager::CustomerGatewayAssociation" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::Device" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::GlobalNetwork" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::Link" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::LinkAssociation" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::Site" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::TransitGatewayRegistration" + }, { "$ref": "#/definitions/AWS::OpsWorks::App" }, @@ -62281,6 +71507,12 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::RDS::DBParameterGroup" }, + { + "$ref": "#/definitions/AWS::RDS::DBProxy" + }, + { + "$ref": "#/definitions/AWS::RDS::DBProxyTargetGroup" + }, { "$ref": "#/definitions/AWS::RDS::DBSecurityGroup" }, @@ -62311,6 +71543,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::Redshift::ClusterSubnetGroup" }, + { + "$ref": "#/definitions/AWS::ResourceGroups::Group" + }, { "$ref": "#/definitions/AWS::RoboMaker::Fleet" }, @@ -62533,6 +71768,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::StepFunctions::StateMachine" }, + { + "$ref": "#/definitions/AWS::Synthetics::Canary" + }, { "$ref": "#/definitions/AWS::Transfer::Server" }, diff --git a/schema/sam.schema.json b/schema/sam.schema.json index a7193e3b7e..7e5321d2ff 100644 --- a/schema/sam.schema.json +++ b/schema/sam.schema.json @@ -63,6 +63,14 @@ "AWS::ACMPCA::Certificate" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -154,6 +162,14 @@ "AWS::ACMPCA::CertificateAuthority" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -293,6 +309,14 @@ "AWS::ACMPCA::CertificateAuthorityActivation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -362,6 +386,14 @@ "AWS::AccessAnalyzer::Analyzer" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -532,6 +564,14 @@ "AWS::AmazonMQ::Broker" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -711,6 +751,14 @@ "AWS::AmazonMQ::Configuration" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -785,6 +833,14 @@ "AWS::AmazonMQ::ConfigurationAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -897,6 +953,14 @@ "AWS::Amplify::App" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -1080,6 +1144,14 @@ "AWS::Amplify::Branch" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -1180,6 +1252,14 @@ "AWS::Amplify::Domain" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -1247,6 +1327,14 @@ "AWS::ApiGateway::Account" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -1324,6 +1412,14 @@ "AWS::ApiGateway::ApiKey" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -1420,6 +1516,14 @@ "AWS::ApiGateway::Authorizer" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -1483,6 +1587,14 @@ "AWS::ApiGateway::BasePathMapping" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -1540,6 +1652,14 @@ "AWS::ApiGateway::ClientCertificate" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -1605,6 +1725,14 @@ "AWS::ApiGateway::Deployment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -1832,6 +1960,14 @@ "AWS::ApiGateway::DocumentationPart" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -1914,6 +2050,14 @@ "AWS::ApiGateway::DocumentationVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -1986,6 +2130,14 @@ "AWS::ApiGateway::DomainName" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -2077,6 +2229,14 @@ "AWS::ApiGateway::GatewayResponse" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -2187,6 +2347,14 @@ "AWS::ApiGateway::Method" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -2385,6 +2553,14 @@ "AWS::ApiGateway::Model" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -2448,6 +2624,14 @@ "AWS::ApiGateway::RequestValidator" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -2510,6 +2694,14 @@ "AWS::ApiGateway::Resource" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -2609,6 +2801,14 @@ "AWS::ApiGateway::RestApi" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -2749,6 +2949,14 @@ "AWS::ApiGateway::Stage" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -2893,6 +3101,14 @@ "AWS::ApiGateway::UsagePlan" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -3002,6 +3218,14 @@ "AWS::ApiGateway::UsagePlanKey" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -3066,6 +3290,14 @@ "AWS::ApiGateway::VpcLink" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -3162,6 +3394,14 @@ "AWS::ApiGatewayV2::Api" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -3280,6 +3520,14 @@ "AWS::ApiGatewayV2::ApiMapping" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -3364,6 +3612,14 @@ "AWS::ApiGatewayV2::Authorizer" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -3439,6 +3695,14 @@ "AWS::ApiGatewayV2::Deployment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -3502,6 +3766,14 @@ "AWS::ApiGatewayV2::DomainName" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -3560,6 +3832,9 @@ "ApiId": { "type": "string" }, + "ConnectionId": { + "type": "string" + }, "ConnectionType": { "type": "string" }, @@ -3598,6 +3873,9 @@ }, "TimeoutInMillis": { "type": "number" + }, + "TlsConfig": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Integration.TlsConfig" } }, "required": [ @@ -3611,6 +3889,14 @@ "AWS::ApiGatewayV2::Integration" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -3619,6 +3905,15 @@ ], "type": "object" }, + "AWS::ApiGatewayV2::Integration.TlsConfig": { + "additionalProperties": false, + "properties": { + "ServerNameToVerify": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ApiGatewayV2::IntegrationResponse": { "additionalProperties": false, "properties": { @@ -3685,6 +3980,14 @@ "AWS::ApiGatewayV2::IntegrationResponse" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -3753,6 +4056,14 @@ "AWS::ApiGatewayV2::Model" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -3844,6 +4155,14 @@ "AWS::ApiGatewayV2::Route" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -3927,6 +4246,14 @@ "AWS::ApiGatewayV2::RouteResponse" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -4024,6 +4351,14 @@ "AWS::ApiGatewayV2::Stage" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -4120,6 +4455,14 @@ "AWS::AppConfig::Application" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -4212,6 +4555,14 @@ "AWS::AppConfig::ConfigurationProfile" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -4315,6 +4666,14 @@ "AWS::AppConfig::Deployment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -4408,6 +4767,14 @@ "AWS::AppConfig::DeploymentStrategy" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -4493,6 +4860,14 @@ "AWS::AppConfig::Environment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -4525,6 +4900,86 @@ }, "type": "object" }, + "AWS::AppConfig::HostedConfigurationVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "ConfigurationProfileId": { + "type": "string" + }, + "Content": { + "type": "string" + }, + "ContentType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "LatestVersionNumber": { + "type": "number" + } + }, + "required": [ + "ApplicationId", + "ConfigurationProfileId", + "Content", + "ContentType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppConfig::HostedConfigurationVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::AppMesh::Mesh": { "additionalProperties": false, "properties": { @@ -4580,6 +5035,14 @@ "AWS::AppMesh::Mesh" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -4644,6 +5107,9 @@ "MeshName": { "type": "string" }, + "MeshOwner": { + "type": "string" + }, "RouteName": { "type": "string" }, @@ -4673,6 +5139,14 @@ "AWS::AppMesh::Route" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -5062,6 +5536,9 @@ "MeshName": { "type": "string" }, + "MeshOwner": { + "type": "string" + }, "Spec": { "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeSpec" }, @@ -5087,6 +5564,14 @@ "AWS::AppMesh::VirtualNode" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -5151,6 +5636,45 @@ }, "type": "object" }, + "AWS::AppMesh::VirtualNode.BackendDefaults": { + "additionalProperties": false, + "properties": { + "ClientPolicy": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicy" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ClientPolicy": { + "additionalProperties": false, + "properties": { + "TLS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicyTls" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ClientPolicyTls": { + "additionalProperties": false, + "properties": { + "Enforce": { + "type": "boolean" + }, + "Ports": { + "items": { + "type": "number" + }, + "type": "array" + }, + "Validation": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContext" + } + }, + "required": [ + "Validation" + ], + "type": "object" + }, "AWS::AppMesh::VirtualNode.DnsServiceDiscovery": { "additionalProperties": false, "properties": { @@ -5217,6 +5741,9 @@ }, "PortMapping": { "$ref": "#/definitions/AWS::AppMesh::VirtualNode.PortMapping" + }, + "TLS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTls" } }, "required": [ @@ -5224,6 +5751,62 @@ ], "type": "object" }, + "AWS::AppMesh::VirtualNode.ListenerTls": { + "additionalProperties": false, + "properties": { + "Certificate": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsCertificate" + }, + "Mode": { + "type": "string" + } + }, + "required": [ + "Certificate", + "Mode" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTlsAcmCertificate": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTlsCertificate": { + "additionalProperties": false, + "properties": { + "ACM": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsAcmCertificate" + }, + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsFileCertificate" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTlsFileCertificate": { + "additionalProperties": false, + "properties": { + "CertificateChain": { + "type": "string" + }, + "PrivateKey": { + "type": "string" + } + }, + "required": [ + "CertificateChain", + "PrivateKey" + ], + "type": "object" + }, "AWS::AppMesh::VirtualNode.Logging": { "additionalProperties": false, "properties": { @@ -5261,9 +5844,63 @@ }, "type": "object" }, + "AWS::AppMesh::VirtualNode.TlsValidationContext": { + "additionalProperties": false, + "properties": { + "Trust": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextTrust" + } + }, + "required": [ + "Trust" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.TlsValidationContextAcmTrust": { + "additionalProperties": false, + "properties": { + "CertificateAuthorityArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "CertificateAuthorityArns" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.TlsValidationContextFileTrust": { + "additionalProperties": false, + "properties": { + "CertificateChain": { + "type": "string" + } + }, + "required": [ + "CertificateChain" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.TlsValidationContextTrust": { + "additionalProperties": false, + "properties": { + "ACM": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextAcmTrust" + }, + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextFileTrust" + } + }, + "type": "object" + }, "AWS::AppMesh::VirtualNode.VirtualNodeSpec": { "additionalProperties": false, "properties": { + "BackendDefaults": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.BackendDefaults" + }, "Backends": { "items": { "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Backend" @@ -5288,6 +5925,9 @@ "AWS::AppMesh::VirtualNode.VirtualServiceBackend": { "additionalProperties": false, "properties": { + "ClientPolicy": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicy" + }, "VirtualServiceName": { "type": "string" } @@ -5332,6 +5972,9 @@ "MeshName": { "type": "string" }, + "MeshOwner": { + "type": "string" + }, "Spec": { "$ref": "#/definitions/AWS::AppMesh::VirtualRouter.VirtualRouterSpec" }, @@ -5357,6 +6000,14 @@ "AWS::AppMesh::VirtualRouter" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -5443,6 +6094,9 @@ "MeshName": { "type": "string" }, + "MeshOwner": { + "type": "string" + }, "Spec": { "$ref": "#/definitions/AWS::AppMesh::VirtualService.VirtualServiceSpec" }, @@ -5468,6 +6122,14 @@ "AWS::AppMesh::VirtualService" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -5578,6 +6240,14 @@ "AWS::AppStream::DirectoryConfig" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -5695,6 +6365,14 @@ "AWS::AppStream::Fleet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -5831,6 +6509,14 @@ "AWS::AppStream::ImageBuilder" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -5982,6 +6668,14 @@ "AWS::AppStream::Stack" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -6107,6 +6801,14 @@ "AWS::AppStream::StackFleetAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -6172,6 +6874,14 @@ "AWS::AppStream::StackUserAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -6239,6 +6949,14 @@ "AWS::AppStream::User" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -6311,6 +7029,14 @@ "AWS::AppSync::ApiCache" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -6371,6 +7097,14 @@ "AWS::AppSync::ApiKey" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -6454,6 +7188,14 @@ "AWS::AppSync::DataSource" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -6691,6 +7433,14 @@ "AWS::AppSync::FunctionConfiguration" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -6767,6 +7517,14 @@ "AWS::AppSync::GraphQLApi" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -6921,6 +7679,14 @@ "AWS::AppSync::GraphQLSchema" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -7010,6 +7776,14 @@ "AWS::AppSync::Resolver" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -7147,6 +7921,14 @@ "AWS::ApplicationAutoScaling::ScalableTarget" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -7275,6 +8057,14 @@ "AWS::ApplicationAutoScaling::ScalingPolicy" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -7468,6 +8258,14 @@ "AWS::Athena::NamedQuery" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -7476,6 +8274,188 @@ ], "type": "object" }, + "AWS::Athena::WorkGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RecursiveDeleteOption": { + "type": "boolean" + }, + "State": { + "type": "string" + }, + "Tags": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.Tags" + }, + "WorkGroupConfiguration": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.WorkGroupConfiguration" + }, + "WorkGroupConfigurationUpdates": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.WorkGroupConfigurationUpdates" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Athena::WorkGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Athena::WorkGroup.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "EncryptionOption": { + "type": "string" + }, + "KmsKey": { + "type": "string" + } + }, + "required": [ + "EncryptionOption" + ], + "type": "object" + }, + "AWS::Athena::WorkGroup.ResultConfiguration": { + "additionalProperties": false, + "properties": { + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.EncryptionConfiguration" + }, + "OutputLocation": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Athena::WorkGroup.ResultConfigurationUpdates": { + "additionalProperties": false, + "properties": { + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.EncryptionConfiguration" + }, + "OutputLocation": { + "type": "string" + }, + "RemoveEncryptionConfiguration": { + "type": "boolean" + }, + "RemoveOutputLocation": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Athena::WorkGroup.Tags": { + "additionalProperties": false, + "properties": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Athena::WorkGroup.WorkGroupConfiguration": { + "additionalProperties": false, + "properties": { + "BytesScannedCutoffPerQuery": { + "type": "number" + }, + "EnforceWorkGroupConfiguration": { + "type": "boolean" + }, + "PublishCloudWatchMetricsEnabled": { + "type": "boolean" + }, + "RequesterPaysEnabled": { + "type": "boolean" + }, + "ResultConfiguration": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.ResultConfiguration" + } + }, + "type": "object" + }, + "AWS::Athena::WorkGroup.WorkGroupConfigurationUpdates": { + "additionalProperties": false, + "properties": { + "BytesScannedCutoffPerQuery": { + "type": "number" + }, + "EnforceWorkGroupConfiguration": { + "type": "boolean" + }, + "PublishCloudWatchMetricsEnabled": { + "type": "boolean" + }, + "RemoveBytesScannedCutoffPerQuery": { + "type": "boolean" + }, + "RequesterPaysEnabled": { + "type": "boolean" + }, + "ResultConfigurationUpdates": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.ResultConfigurationUpdates" + } + }, + "type": "object" + }, "AWS::AutoScaling::AutoScalingGroup": { "additionalProperties": false, "properties": { @@ -7553,6 +8533,9 @@ }, "type": "array" }, + "MaxInstanceLifetime": { + "type": "number" + }, "MaxSize": { "type": "string" }, @@ -7619,6 +8602,14 @@ }, "UpdatePolicy": { "type": "object" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -7908,6 +8899,14 @@ "AWS::AutoScaling::LaunchConfiguration" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -8029,6 +9028,14 @@ "AWS::AutoScaling::LifecycleHook" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -8113,6 +9120,14 @@ "AWS::AutoScaling::ScalingPolicy" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -8284,6 +9299,14 @@ "AWS::AutoScaling::ScheduledAction" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -8345,6 +9368,14 @@ "AWS::AutoScalingPlans::ScalingPlan" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -8628,6 +9659,14 @@ "AWS::Backup::BackupPlan" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -8769,6 +9808,14 @@ "AWS::Backup::BackupSelection" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -8883,6 +9930,14 @@ "AWS::Backup::BackupVault" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -8969,6 +10024,14 @@ "AWS::Batch::ComputeEnvironment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -9127,6 +10190,14 @@ "AWS::Batch::JobDefinition" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -9203,9 +10274,7 @@ } }, "required": [ - "Image", - "Memory", - "Vcpus" + "Image" ], "type": "object" }, @@ -9434,6 +10503,14 @@ "AWS::Batch::JobQueue" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -9510,6 +10587,14 @@ "AWS::Budgets::Budget" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -9677,7 +10762,7 @@ }, "type": "object" }, - "AWS::CertificateManager::Certificate": { + "AWS::CE::CostCategory": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -9709,39 +10794,34 @@ "Properties": { "additionalProperties": false, "properties": { - "DomainName": { + "Name": { "type": "string" }, - "DomainValidationOptions": { - "items": { - "$ref": "#/definitions/AWS::CertificateManager::Certificate.DomainValidationOption" - }, - "type": "array" - }, - "SubjectAlternativeNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "RuleVersion": { + "type": "string" }, - "ValidationMethod": { + "Rules": { "type": "string" } }, "required": [ - "DomainName" + "Name", + "RuleVersion", + "Rules" ], "type": "object" }, "Type": { "enum": [ - "AWS::CertificateManager::Certificate" + "AWS::CE::CostCategory" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -9752,23 +10832,65 @@ ], "type": "object" }, - "AWS::CertificateManager::Certificate.DomainValidationOption": { + "AWS::Cassandra::Keyspace": { "additionalProperties": false, "properties": { - "DomainName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ValidationDomain": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "KeyspaceName": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cassandra::Keyspace" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "DomainName", - "ValidationDomain" + "Type" ], "type": "object" }, - "AWS::Cloud9::EnvironmentEC2": { + "AWS::Cassandra::Table": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -9800,45 +10922,51 @@ "Properties": { "additionalProperties": false, "properties": { - "AutomaticStopTimeMinutes": { - "type": "number" - }, - "Description": { - "type": "string" - }, - "InstanceType": { - "type": "string" + "BillingMode": { + "$ref": "#/definitions/AWS::Cassandra::Table.BillingMode" }, - "Name": { - "type": "string" + "ClusteringKeyColumns": { + "items": { + "$ref": "#/definitions/AWS::Cassandra::Table.ClusteringKeyColumn" + }, + "type": "array" }, - "OwnerArn": { + "KeyspaceName": { "type": "string" }, - "Repositories": { + "PartitionKeyColumns": { "items": { - "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2.Repository" + "$ref": "#/definitions/AWS::Cassandra::Table.Column" }, "type": "array" }, - "SubnetId": { - "type": "string" - }, - "Tags": { + "RegularColumns": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::Cassandra::Table.Column" }, "type": "array" + }, + "TableName": { + "type": "string" } }, "required": [ - "InstanceType" + "KeyspaceName", + "PartitionKeyColumns" ], "type": "object" }, "Type": { "enum": [ - "AWS::Cloud9::EnvironmentEC2" + "AWS::Cassandra::Table" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -9849,23 +10977,367 @@ ], "type": "object" }, - "AWS::Cloud9::EnvironmentEC2.Repository": { + "AWS::Cassandra::Table.BillingMode": { "additionalProperties": false, "properties": { - "PathComponent": { + "Mode": { "type": "string" }, - "RepositoryUrl": { + "ProvisionedThroughput": { + "$ref": "#/definitions/AWS::Cassandra::Table.ProvisionedThroughput" + } + }, + "required": [ + "Mode" + ], + "type": "object" + }, + "AWS::Cassandra::Table.ClusteringKeyColumn": { + "additionalProperties": false, + "properties": { + "Column": { + "$ref": "#/definitions/AWS::Cassandra::Table.Column" + }, + "OrderBy": { "type": "string" } }, "required": [ - "PathComponent", - "RepositoryUrl" + "Column" ], "type": "object" }, - "AWS::CloudFormation::CustomResource": { + "AWS::Cassandra::Table.Column": { + "additionalProperties": false, + "properties": { + "ColumnName": { + "type": "string" + }, + "ColumnType": { + "type": "string" + } + }, + "required": [ + "ColumnName", + "ColumnType" + ], + "type": "object" + }, + "AWS::Cassandra::Table.ProvisionedThroughput": { + "additionalProperties": false, + "properties": { + "ReadCapacityUnits": { + "type": "number" + }, + "WriteCapacityUnits": { + "type": "number" + } + }, + "required": [ + "ReadCapacityUnits", + "WriteCapacityUnits" + ], + "type": "object" + }, + "AWS::CertificateManager::Certificate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CertificateAuthorityArn": { + "type": "string" + }, + "CertificateTransparencyLoggingPreference": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "DomainValidationOptions": { + "items": { + "$ref": "#/definitions/AWS::CertificateManager::Certificate.DomainValidationOption" + }, + "type": "array" + }, + "SubjectAlternativeNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ValidationMethod": { + "type": "string" + } + }, + "required": [ + "DomainName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CertificateManager::Certificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CertificateManager::Certificate.DomainValidationOption": { + "additionalProperties": false, + "properties": { + "DomainName": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "ValidationDomain": { + "type": "string" + } + }, + "required": [ + "DomainName" + ], + "type": "object" + }, + "AWS::Chatbot::SlackChannelConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConfigurationName": { + "type": "string" + }, + "IamRoleArn": { + "type": "string" + }, + "LoggingLevel": { + "type": "string" + }, + "SlackChannelId": { + "type": "string" + }, + "SlackWorkspaceId": { + "type": "string" + }, + "SnsTopicArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ConfigurationName", + "IamRoleArn", + "SlackChannelId", + "SlackWorkspaceId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Chatbot::SlackChannelConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cloud9::EnvironmentEC2": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutomaticStopTimeMinutes": { + "type": "number" + }, + "ConnectionType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "OwnerArn": { + "type": "string" + }, + "Repositories": { + "items": { + "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2.Repository" + }, + "type": "array" + }, + "SubnetId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "InstanceType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cloud9::EnvironmentEC2" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cloud9::EnvironmentEC2.Repository": { + "additionalProperties": false, + "properties": { + "PathComponent": { + "type": "string" + }, + "RepositoryUrl": { + "type": "string" + } + }, + "required": [ + "PathComponent", + "RepositoryUrl" + ], + "type": "object" + }, + "AWS::CloudFormation::CustomResource": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -9911,6 +11383,14 @@ "AWS::CloudFormation::CustomResource" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -9978,6 +11458,14 @@ "AWS::CloudFormation::Macro" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -10056,6 +11544,14 @@ "AWS::CloudFormation::Stack" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -10116,6 +11612,14 @@ "AWS::CloudFormation::WaitCondition" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -10162,6 +11666,14 @@ "AWS::CloudFormation::WaitConditionHandle" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -10215,6 +11727,14 @@ "AWS::CloudFront::CloudFrontOriginAccessIdentity" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -10287,6 +11807,14 @@ "AWS::CloudFront::Distribution" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -10534,6 +12062,9 @@ "Logging": { "$ref": "#/definitions/AWS::CloudFront::Distribution.Logging" }, + "OriginGroups": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroups" + }, "Origins": { "items": { "$ref": "#/definitions/AWS::CloudFront::Distribution.Origin" @@ -10609,6 +12140,9 @@ "EventType": { "type": "string" }, + "IncludeBody": { + "type": "boolean" + }, "LambdaFunctionARN": { "type": "string" } @@ -10636,6 +12170,12 @@ "AWS::CloudFront::Distribution.Origin": { "additionalProperties": false, "properties": { + "ConnectionAttempts": { + "type": "number" + }, + "ConnectionTimeout": { + "type": "number" + }, "CustomOriginConfig": { "$ref": "#/definitions/AWS::CloudFront::Distribution.CustomOriginConfig" }, @@ -10680,6 +12220,87 @@ ], "type": "object" }, + "AWS::CloudFront::Distribution.OriginGroup": { + "additionalProperties": false, + "properties": { + "FailoverCriteria": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupFailoverCriteria" + }, + "Id": { + "type": "string" + }, + "Members": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupMembers" + } + }, + "required": [ + "FailoverCriteria", + "Id", + "Members" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginGroupFailoverCriteria": { + "additionalProperties": false, + "properties": { + "StatusCodes": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.StatusCodes" + } + }, + "required": [ + "StatusCodes" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginGroupMember": { + "additionalProperties": false, + "properties": { + "OriginId": { + "type": "string" + } + }, + "required": [ + "OriginId" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginGroupMembers": { + "additionalProperties": false, + "properties": { + "Items": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupMember" + }, + "type": "array" + }, + "Quantity": { + "type": "number" + } + }, + "required": [ + "Items", + "Quantity" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginGroups": { + "additionalProperties": false, + "properties": { + "Items": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroup" + }, + "type": "array" + }, + "Quantity": { + "type": "number" + } + }, + "required": [ + "Quantity" + ], + "type": "object" + }, "AWS::CloudFront::Distribution.Restrictions": { "additionalProperties": false, "properties": { @@ -10701,6 +12322,25 @@ }, "type": "object" }, + "AWS::CloudFront::Distribution.StatusCodes": { + "additionalProperties": false, + "properties": { + "Items": { + "items": { + "type": "number" + }, + "type": "array" + }, + "Quantity": { + "type": "number" + } + }, + "required": [ + "Items", + "Quantity" + ], + "type": "object" + }, "AWS::CloudFront::Distribution.ViewerCertificate": { "additionalProperties": false, "properties": { @@ -10775,6 +12415,14 @@ "AWS::CloudFront::StreamingDistribution" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -10962,6 +12610,14 @@ "AWS::CloudTrail::Trail" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -11128,6 +12784,14 @@ "AWS::CloudWatch::Alarm" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -11185,6 +12849,9 @@ "MetricStat": { "$ref": "#/definitions/AWS::CloudWatch::Alarm.MetricStat" }, + "Period": { + "type": "number" + }, "ReturnData": { "type": "boolean" } @@ -11280,6 +12947,14 @@ "AWS::CloudWatch::AnomalyDetector" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -11335,6 +13010,96 @@ ], "type": "object" }, + "AWS::CloudWatch::CompositeAlarm": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ActionsEnabled": { + "type": "boolean" + }, + "AlarmActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AlarmDescription": { + "type": "string" + }, + "AlarmName": { + "type": "string" + }, + "AlarmRule": { + "type": "string" + }, + "InsufficientDataActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OKActions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "AlarmName", + "AlarmRule" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudWatch::CompositeAlarm" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::CloudWatch::Dashboard": { "additionalProperties": false, "properties": { @@ -11384,6 +13149,14 @@ "AWS::CloudWatch::Dashboard" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -11432,6 +13205,9 @@ }, "RuleState": { "type": "string" + }, + "Tags": { + "$ref": "#/definitions/AWS::CloudWatch::InsightRule.Tags" } }, "required": [ @@ -11446,6 +13222,14 @@ "AWS::CloudWatch::InsightRule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -11454,6 +13238,11 @@ ], "type": "object" }, + "AWS::CloudWatch::InsightRule.Tags": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::CodeBuild::Project": { "additionalProperties": false, "properties": { @@ -11575,6 +13364,14 @@ "AWS::CodeBuild::Project" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -11964,6 +13761,12 @@ "Name": { "type": "string" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "Type": { "type": "string" } @@ -11979,6 +13782,14 @@ "AWS::CodeBuild::ReportGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -12083,6 +13894,14 @@ "AWS::CodeBuild::SourceCredential" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -12155,6 +13974,14 @@ "AWS::CodeCommit::Repository" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -12272,6 +14099,14 @@ "AWS::CodeDeploy::Application" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -12325,6 +14160,14 @@ "AWS::CodeDeploy::DeploymentConfig" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -12449,6 +14292,14 @@ "AWS::CodeDeploy::DeploymentGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -12717,6 +14568,71 @@ }, "type": "object" }, + "AWS::CodeGuruProfiler::ProfilingGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AgentPermissions": { + "type": "object" + }, + "ProfilingGroupName": { + "type": "string" + } + }, + "required": [ + "ProfilingGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeGuruProfiler::ProfilingGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::CodePipeline::CustomActionType": { "additionalProperties": false, "properties": { @@ -12794,6 +14710,14 @@ "AWS::CodePipeline::CustomActionType" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -12949,6 +14873,14 @@ "AWS::CodePipeline::Pipeline" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -13231,6 +15163,14 @@ "AWS::CodePipeline::Webhook" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -13332,6 +15272,14 @@ "AWS::CodeStar::GitHubRepository" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -13371,6 +15319,78 @@ ], "type": "object" }, + "AWS::CodeStarConnections::Connection": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConnectionName": { + "type": "string" + }, + "ProviderType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ConnectionName", + "ProviderType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeStarConnections::Connection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::CodeStarNotifications::NotificationRule": { "additionalProperties": false, "properties": { @@ -13445,6 +15465,14 @@ "AWS::CodeStarNotifications::NotificationRule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -13550,6 +15578,14 @@ "AWS::Cognito::IdentityPool" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -13655,6 +15691,14 @@ "AWS::Cognito::IdentityPoolRoleAttachment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -13844,6 +15888,14 @@ "AWS::Cognito::UserPool" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -14227,6 +16279,14 @@ "AWS::Cognito::UserPoolClient" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -14306,6 +16366,14 @@ "AWS::Cognito::UserPoolDomain" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -14381,6 +16449,14 @@ "AWS::Cognito::UserPoolGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -14455,6 +16531,14 @@ "AWS::Cognito::UserPoolIdentityProvider" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -14523,6 +16607,14 @@ "AWS::Cognito::UserPoolResourceServer" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -14606,6 +16698,14 @@ "AWS::Cognito::UserPoolRiskConfigurationAttachment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -14806,6 +16906,14 @@ "AWS::Cognito::UserPoolUICustomizationAttachment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -14890,6 +16998,14 @@ "AWS::Cognito::UserPoolUser" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -14964,6 +17080,14 @@ "AWS::Cognito::UserPoolUserToGroupAttachment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -15028,6 +17152,14 @@ "AWS::Config::AggregationAuthorization" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -15097,6 +17229,14 @@ "AWS::Config::ConfigRule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -15228,6 +17368,14 @@ "AWS::Config::ConfigurationAggregator" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -15333,6 +17481,14 @@ "AWS::Config::ConfigurationRecorder" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -15424,6 +17580,14 @@ "AWS::Config::ConformancePack" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -15506,6 +17670,14 @@ "AWS::Config::DeliveryChannel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -15581,6 +17753,14 @@ "AWS::Config::OrganizationConfigRule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -15739,6 +17919,14 @@ "AWS::Config::OrganizationConformancePack" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -15838,6 +18026,14 @@ "AWS::Config::RemediationConfiguration" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -15990,6 +18186,14 @@ "AWS::DAX::Cluster" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -16056,6 +18260,14 @@ "AWS::DAX::ParameterGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -16118,6 +18330,14 @@ "AWS::DAX::SubnetGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -16178,6 +18398,14 @@ "AWS::DLM::LifecyclePolicy" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -16188,6 +18416,9 @@ "AWS::DLM::LifecyclePolicy.CreateRule": { "additionalProperties": false, "properties": { + "CronExpression": { + "type": "string" + }, "Interval": { "type": "number" }, @@ -16201,10 +18432,6 @@ "type": "array" } }, - "required": [ - "Interval", - "IntervalUnit" - ], "type": "object" }, "AWS::DLM::LifecyclePolicy.CrossRegionCopyRetainRule": { @@ -16217,6 +18444,10 @@ "type": "string" } }, + "required": [ + "Interval", + "IntervalUnit" + ], "type": "object" }, "AWS::DLM::LifecyclePolicy.CrossRegionCopyRule": { @@ -16238,6 +18469,10 @@ "type": "string" } }, + "required": [ + "Encrypted", + "TargetRegion" + ], "type": "object" }, "AWS::DLM::LifecyclePolicy.FastRestoreRule": { @@ -16408,6 +18643,14 @@ "AWS::DMS::Certificate" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -16471,6 +18714,9 @@ "ExtraConnectionAttributes": { "type": "string" }, + "KafkaSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.KafkaSettings" + }, "KinesisSettings": { "$ref": "#/definitions/AWS::DMS::Endpoint.KinesisSettings" }, @@ -16480,6 +18726,9 @@ "MongoDbSettings": { "$ref": "#/definitions/AWS::DMS::Endpoint.MongoDbSettings" }, + "NeptuneSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.NeptuneSettings" + }, "Password": { "type": "string" }, @@ -16516,6 +18765,14 @@ "AWS::DMS::Endpoint" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -16551,6 +18808,18 @@ }, "type": "object" }, + "AWS::DMS::Endpoint.KafkaSettings": { + "additionalProperties": false, + "properties": { + "Broker": { + "type": "string" + }, + "Topic": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DMS::Endpoint.KinesisSettings": { "additionalProperties": false, "properties": { @@ -16605,6 +18874,33 @@ }, "type": "object" }, + "AWS::DMS::Endpoint.NeptuneSettings": { + "additionalProperties": false, + "properties": { + "ErrorRetryDuration": { + "type": "number" + }, + "IamAuthEnabled": { + "type": "boolean" + }, + "MaxFileSize": { + "type": "number" + }, + "MaxRetryCount": { + "type": "number" + }, + "S3BucketFolder": { + "type": "string" + }, + "S3BucketName": { + "type": "string" + }, + "ServiceAccessRoleArn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DMS::Endpoint.S3Settings": { "additionalProperties": false, "properties": { @@ -16705,6 +19001,14 @@ "AWS::DMS::EventSubscription" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -16804,6 +19108,14 @@ "AWS::DMS::ReplicationInstance" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -16874,6 +19186,14 @@ "AWS::DMS::ReplicationSubnetGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -16949,6 +19269,9 @@ }, "TargetEndpointArn": { "type": "string" + }, + "TaskData": { + "type": "string" } }, "required": [ @@ -16965,6 +19288,14 @@ "AWS::DMS::ReplicationTask" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -17050,6 +19381,14 @@ "AWS::DataPipeline::Pipeline" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -17166,7 +19505,7 @@ ], "type": "object" }, - "AWS::DirectoryService::MicrosoftAD": { + "AWS::Detective::Graph": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -17197,69 +19536,204 @@ }, "Properties": { "additionalProperties": false, - "properties": { - "CreateAlias": { - "type": "boolean" - }, - "Edition": { + "properties": {}, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Detective::Graph" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Detective::MemberInvitation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, - "EnableSso": { - "type": "boolean" - }, - "Name": { + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GraphArn": { "type": "string" }, - "Password": { + "MemberEmailAddress": { "type": "string" }, - "ShortName": { + "MemberId": { "type": "string" }, - "VpcSettings": { - "$ref": "#/definitions/AWS::DirectoryService::MicrosoftAD.VpcSettings" + "Message": { + "type": "string" } }, "required": [ - "Name", - "Password", - "VpcSettings" + "GraphArn", + "MemberEmailAddress", + "MemberId" ], "type": "object" }, "Type": { "enum": [ - "AWS::DirectoryService::MicrosoftAD" + "AWS::Detective::MemberInvitation" ], "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DirectoryService::MicrosoftAD.VpcSettings": { - "additionalProperties": false, - "properties": { - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" }, - "VpcId": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "SubnetIds", - "VpcId" + "Type", + "Properties" ], "type": "object" }, - "AWS::DirectoryService::SimpleAD": { + "AWS::DirectoryService::MicrosoftAD": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CreateAlias": { + "type": "boolean" + }, + "Edition": { + "type": "string" + }, + "EnableSso": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Password": { + "type": "string" + }, + "ShortName": { + "type": "string" + }, + "VpcSettings": { + "$ref": "#/definitions/AWS::DirectoryService::MicrosoftAD.VpcSettings" + } + }, + "required": [ + "Name", + "Password", + "VpcSettings" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DirectoryService::MicrosoftAD" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DirectoryService::MicrosoftAD.VpcSettings": { + "additionalProperties": false, + "properties": { + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "SubnetIds", + "VpcId" + ], + "type": "object" + }, + "AWS::DirectoryService::SimpleAD": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -17329,6 +19803,14 @@ "AWS::DirectoryService::SimpleAD" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -17406,6 +19888,9 @@ "DBSubnetGroupName": { "type": "string" }, + "DeletionProtection": { + "type": "boolean" + }, "EnableCloudwatchLogsExports": { "items": { "type": "string" @@ -17463,6 +19948,14 @@ "AWS::DocDB::DBCluster" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -17534,6 +20027,14 @@ "AWS::DocDB::DBClusterParameterGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -17610,6 +20111,14 @@ "AWS::DocDB::DBInstance" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -17680,6 +20189,14 @@ "AWS::DocDB::DBSubnetGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -17782,6 +20299,14 @@ "AWS::DynamoDB::Table" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -18039,6 +20564,14 @@ "AWS::EC2::CapacityReservation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -18121,6 +20654,14 @@ "AWS::EC2::ClientVpnAuthorizationRule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -18182,6 +20723,12 @@ }, "type": "array" }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, "ServerCertificateArn": { "type": "string" }, @@ -18197,6 +20744,9 @@ "TransportProtocol": { "type": "string" }, + "VpcId": { + "type": "string" + }, "VpnPort": { "type": "number" } @@ -18214,6 +20764,14 @@ "AWS::EC2::ClientVpnEndpoint" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -18240,6 +20798,9 @@ "ActiveDirectory": { "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest" }, + "FederatedAuthentication": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest" + }, "MutualAuthentication": { "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest" }, @@ -18282,6 +20843,18 @@ ], "type": "object" }, + "AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest": { + "additionalProperties": false, + "properties": { + "SAMLProviderArn": { + "type": "string" + } + }, + "required": [ + "SAMLProviderArn" + ], + "type": "object" + }, "AWS::EC2::ClientVpnEndpoint.TagSpecification": { "additionalProperties": false, "properties": { @@ -18358,6 +20931,14 @@ "AWS::EC2::ClientVpnRoute" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -18416,74 +20997,14 @@ "AWS::EC2::ClientVpnTargetNetworkAssociation" ], "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::CustomerGateway": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { + }, + "UpdateReplacePolicy": { "enum": [ "Delete", "Retain", "Snapshot" ], "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BgpAsn": { - "type": "number" - }, - "IpAddress": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "BgpAsn", - "IpAddress", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::CustomerGateway" - ], - "type": "string" } }, "required": [ @@ -18492,7 +21013,83 @@ ], "type": "object" }, - "AWS::EC2::DHCPOptions": { + "AWS::EC2::CustomerGateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BgpAsn": { + "type": "number" + }, + "IpAddress": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "BgpAsn", + "IpAddress", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::CustomerGateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::DHCPOptions": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -18562,6 +21159,14 @@ "AWS::EC2::DHCPOptions" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -18652,6 +21257,14 @@ "AWS::EC2::EC2Fleet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -18660,6 +21273,15 @@ ], "type": "object" }, + "AWS::EC2::EC2Fleet.CapacityReservationOptionsRequest": { + "additionalProperties": false, + "properties": { + "UsageStrategy": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EC2::EC2Fleet.FleetLaunchTemplateConfigRequest": { "additionalProperties": false, "properties": { @@ -18687,6 +21309,9 @@ "MaxPrice": { "type": "string" }, + "Placement": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.Placement" + }, "Priority": { "type": "number" }, @@ -18719,33 +21344,78 @@ "properties": { "AllocationStrategy": { "type": "string" + }, + "CapacityReservationOptions": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.CapacityReservationOptionsRequest" + }, + "MaxTotalPrice": { + "type": "string" + }, + "MinTargetCapacity": { + "type": "number" + }, + "SingleAvailabilityZone": { + "type": "boolean" + }, + "SingleInstanceType": { + "type": "boolean" } }, "type": "object" }, - "AWS::EC2::EC2Fleet.SpotOptionsRequest": { + "AWS::EC2::EC2Fleet.Placement": { "additionalProperties": false, "properties": { - "AllocationStrategy": { + "Affinity": { "type": "string" }, - "InstanceInterruptionBehavior": { + "AvailabilityZone": { "type": "string" }, - "InstancePoolsToUseCount": { + "GroupName": { + "type": "string" + }, + "HostId": { + "type": "string" + }, + "HostResourceGroupArn": { + "type": "string" + }, + "PartitionNumber": { "type": "number" + }, + "SpreadDomain": { + "type": "string" + }, + "Tenancy": { + "type": "string" } }, "type": "object" }, - "AWS::EC2::EC2Fleet.TagRequest": { + "AWS::EC2::EC2Fleet.SpotOptionsRequest": { "additionalProperties": false, "properties": { - "Key": { + "AllocationStrategy": { "type": "string" }, - "Value": { + "InstanceInterruptionBehavior": { "type": "string" + }, + "InstancePoolsToUseCount": { + "type": "number" + }, + "MaxTotalPrice": { + "type": "string" + }, + "MinTargetCapacity": { + "type": "number" + }, + "SingleAvailabilityZone": { + "type": "boolean" + }, + "SingleInstanceType": { + "type": "boolean" } }, "type": "object" @@ -18758,7 +21428,7 @@ }, "Tags": { "items": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.TagRequest" + "$ref": "#/definitions/Tag" }, "type": "array" } @@ -18841,6 +21511,14 @@ "AWS::EC2::EIP" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -18903,6 +21581,14 @@ "AWS::EC2::EIPAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -18956,6 +21642,14 @@ "AWS::EC2::EgressOnlyInternetGateway" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -19030,6 +21724,14 @@ "AWS::EC2::FlowLog" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -19088,6 +21790,14 @@ "AWS::EC2::GatewayRouteTableAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -19152,6 +21862,14 @@ "AWS::EC2::Host" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -19347,6 +22065,14 @@ "AWS::EC2::Instance" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -19675,6 +22401,14 @@ "AWS::EC2::InternetGateway" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -19728,6 +22462,14 @@ "AWS::EC2::LaunchTemplate" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -19753,16 +22495,11 @@ }, "type": "object" }, - "AWS::EC2::LaunchTemplate.CapacityReservationPreference": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::EC2::LaunchTemplate.CapacityReservationSpecification": { "additionalProperties": false, "properties": { "CapacityReservationPreference": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationPreference" + "type": "string" }, "CapacityReservationTarget": { "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationTarget" @@ -20217,6 +22954,14 @@ "AWS::EC2::LocalGatewayRoute" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -20278,6 +23023,14 @@ "AWS::EC2::LocalGatewayRouteTableVPCAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -20354,6 +23107,14 @@ "AWS::EC2::NatGateway" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -20414,6 +23175,14 @@ "AWS::EC2::NetworkAcl" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -20495,6 +23264,14 @@ "AWS::EC2::NetworkAclEntry" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -20612,6 +23389,14 @@ "AWS::EC2::NetworkInterface" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -20705,6 +23490,14 @@ "AWS::EC2::NetworkInterfaceAttachment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -20767,6 +23560,14 @@ "AWS::EC2::NetworkInterfacePermission" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -20818,6 +23619,14 @@ "AWS::EC2::PlacementGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -20898,6 +23707,14 @@ "AWS::EC2::Route" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -20958,6 +23775,14 @@ "AWS::EC2::RouteTable" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -21036,6 +23861,14 @@ "AWS::EC2::SecurityGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -21187,6 +24020,14 @@ "AWS::EC2::SecurityGroupEgress" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -21274,6 +24115,14 @@ "AWS::EC2::SecurityGroupIngress" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -21328,6 +24177,14 @@ "AWS::EC2::SpotFleet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -21835,6 +24692,14 @@ "AWS::EC2::Subnet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -21893,6 +24758,14 @@ "AWS::EC2::SubnetCidrBlock" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -21951,6 +24824,14 @@ "AWS::EC2::SubnetNetworkAclAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22009,6 +24890,14 @@ "AWS::EC2::SubnetRouteTableAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22072,6 +24961,14 @@ "AWS::EC2::TrafficMirrorFilter" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22157,6 +25054,14 @@ "AWS::EC2::TrafficMirrorFilterRule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22254,6 +25159,14 @@ "AWS::EC2::TrafficMirrorSession" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22317,6 +25230,14 @@ "AWS::EC2::TrafficMirrorTarget" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22391,6 +25312,14 @@ "AWS::EC2::TransitGateway" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22461,6 +25390,14 @@ "AWS::EC2::TransitGatewayAttachment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22524,6 +25461,14 @@ "AWS::EC2::TransitGatewayRoute" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22584,6 +25529,14 @@ "AWS::EC2::TransitGatewayRouteTable" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22642,6 +25595,14 @@ "AWS::EC2::TransitGatewayRouteTableAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22700,6 +25661,14 @@ "AWS::EC2::TransitGatewayRouteTablePropagation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22769,6 +25738,14 @@ "AWS::EC2::VPC" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22829,6 +25806,14 @@ "AWS::EC2::VPCCidrBlock" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22887,6 +25872,14 @@ "AWS::EC2::VPCDHCPOptionsAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -22972,6 +25965,14 @@ "AWS::EC2::VPCEndpoint" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23039,6 +26040,14 @@ "AWS::EC2::VPCEndpointConnectionNotification" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23099,6 +26108,14 @@ "AWS::EC2::VPCEndpointService" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23159,6 +26176,14 @@ "AWS::EC2::VPCEndpointServicePermissions" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23219,6 +26244,14 @@ "AWS::EC2::VPCGatewayAttachment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23292,6 +26325,14 @@ "AWS::EC2::VPCPeeringConnection" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23371,6 +26412,14 @@ "AWS::EC2::VPNConnection" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23441,6 +26490,14 @@ "AWS::EC2::VPNConnectionRoute" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23504,6 +26561,14 @@ "AWS::EC2::VPNGateway" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23565,6 +26630,14 @@ "AWS::EC2::VPNGatewayRoutePropagation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23620,6 +26693,12 @@ "KmsKeyId": { "type": "string" }, + "MultiAttachEnabled": { + "type": "boolean" + }, + "OutpostArn": { + "type": "string" + }, "Size": { "type": "number" }, @@ -23646,6 +26725,14 @@ "AWS::EC2::Volume" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23708,6 +26795,14 @@ "AWS::EC2::VolumeAttachment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23771,6 +26866,14 @@ "AWS::ECR::Repository" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23790,6 +26893,113 @@ }, "type": "object" }, + "AWS::ECS::CapacityProvider": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoScalingGroupProvider": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.AutoScalingGroupProvider" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AutoScalingGroupProvider" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::CapacityProvider" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ECS::CapacityProvider.AutoScalingGroupProvider": { + "additionalProperties": false, + "properties": { + "AutoScalingGroupArn": { + "type": "string" + }, + "ManagedScaling": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedScaling" + }, + "ManagedTerminationProtection": { + "type": "string" + } + }, + "required": [ + "AutoScalingGroupArn" + ], + "type": "object" + }, + "AWS::ECS::CapacityProvider.ManagedScaling": { + "additionalProperties": false, + "properties": { + "MaximumScalingStepSize": { + "type": "number" + }, + "MinimumScalingStepSize": { + "type": "number" + }, + "Status": { + "type": "string" + }, + "TargetCapacity": { + "type": "number" + } + }, + "type": "object" + }, "AWS::ECS::Cluster": { "additionalProperties": false, "properties": { @@ -23822,12 +27032,24 @@ "Properties": { "additionalProperties": false, "properties": { + "CapacityProviders": { + "items": { + "type": "string" + }, + "type": "array" + }, "ClusterName": { "type": "string" }, "ClusterSettings": { "items": { - "$ref": "#/definitions/AWS::ECS::Cluster.ClusterSetting" + "$ref": "#/definitions/AWS::ECS::Cluster.ClusterSettings" + }, + "type": "array" + }, + "DefaultCapacityProviderStrategy": { + "items": { + "$ref": "#/definitions/AWS::ECS::Cluster.CapacityProviderStrategyItem" }, "type": "array" }, @@ -23845,6 +27067,14 @@ "AWS::ECS::Cluster" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -23852,7 +27082,22 @@ ], "type": "object" }, - "AWS::ECS::Cluster.ClusterSetting": { + "AWS::ECS::Cluster.CapacityProviderStrategyItem": { + "additionalProperties": false, + "properties": { + "Base": { + "type": "number" + }, + "CapacityProvider": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster.ClusterSettings": { "additionalProperties": false, "properties": { "Name": { @@ -23862,10 +27107,6 @@ "type": "string" } }, - "required": [ - "Name", - "Value" - ], "type": "object" }, "AWS::ECS::PrimaryTaskSet": { @@ -23922,6 +27163,14 @@ "AWS::ECS::PrimaryTaskSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -24042,6 +27291,14 @@ "AWS::ECS::Service" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -24275,6 +27532,14 @@ "AWS::ECS::TaskDefinition" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -24605,9 +27870,6 @@ "DeviceName": { "type": "string" }, - "DevicePolicy": { - "type": "string" - }, "DeviceType": { "type": "string" } @@ -24976,6 +28238,14 @@ "AWS::ECS::TaskSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -25065,7 +28335,7 @@ }, "type": "object" }, - "AWS::EFS::FileSystem": { + "AWS::EFS::AccessPoint": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -25097,49 +28367,52 @@ "Properties": { "additionalProperties": false, "properties": { - "Encrypted": { - "type": "boolean" - }, - "FileSystemTags": { + "AccessPointTags": { "items": { - "$ref": "#/definitions/AWS::EFS::FileSystem.ElasticFileSystemTag" + "$ref": "#/definitions/AWS::EFS::AccessPoint.AccessPointTag" }, "type": "array" }, - "KmsKeyId": { + "ClientToken": { "type": "string" }, - "LifecyclePolicies": { - "items": { - "$ref": "#/definitions/AWS::EFS::FileSystem.LifecyclePolicy" - }, - "type": "array" - }, - "PerformanceMode": { + "FileSystemId": { "type": "string" }, - "ProvisionedThroughputInMibps": { - "type": "number" + "PosixUser": { + "$ref": "#/definitions/AWS::EFS::AccessPoint.PosixUser" }, - "ThroughputMode": { - "type": "string" + "RootDirectory": { + "$ref": "#/definitions/AWS::EFS::AccessPoint.RootDirectory" } }, + "required": [ + "FileSystemId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EFS::FileSystem" + "AWS::EFS::AccessPoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EFS::FileSystem.ElasticFileSystemTag": { + "AWS::EFS::AccessPoint.AccessPointTag": { "additionalProperties": false, "properties": { "Key": { @@ -25149,93 +28422,63 @@ "type": "string" } }, - "required": [ - "Key", - "Value" - ], "type": "object" }, - "AWS::EFS::FileSystem.LifecyclePolicy": { + "AWS::EFS::AccessPoint.CreationInfo": { "additionalProperties": false, "properties": { - "TransitionToIA": { + "OwnerGid": { + "type": "string" + }, + "OwnerUid": { + "type": "string" + }, + "Permissions": { "type": "string" } }, "required": [ - "TransitionToIA" + "OwnerGid", + "OwnerUid", + "Permissions" ], "type": "object" }, - "AWS::EFS::MountTarget": { + "AWS::EFS::AccessPoint.PosixUser": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Gid": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FileSystemId": { - "type": "string" - }, - "IpAddress": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetId": { - "type": "string" - } + "SecondaryGids": { + "items": { + "type": "string" }, - "required": [ - "FileSystemId", - "SecurityGroups", - "SubnetId" - ], - "type": "object" + "type": "array" }, - "Type": { - "enum": [ - "AWS::EFS::MountTarget" - ], + "Uid": { "type": "string" } }, "required": [ - "Type", - "Properties" + "Gid", + "Uid" ], "type": "object" }, - "AWS::EKS::Cluster": { + "AWS::EFS::AccessPoint.RootDirectory": { + "additionalProperties": false, + "properties": { + "CreationInfo": { + "$ref": "#/definitions/AWS::EFS::AccessPoint.CreationInfo" + }, + "Path": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EFS::FileSystem": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -25267,6 +28510,201 @@ "Properties": { "additionalProperties": false, "properties": { + "Encrypted": { + "type": "boolean" + }, + "FileSystemPolicy": { + "type": "object" + }, + "FileSystemTags": { + "items": { + "$ref": "#/definitions/AWS::EFS::FileSystem.ElasticFileSystemTag" + }, + "type": "array" + }, + "KmsKeyId": { + "type": "string" + }, + "LifecyclePolicies": { + "items": { + "$ref": "#/definitions/AWS::EFS::FileSystem.LifecyclePolicy" + }, + "type": "array" + }, + "PerformanceMode": { + "type": "string" + }, + "ProvisionedThroughputInMibps": { + "type": "number" + }, + "ThroughputMode": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EFS::FileSystem" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EFS::FileSystem.ElasticFileSystemTag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::EFS::FileSystem.LifecyclePolicy": { + "additionalProperties": false, + "properties": { + "TransitionToIA": { + "type": "string" + } + }, + "required": [ + "TransitionToIA" + ], + "type": "object" + }, + "AWS::EFS::MountTarget": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "type": "string" + }, + "IpAddress": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "FileSystemId", + "SecurityGroups", + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EFS::MountTarget" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EKS::Cluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EncryptionConfig": { + "items": { + "$ref": "#/definitions/AWS::EKS::Cluster.EncryptionConfig" + }, + "type": "array" + }, "Name": { "type": "string" }, @@ -25291,6 +28729,14 @@ "AWS::EKS::Cluster" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -25299,6 +28745,30 @@ ], "type": "object" }, + "AWS::EKS::Cluster.EncryptionConfig": { + "additionalProperties": false, + "properties": { + "Provider": { + "$ref": "#/definitions/AWS::EKS::Cluster.Provider" + }, + "Resources": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EKS::Cluster.Provider": { + "additionalProperties": false, + "properties": { + "KeyArn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EKS::Cluster.ResourcesVpcConfig": { "additionalProperties": false, "properties": { @@ -25413,6 +28883,14 @@ "AWS::EKS::Nodegroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -25572,6 +29050,14 @@ "AWS::EMR::Cluster" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -26223,6 +29709,14 @@ "AWS::EMR::InstanceFleetConfig" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -26444,6 +29938,14 @@ "AWS::EMR::InstanceGroupConfig" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -26735,6 +30237,14 @@ "AWS::EMR::SecurityConfiguration" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -26801,6 +30311,14 @@ "AWS::EMR::Step" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -26971,6 +30489,14 @@ "AWS::ElastiCache::CacheCluster" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -27038,6 +30564,14 @@ "AWS::ElastiCache::ParameterGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -27114,6 +30648,9 @@ "KmsKeyId": { "type": "string" }, + "MultiAZEnabled": { + "type": "boolean" + }, "NodeGroupConfiguration": { "items": { "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration" @@ -27197,6 +30734,14 @@ "AWS::ElastiCache::ReplicationGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -27275,6 +30820,14 @@ "AWS::ElastiCache::SecurityGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -27336,6 +30889,14 @@ "AWS::ElastiCache::SecurityGroupIngress" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -27400,6 +30961,14 @@ "AWS::ElastiCache::SubnetGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -27457,6 +31026,14 @@ "AWS::ElasticBeanstalk::Application" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -27571,6 +31148,14 @@ "AWS::ElasticBeanstalk::ApplicationVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -27662,6 +31247,14 @@ "AWS::ElasticBeanstalk::ConfigurationTemplate" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -27790,6 +31383,14 @@ "AWS::ElasticBeanstalk::Environment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -27953,6 +31554,14 @@ "AWS::ElasticLoadBalancing::LoadBalancer" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -28203,6 +31812,14 @@ "AWS::ElasticLoadBalancingV2::Listener" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -28484,6 +32101,14 @@ "AWS::ElasticLoadBalancingV2::ListenerCertificate" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -28565,6 +32190,14 @@ "AWS::ElasticLoadBalancingV2::ListenerRule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -28986,6 +32619,14 @@ "AWS::ElasticLoadBalancingV2::LoadBalancer" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -29011,12 +32652,14 @@ "AllocationId": { "type": "string" }, + "PrivateIPv4Address": { + "type": "string" + }, "SubnetId": { "type": "string" } }, "required": [ - "AllocationId", "SubnetId" ], "type": "object" @@ -29121,6 +32764,14 @@ "AWS::ElasticLoadBalancingV2::TargetGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -29264,6 +32915,14 @@ "AWS::Elasticsearch::Domain" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -29458,6 +33117,14 @@ "AWS::EventSchemas::Discoverer" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -29534,6 +33201,14 @@ "AWS::EventSchemas::Registry" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -29557,6 +33232,75 @@ ], "type": "object" }, + "AWS::EventSchemas::RegistryPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Policy": { + "type": "object" + }, + "RegistryName": { + "type": "string" + }, + "RevisionId": { + "type": "string" + } + }, + "required": [ + "Policy", + "RegistryName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EventSchemas::RegistryPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::EventSchemas::Schema": { "additionalProperties": false, "properties": { @@ -29623,6 +33367,14 @@ "AWS::EventSchemas::Schema" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -29696,6 +33448,14 @@ "AWS::Events::EventBus" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -29764,6 +33524,14 @@ "AWS::Events::EventBusPolicy" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -29854,6 +33622,14 @@ "AWS::Events::Rule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -29952,6 +33728,36 @@ ], "type": "object" }, + "AWS::Events::Rule.HttpParameters": { + "additionalProperties": false, + "properties": { + "HeaderParameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "PathParameterValues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "QueryStringParameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, "AWS::Events::Rule.InputTransformer": { "additionalProperties": false, "properties": { @@ -30052,6 +33858,9 @@ "EcsParameters": { "$ref": "#/definitions/AWS::Events::Rule.EcsParameters" }, + "HttpParameters": { + "$ref": "#/definitions/AWS::Events::Rule.HttpParameters" + }, "Id": { "type": "string" }, @@ -30133,6 +33942,14 @@ "AWS::FMS::NotificationChannel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -30230,6 +34047,14 @@ "AWS::FMS::Policy" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -30246,6 +34071,12 @@ "type": "string" }, "type": "array" + }, + "ORGUNIT": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" @@ -30334,6 +34165,9 @@ "StorageCapacity": { "type": "number" }, + "StorageType": { + "type": "string" + }, "SubnetIds": { "items": { "type": "string" @@ -30361,6 +34195,14 @@ "AWS::FSx::FileSystem" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -30506,6 +34348,14 @@ "AWS::GameLift::Alias" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -30584,6 +34434,14 @@ "AWS::GameLift::Build" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -30730,6 +34588,14 @@ "AWS::GameLift::Fleet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -30884,6 +34750,14 @@ "AWS::GameLift::GameSessionQueue" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -31005,6 +34879,14 @@ "AWS::GameLift::MatchmakingConfiguration" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -31079,6 +34961,14 @@ "AWS::GameLift::MatchmakingRuleSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -31139,6 +35029,14 @@ "AWS::GameLift::Script" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -31170,7 +35068,7 @@ ], "type": "object" }, - "AWS::Glue::Classifier": { + "AWS::GlobalAccelerator::Accelerator": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -31202,120 +35100,55 @@ "Properties": { "additionalProperties": false, "properties": { - "CsvClassifier": { - "$ref": "#/definitions/AWS::Glue::Classifier.CsvClassifier" + "Enabled": { + "type": "boolean" }, - "GrokClassifier": { - "$ref": "#/definitions/AWS::Glue::Classifier.GrokClassifier" + "IpAddressType": { + "type": "string" }, - "JsonClassifier": { - "$ref": "#/definitions/AWS::Glue::Classifier.JsonClassifier" + "IpAddresses": { + "items": { + "type": "string" + }, + "type": "array" }, - "XMLClassifier": { - "$ref": "#/definitions/AWS::Glue::Classifier.XMLClassifier" + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, + "required": [ + "Name" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::Classifier" + "AWS::GlobalAccelerator::Accelerator" ], "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Glue::Classifier.CsvClassifier": { - "additionalProperties": false, - "properties": { - "AllowSingleColumn": { - "type": "boolean" - }, - "ContainsHeader": { - "type": "string" - }, - "Delimiter": { - "type": "string" - }, - "DisableValueTrimming": { - "type": "boolean" - }, - "Header": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "QuoteSymbol": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Classifier.GrokClassifier": { - "additionalProperties": false, - "properties": { - "Classification": { - "type": "string" - }, - "CustomPatterns": { - "type": "string" - }, - "GrokPattern": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Classification", - "GrokPattern" - ], - "type": "object" - }, - "AWS::Glue::Classifier.JsonClassifier": { - "additionalProperties": false, - "properties": { - "JsonPath": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "JsonPath" - ], - "type": "object" - }, - "AWS::Glue::Classifier.XMLClassifier": { - "additionalProperties": false, - "properties": { - "Classification": { - "type": "string" - }, - "Name": { - "type": "string" }, - "RowTag": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Classification", - "RowTag" + "Type", + "Properties" ], "type": "object" }, - "AWS::Glue::Connection": { + "AWS::GlobalAccelerator::EndpointGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -31347,22 +35180,54 @@ "Properties": { "additionalProperties": false, "properties": { - "CatalogId": { + "EndpointConfigurations": { + "items": { + "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup.EndpointConfiguration" + }, + "type": "array" + }, + "EndpointGroupRegion": { "type": "string" }, - "ConnectionInput": { - "$ref": "#/definitions/AWS::Glue::Connection.ConnectionInput" + "HealthCheckIntervalSeconds": { + "type": "number" + }, + "HealthCheckPath": { + "type": "string" + }, + "HealthCheckPort": { + "type": "number" + }, + "HealthCheckProtocol": { + "type": "string" + }, + "ListenerArn": { + "type": "string" + }, + "ThresholdCount": { + "type": "number" + }, + "TrafficDialPercentage": { + "type": "number" } }, "required": [ - "CatalogId", - "ConnectionInput" + "EndpointGroupRegion", + "ListenerArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::Connection" + "AWS::GlobalAccelerator::EndpointGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -31373,56 +35238,385 @@ ], "type": "object" }, - "AWS::Glue::Connection.ConnectionInput": { + "AWS::GlobalAccelerator::EndpointGroup.EndpointConfiguration": { "additionalProperties": false, "properties": { - "ConnectionProperties": { - "type": "object" - }, - "ConnectionType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "MatchCriteria": { - "items": { - "type": "string" - }, - "type": "array" + "ClientIPPreservationEnabled": { + "type": "boolean" }, - "Name": { + "EndpointId": { "type": "string" }, - "PhysicalConnectionRequirements": { - "$ref": "#/definitions/AWS::Glue::Connection.PhysicalConnectionRequirements" + "Weight": { + "type": "number" } }, "required": [ - "ConnectionProperties", - "ConnectionType" + "EndpointId" ], "type": "object" }, - "AWS::Glue::Connection.PhysicalConnectionRequirements": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "SecurityGroupIdList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler": { + "AWS::GlobalAccelerator::Listener": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceleratorArn": { + "type": "string" + }, + "ClientAffinity": { + "type": "string" + }, + "PortRanges": { + "items": { + "$ref": "#/definitions/AWS::GlobalAccelerator::Listener.PortRange" + }, + "type": "array" + }, + "Protocol": { + "type": "string" + } + }, + "required": [ + "AcceleratorArn", + "PortRanges", + "Protocol" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GlobalAccelerator::Listener" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GlobalAccelerator::Listener.PortRange": { + "additionalProperties": false, + "properties": { + "FromPort": { + "type": "number" + }, + "ToPort": { + "type": "number" + } + }, + "required": [ + "FromPort", + "ToPort" + ], + "type": "object" + }, + "AWS::Glue::Classifier": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CsvClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.CsvClassifier" + }, + "GrokClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.GrokClassifier" + }, + "JsonClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.JsonClassifier" + }, + "XMLClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.XMLClassifier" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Classifier" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Glue::Classifier.CsvClassifier": { + "additionalProperties": false, + "properties": { + "AllowSingleColumn": { + "type": "boolean" + }, + "ContainsHeader": { + "type": "string" + }, + "Delimiter": { + "type": "string" + }, + "DisableValueTrimming": { + "type": "boolean" + }, + "Header": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "QuoteSymbol": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Classifier.GrokClassifier": { + "additionalProperties": false, + "properties": { + "Classification": { + "type": "string" + }, + "CustomPatterns": { + "type": "string" + }, + "GrokPattern": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Classification", + "GrokPattern" + ], + "type": "object" + }, + "AWS::Glue::Classifier.JsonClassifier": { + "additionalProperties": false, + "properties": { + "JsonPath": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "JsonPath" + ], + "type": "object" + }, + "AWS::Glue::Classifier.XMLClassifier": { + "additionalProperties": false, + "properties": { + "Classification": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RowTag": { + "type": "string" + } + }, + "required": [ + "Classification", + "RowTag" + ], + "type": "object" + }, + "AWS::Glue::Connection": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "ConnectionInput": { + "$ref": "#/definitions/AWS::Glue::Connection.ConnectionInput" + } + }, + "required": [ + "CatalogId", + "ConnectionInput" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Connection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::Connection.ConnectionInput": { + "additionalProperties": false, + "properties": { + "ConnectionProperties": { + "type": "object" + }, + "ConnectionType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "MatchCriteria": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "PhysicalConnectionRequirements": { + "$ref": "#/definitions/AWS::Glue::Connection.PhysicalConnectionRequirements" + } + }, + "required": [ + "ConnectionProperties", + "ConnectionType" + ], + "type": "object" + }, + "AWS::Glue::Connection.PhysicalConnectionRequirements": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "SecurityGroupIdList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Crawler": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -31505,6 +35699,14 @@ "AWS::Glue::Crawler" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -31671,6 +35873,14 @@ "AWS::Glue::DataCatalogEncryptionSettings" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -31765,6 +35975,14 @@ "AWS::Glue::Database" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -31847,6 +36065,12 @@ "PublicKey": { "type": "string" }, + "PublicKeys": { + "items": { + "type": "string" + }, + "type": "array" + }, "RoleArn": { "type": "string" }, @@ -31879,6 +36103,14 @@ "AWS::Glue::DevEndpoint" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -31985,6 +36217,14 @@ "AWS::Glue::Job" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -32094,6 +36334,9 @@ "Role": { "type": "string" }, + "Tags": { + "type": "object" + }, "Timeout": { "type": "number" }, @@ -32116,6 +36359,14 @@ "AWS::Glue::MLTransform" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -32252,6 +36503,14 @@ "AWS::Glue::Partition" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -32451,6 +36710,14 @@ "AWS::Glue::SecurityConfiguration" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -32569,6 +36836,14 @@ "AWS::Glue::Table" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -32811,6 +37086,14 @@ "AWS::Glue::Trigger" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -32940,6 +37223,14 @@ "AWS::Glue::Workflow" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -32999,6 +37290,14 @@ "AWS::Greengrass::ConnectorDefinition" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -33094,6 +37393,14 @@ "AWS::Greengrass::ConnectorDefinitionVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -33173,6 +37480,14 @@ "AWS::Greengrass::CoreDefinition" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -33272,6 +37587,14 @@ "AWS::Greengrass::CoreDefinitionVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -33355,6 +37678,14 @@ "AWS::Greengrass::DeviceDefinition" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -33454,6 +37785,14 @@ "AWS::Greengrass::DeviceDefinitionVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -33537,6 +37876,14 @@ "AWS::Greengrass::FunctionDefinition" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -33738,6 +38085,14 @@ "AWS::Greengrass::FunctionDefinitionVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -33920,6 +38275,14 @@ "AWS::Greengrass::Group" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -34022,6 +38385,14 @@ "AWS::Greengrass::GroupVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -34082,6 +38453,14 @@ "AWS::Greengrass::LoggerDefinition" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -34185,6 +38564,14 @@ "AWS::Greengrass::LoggerDefinitionVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -34272,6 +38659,14 @@ "AWS::Greengrass::ResourceDefinition" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -34365,6 +38760,22 @@ ], "type": "object" }, + "AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting": { + "additionalProperties": false, + "properties": { + "GroupOwner": { + "type": "string" + }, + "GroupPermission": { + "type": "string" + } + }, + "required": [ + "GroupOwner", + "GroupPermission" + ], + "type": "object" + }, "AWS::Greengrass::ResourceDefinition.ResourceInstance": { "additionalProperties": false, "properties": { @@ -34391,6 +38802,9 @@ "DestinationPath": { "type": "string" }, + "OwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting" + }, "S3Uri": { "type": "string" } @@ -34407,6 +38821,9 @@ "DestinationPath": { "type": "string" }, + "OwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting" + }, "SageMakerJobArn": { "type": "string" } @@ -34488,6 +38905,14 @@ "AWS::Greengrass::ResourceDefinitionVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -34566,6 +38991,22 @@ }, "type": "object" }, + "AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting": { + "additionalProperties": false, + "properties": { + "GroupOwner": { + "type": "string" + }, + "GroupPermission": { + "type": "string" + } + }, + "required": [ + "GroupOwner", + "GroupPermission" + ], + "type": "object" + }, "AWS::Greengrass::ResourceDefinitionVersion.ResourceInstance": { "additionalProperties": false, "properties": { @@ -34592,6 +39033,9 @@ "DestinationPath": { "type": "string" }, + "OwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting" + }, "S3Uri": { "type": "string" } @@ -34608,6 +39052,9 @@ "DestinationPath": { "type": "string" }, + "OwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting" + }, "SageMakerJobArn": { "type": "string" } @@ -34688,6 +39135,14 @@ "AWS::Greengrass::SubscriptionDefinition" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -34788,6 +39243,14 @@ "AWS::Greengrass::SubscriptionDefinitionVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -34869,6 +39332,14 @@ "AWS::GuardDuty::Detector" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -34943,6 +39414,14 @@ "AWS::GuardDuty::Filter" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -35051,6 +39530,14 @@ "AWS::GuardDuty::IPSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -35112,77 +39599,14 @@ "AWS::GuardDuty::Master" ], "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GuardDuty::Member": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { + }, + "UpdateReplacePolicy": { "enum": [ "Delete", "Retain", "Snapshot" ], "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DetectorId": { - "type": "string" - }, - "DisableEmailNotification": { - "type": "boolean" - }, - "Email": { - "type": "string" - }, - "MemberId": { - "type": "string" - }, - "Message": { - "type": "string" - }, - "Status": { - "type": "string" - } - }, - "required": [ - "DetectorId", - "Email", - "MemberId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GuardDuty::Member" - ], - "type": "string" } }, "required": [ @@ -35191,7 +39615,86 @@ ], "type": "object" }, - "AWS::GuardDuty::ThreatIntelSet": { + "AWS::GuardDuty::Member": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DetectorId": { + "type": "string" + }, + "DisableEmailNotification": { + "type": "boolean" + }, + "Email": { + "type": "string" + }, + "MemberId": { + "type": "string" + }, + "Message": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "DetectorId", + "Email", + "MemberId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Member" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::ThreatIntelSet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -35252,6 +39755,14 @@ "AWS::GuardDuty::ThreatIntelSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -35312,6 +39823,14 @@ "AWS::IAM::AccessKey" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -35378,6 +39897,14 @@ "AWS::IAM::Group" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -35456,6 +39983,14 @@ "AWS::IAM::InstanceProfile" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -35537,6 +40072,14 @@ "AWS::IAM::ManagedPolicy" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -35613,6 +40156,14 @@ "AWS::IAM::Policy" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -35700,6 +40251,14 @@ "AWS::IAM::Role" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -35776,6 +40335,14 @@ "AWS::IAM::ServiceLinkedRole" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -35860,6 +40427,14 @@ "AWS::IAM::User" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -35951,133 +40526,14 @@ "AWS::IAM::UserToGroupAddition" ], "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Inspector::AssessmentTarget": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssessmentTargetName": { - "type": "string" - }, - "ResourceGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Inspector::AssessmentTarget" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Inspector::AssessmentTemplate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { + "UpdateReplacePolicy": { "enum": [ "Delete", "Retain", "Snapshot" ], "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssessmentTargetArn": { - "type": "string" - }, - "AssessmentTemplateName": { - "type": "string" - }, - "DurationInSeconds": { - "type": "number" - }, - "RulesPackageArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "UserAttributesForFindings": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AssessmentTargetArn", - "DurationInSeconds", - "RulesPackageArns" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Inspector::AssessmentTemplate" - ], - "type": "string" } }, "required": [ @@ -36086,7 +40542,7 @@ ], "type": "object" }, - "AWS::Inspector::ResourceGroup": { + "AWS::ImageBuilder::Component": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36118,21 +40574,58 @@ "Properties": { "additionalProperties": false, "properties": { - "ResourceGroupTags": { - "items": { - "$ref": "#/definitions/Tag" + "ChangeDescription": { + "type": "string" + }, + "Data": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Platform": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "type": "array" + "type": "object" + }, + "Uri": { + "type": "string" + }, + "Version": { + "type": "string" } }, "required": [ - "ResourceGroupTags" + "Name", + "Platform", + "Version" ], "type": "object" }, "Type": { "enum": [ - "AWS::Inspector::ResourceGroup" + "AWS::ImageBuilder::Component" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -36143,7 +40636,7 @@ ], "type": "object" }, - "AWS::IoT1Click::Device": { + "AWS::ImageBuilder::DistributionConfiguration": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36175,22 +40668,45 @@ "Properties": { "additionalProperties": false, "properties": { - "DeviceId": { + "Description": { "type": "string" }, - "Enabled": { - "type": "boolean" + "Distributions": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration.Distribution" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" } }, "required": [ - "DeviceId", - "Enabled" + "Distributions", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT1Click::Device" + "AWS::ImageBuilder::DistributionConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -36201,7 +40717,25 @@ ], "type": "object" }, - "AWS::IoT1Click::Placement": { + "AWS::ImageBuilder::DistributionConfiguration.Distribution": { + "additionalProperties": false, + "properties": { + "AmiDistributionConfiguration": { + "type": "object" + }, + "LicenseConfigurationArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Region": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::Image": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36233,27 +40767,45 @@ "Properties": { "additionalProperties": false, "properties": { - "AssociatedDevices": { - "type": "object" - }, - "Attributes": { - "type": "object" + "DistributionConfigurationArn": { + "type": "string" }, - "PlacementName": { + "ImageRecipeArn": { "type": "string" }, - "ProjectName": { + "ImageTestsConfiguration": { + "$ref": "#/definitions/AWS::ImageBuilder::Image.ImageTestsConfiguration" + }, + "InfrastructureConfigurationArn": { "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" } }, "required": [ - "ProjectName" + "ImageRecipeArn", + "InfrastructureConfigurationArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT1Click::Placement" + "AWS::ImageBuilder::Image" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -36264,7 +40816,19 @@ ], "type": "object" }, - "AWS::IoT1Click::Project": { + "AWS::ImageBuilder::Image.ImageTestsConfiguration": { + "additionalProperties": false, + "properties": { + "ImageTestsEnabled": { + "type": "boolean" + }, + "TimeoutMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImagePipeline": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36299,21 +40863,55 @@ "Description": { "type": "string" }, - "PlacementTemplate": { - "$ref": "#/definitions/AWS::IoT1Click::Project.PlacementTemplate" + "DistributionConfigurationArn": { + "type": "string" }, - "ProjectName": { + "ImageRecipeArn": { + "type": "string" + }, + "ImageTestsConfiguration": { + "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration" + }, + "InfrastructureConfigurationArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.Schedule" + }, + "Status": { "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" } }, "required": [ - "PlacementTemplate" + "ImageRecipeArn", + "InfrastructureConfigurationArn", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT1Click::Project" + "AWS::ImageBuilder::ImagePipeline" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -36324,31 +40922,31 @@ ], "type": "object" }, - "AWS::IoT1Click::Project.DeviceTemplate": { + "AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration": { "additionalProperties": false, "properties": { - "CallbackOverrides": { - "type": "object" + "ImageTestsEnabled": { + "type": "boolean" }, - "DeviceType": { - "type": "string" + "TimeoutMinutes": { + "type": "number" } }, "type": "object" }, - "AWS::IoT1Click::Project.PlacementTemplate": { + "AWS::ImageBuilder::ImagePipeline.Schedule": { "additionalProperties": false, "properties": { - "DefaultAttributes": { - "type": "object" + "PipelineExecutionStartCondition": { + "type": "string" }, - "DeviceTemplates": { - "type": "object" + "ScheduleExpression": { + "type": "string" } }, "type": "object" }, - "AWS::IoT::Certificate": { + "AWS::ImageBuilder::ImageRecipe": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36380,22 +40978,59 @@ "Properties": { "additionalProperties": false, "properties": { - "CertificateSigningRequest": { + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping" + }, + "type": "array" + }, + "Components": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.ComponentConfiguration" + }, + "type": "array" + }, + "Description": { "type": "string" }, - "Status": { + "Name": { + "type": "string" + }, + "ParentImage": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Version": { "type": "string" } }, "required": [ - "CertificateSigningRequest", - "Status" + "Components", + "Name", + "ParentImage", + "Version" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::Certificate" + "AWS::ImageBuilder::ImageRecipe" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -36406,7 +41041,61 @@ ], "type": "object" }, - "AWS::IoT::Policy": { + "AWS::ImageBuilder::ImageRecipe.ComponentConfiguration": { + "additionalProperties": false, + "properties": { + "ComponentArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" + }, + "SnapshotId": { + "type": "string" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification" + }, + "NoDevice": { + "type": "string" + }, + "VirtualName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::InfrastructureConfiguration": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36438,21 +41127,69 @@ "Properties": { "additionalProperties": false, "properties": { - "PolicyDocument": { + "Description": { + "type": "string" + }, + "InstanceProfileName": { + "type": "string" + }, + "InstanceTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "KeyPair": { + "type": "string" + }, + "Logging": { "type": "object" }, - "PolicyName": { + "Name": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnsTopicArn": { + "type": "string" + }, + "SubnetId": { "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "TerminateInstanceOnFailure": { + "type": "boolean" } }, "required": [ - "PolicyDocument" + "InstanceProfileName", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::Policy" + "AWS::ImageBuilder::InfrastructureConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -36463,7 +41200,28 @@ ], "type": "object" }, - "AWS::IoT::PolicyPrincipalAttachment": { + "AWS::ImageBuilder::InfrastructureConfiguration.Logging": { + "additionalProperties": false, + "properties": { + "S3Logs": { + "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.S3Logs" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::InfrastructureConfiguration.S3Logs": { + "additionalProperties": false, + "properties": { + "S3BucketName": { + "type": "string" + }, + "S3KeyPrefix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Inspector::AssessmentTarget": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36495,33 +41253,36 @@ "Properties": { "additionalProperties": false, "properties": { - "PolicyName": { + "AssessmentTargetName": { "type": "string" }, - "Principal": { + "ResourceGroupArn": { "type": "string" } }, - "required": [ - "PolicyName", - "Principal" - ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::PolicyPrincipalAttachment" + "AWS::Inspector::AssessmentTarget" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::IoT::Thing": { + "AWS::Inspector::AssessmentTemplate": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36553,43 +41314,122 @@ "Properties": { "additionalProperties": false, "properties": { - "AttributePayload": { - "$ref": "#/definitions/AWS::IoT::Thing.AttributePayload" + "AssessmentTargetArn": { + "type": "string" }, - "ThingName": { + "AssessmentTemplateName": { "type": "string" + }, + "DurationInSeconds": { + "type": "number" + }, + "RulesPackageArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "UserAttributesForFindings": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, + "required": [ + "AssessmentTargetArn", + "DurationInSeconds", + "RulesPackageArns" + ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::Thing" + "AWS::Inspector::AssessmentTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::IoT::Thing.AttributePayload": { + "AWS::Inspector::ResourceGroup": { "additionalProperties": false, "properties": { - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceGroupTags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, + "required": [ + "ResourceGroupTags" + ], "type": "object" + }, + "Type": { + "enum": [ + "AWS::Inspector::ResourceGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::IoT::ThingPrincipalAttachment": { + "AWS::IoT1Click::Device": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36621,22 +41461,30 @@ "Properties": { "additionalProperties": false, "properties": { - "Principal": { + "DeviceId": { "type": "string" }, - "ThingName": { - "type": "string" + "Enabled": { + "type": "boolean" } }, "required": [ - "Principal", - "ThingName" + "DeviceId", + "Enabled" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::ThingPrincipalAttachment" + "AWS::IoT1Click::Device" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -36647,7 +41495,7 @@ ], "type": "object" }, - "AWS::IoT::TopicRule": { + "AWS::IoT1Click::Placement": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36679,21 +41527,35 @@ "Properties": { "additionalProperties": false, "properties": { - "RuleName": { + "AssociatedDevices": { + "type": "object" + }, + "Attributes": { + "type": "object" + }, + "PlacementName": { "type": "string" }, - "TopicRulePayload": { - "$ref": "#/definitions/AWS::IoT::TopicRule.TopicRulePayload" + "ProjectName": { + "type": "string" } }, "required": [ - "TopicRulePayload" + "ProjectName" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::TopicRule" + "AWS::IoT1Click::Placement" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -36704,17 +41566,609 @@ ], "type": "object" }, - "AWS::IoT::TopicRule.Action": { + "AWS::IoT1Click::Project": { "additionalProperties": false, "properties": { - "CloudwatchAlarm": { - "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchAlarmAction" - }, - "CloudwatchMetric": { - "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchMetricAction" - }, - "DynamoDB": { - "$ref": "#/definitions/AWS::IoT::TopicRule.DynamoDBAction" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "PlacementTemplate": { + "$ref": "#/definitions/AWS::IoT1Click::Project.PlacementTemplate" + }, + "ProjectName": { + "type": "string" + } + }, + "required": [ + "PlacementTemplate" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT1Click::Project" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT1Click::Project.DeviceTemplate": { + "additionalProperties": false, + "properties": { + "CallbackOverrides": { + "type": "object" + }, + "DeviceType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT1Click::Project.PlacementTemplate": { + "additionalProperties": false, + "properties": { + "DefaultAttributes": { + "type": "object" + }, + "DeviceTemplates": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::IoT::Certificate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CertificateSigningRequest": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "CertificateSigningRequest", + "Status" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::Certificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::Policy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + }, + "PolicyName": { + "type": "string" + } + }, + "required": [ + "PolicyDocument" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::Policy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::PolicyPrincipalAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyName": { + "type": "string" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "PolicyName", + "Principal" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::PolicyPrincipalAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::ProvisioningTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "PreProvisioningHook": { + "$ref": "#/definitions/AWS::IoT::ProvisioningTemplate.ProvisioningHook" + }, + "ProvisioningRoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "type": "object" + }, + "type": "array" + }, + "TemplateBody": { + "type": "string" + }, + "TemplateName": { + "type": "string" + } + }, + "required": [ + "ProvisioningRoleArn", + "TemplateBody" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::ProvisioningTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::ProvisioningTemplate.ProvisioningHook": { + "additionalProperties": false, + "properties": { + "PayloadVersion": { + "type": "string" + }, + "TargetArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::Thing": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AttributePayload": { + "$ref": "#/definitions/AWS::IoT::Thing.AttributePayload" + }, + "ThingName": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::Thing" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IoT::Thing.AttributePayload": { + "additionalProperties": false, + "properties": { + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::IoT::ThingPrincipalAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Principal": { + "type": "string" + }, + "ThingName": { + "type": "string" + } + }, + "required": [ + "Principal", + "ThingName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::ThingPrincipalAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::TopicRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "RuleName": { + "type": "string" + }, + "TopicRulePayload": { + "$ref": "#/definitions/AWS::IoT::TopicRule.TopicRulePayload" + } + }, + "required": [ + "TopicRulePayload" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::TopicRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.Action": { + "additionalProperties": false, + "properties": { + "CloudwatchAlarm": { + "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchAlarmAction" + }, + "CloudwatchMetric": { + "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchMetricAction" + }, + "DynamoDB": { + "$ref": "#/definitions/AWS::IoT::TopicRule.DynamoDBAction" }, "DynamoDBv2": { "$ref": "#/definitions/AWS::IoT::TopicRule.DynamoDBv2Action" @@ -36725,9 +42179,18 @@ "Firehose": { "$ref": "#/definitions/AWS::IoT::TopicRule.FirehoseAction" }, + "Http": { + "$ref": "#/definitions/AWS::IoT::TopicRule.HttpAction" + }, "IotAnalytics": { "$ref": "#/definitions/AWS::IoT::TopicRule.IotAnalyticsAction" }, + "IotEvents": { + "$ref": "#/definitions/AWS::IoT::TopicRule.IotEventsAction" + }, + "IotSiteWise": { + "$ref": "#/definitions/AWS::IoT::TopicRule.IotSiteWiseAction" + }, "Kinesis": { "$ref": "#/definitions/AWS::IoT::TopicRule.KinesisAction" }, @@ -36752,6 +42215,58 @@ }, "type": "object" }, + "AWS::IoT::TopicRule.AssetPropertyTimestamp": { + "additionalProperties": false, + "properties": { + "OffsetInNanos": { + "type": "string" + }, + "TimeInSeconds": { + "type": "string" + } + }, + "required": [ + "TimeInSeconds" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.AssetPropertyValue": { + "additionalProperties": false, + "properties": { + "Quality": { + "type": "string" + }, + "Timestamp": { + "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyTimestamp" + }, + "Value": { + "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyVariant" + } + }, + "required": [ + "Timestamp", + "Value" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.AssetPropertyVariant": { + "additionalProperties": false, + "properties": { + "BooleanValue": { + "type": "string" + }, + "DoubleValue": { + "type": "string" + }, + "IntegerValue": { + "type": "string" + }, + "StringValue": { + "type": "string" + } + }, + "type": "object" + }, "AWS::IoT::TopicRule.CloudwatchAlarmAction": { "additionalProperties": false, "properties": { @@ -36905,6 +42420,55 @@ ], "type": "object" }, + "AWS::IoT::TopicRule.HttpAction": { + "additionalProperties": false, + "properties": { + "Auth": { + "$ref": "#/definitions/AWS::IoT::TopicRule.HttpAuthorization" + }, + "ConfirmationUrl": { + "type": "string" + }, + "Headers": { + "items": { + "$ref": "#/definitions/AWS::IoT::TopicRule.HttpActionHeader" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Url" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.HttpActionHeader": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.HttpAuthorization": { + "additionalProperties": false, + "properties": { + "Sigv4": { + "$ref": "#/definitions/AWS::IoT::TopicRule.SigV4Authorization" + } + }, + "type": "object" + }, "AWS::IoT::TopicRule.IotAnalyticsAction": { "additionalProperties": false, "properties": { @@ -36921,6 +42485,44 @@ ], "type": "object" }, + "AWS::IoT::TopicRule.IotEventsAction": { + "additionalProperties": false, + "properties": { + "InputName": { + "type": "string" + }, + "MessageId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "InputName", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.IotSiteWiseAction": { + "additionalProperties": false, + "properties": { + "PutAssetPropertyValueEntries": { + "items": { + "$ref": "#/definitions/AWS::IoT::TopicRule.PutAssetPropertyValueEntry" + }, + "type": "array" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "PutAssetPropertyValueEntries", + "RoleArn" + ], + "type": "object" + }, "AWS::IoT::TopicRule.KinesisAction": { "additionalProperties": false, "properties": { @@ -36949,6 +42551,33 @@ }, "type": "object" }, + "AWS::IoT::TopicRule.PutAssetPropertyValueEntry": { + "additionalProperties": false, + "properties": { + "AssetId": { + "type": "string" + }, + "EntryId": { + "type": "string" + }, + "PropertyAlias": { + "type": "string" + }, + "PropertyId": { + "type": "string" + }, + "PropertyValues": { + "items": { + "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyValue" + }, + "type": "array" + } + }, + "required": [ + "PropertyValues" + ], + "type": "object" + }, "AWS::IoT::TopicRule.PutItemInput": { "additionalProperties": false, "properties": { @@ -36964,6 +42593,9 @@ "AWS::IoT::TopicRule.RepublishAction": { "additionalProperties": false, "properties": { + "Qos": { + "type": "number" + }, "RoleArn": { "type": "string" }, @@ -36997,6 +42629,26 @@ ], "type": "object" }, + "AWS::IoT::TopicRule.SigV4Authorization": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "ServiceName": { + "type": "string" + }, + "SigningRegion": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "ServiceName", + "SigningRegion" + ], + "type": "object" + }, "AWS::IoT::TopicRule.SnsAction": { "additionalProperties": false, "properties": { @@ -37141,6 +42793,14 @@ "AWS::IoTAnalytics::Channel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -37272,6 +42932,14 @@ "AWS::IoTAnalytics::Dataset" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -37626,6 +43294,14 @@ "AWS::IoTAnalytics::Datastore" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -37739,6 +43415,14 @@ "AWS::IoTAnalytics::Pipeline" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -38018,6 +43702,14 @@ "AWS::IoTEvents::DetectorModel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -38031,12 +43723,21 @@ "ClearTimer": { "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.ClearTimer" }, + "DynamoDB": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.DynamoDB" + }, + "DynamoDBv2": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.DynamoDBv2" + }, "Firehose": { "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Firehose" }, "IotEvents": { "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.IotEvents" }, + "IotSiteWise": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.IotSiteWise" + }, "IotTopicPublish": { "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.IotTopicPublish" }, @@ -38061,6 +43762,51 @@ }, "type": "object" }, + "AWS::IoTEvents::DetectorModel.AssetPropertyTimestamp": { + "additionalProperties": false, + "properties": { + "OffsetInNanos": { + "type": "string" + }, + "TimeInSeconds": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.AssetPropertyValue": { + "additionalProperties": false, + "properties": { + "Quality": { + "type": "string" + }, + "Timestamp": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyTimestamp" + }, + "Value": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyVariant" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.AssetPropertyVariant": { + "additionalProperties": false, + "properties": { + "BooleanValue": { + "type": "string" + }, + "DoubleValue": { + "type": "string" + }, + "IntegerValue": { + "type": "string" + }, + "StringValue": { + "type": "string" + } + }, + "type": "object" + }, "AWS::IoTEvents::DetectorModel.ClearTimer": { "additionalProperties": false, "properties": { @@ -38085,6 +43831,54 @@ }, "type": "object" }, + "AWS::IoTEvents::DetectorModel.DynamoDB": { + "additionalProperties": false, + "properties": { + "HashKeyField": { + "type": "string" + }, + "HashKeyType": { + "type": "string" + }, + "HashKeyValue": { + "type": "string" + }, + "Operation": { + "type": "string" + }, + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, + "PayloadField": { + "type": "string" + }, + "RangeKeyField": { + "type": "string" + }, + "RangeKeyType": { + "type": "string" + }, + "RangeKeyValue": { + "type": "string" + }, + "TableName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.DynamoDBv2": { + "additionalProperties": false, + "properties": { + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, + "TableName": { + "type": "string" + } + }, + "type": "object" + }, "AWS::IoTEvents::DetectorModel.Event": { "additionalProperties": false, "properties": { @@ -38109,6 +43903,9 @@ "DeliveryStreamName": { "type": "string" }, + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, "Separator": { "type": "string" } @@ -38120,6 +43917,30 @@ "properties": { "InputName": { "type": "string" + }, + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.IotSiteWise": { + "additionalProperties": false, + "properties": { + "AssetId": { + "type": "string" + }, + "EntryId": { + "type": "string" + }, + "PropertyAlias": { + "type": "string" + }, + "PropertyId": { + "type": "string" + }, + "PropertyValue": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyValue" } }, "type": "object" @@ -38129,6 +43950,9 @@ "properties": { "MqttTopic": { "type": "string" + }, + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" } }, "type": "object" @@ -38138,6 +43962,9 @@ "properties": { "FunctionArn": { "type": "string" + }, + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" } }, "type": "object" @@ -38184,6 +44011,18 @@ }, "type": "object" }, + "AWS::IoTEvents::DetectorModel.Payload": { + "additionalProperties": false, + "properties": { + "ContentExpression": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, "AWS::IoTEvents::DetectorModel.ResetTimer": { "additionalProperties": false, "properties": { @@ -38196,6 +44035,9 @@ "AWS::IoTEvents::DetectorModel.SetTimer": { "additionalProperties": false, "properties": { + "DurationExpression": { + "type": "string" + }, "Seconds": { "type": "number" }, @@ -38220,6 +44062,9 @@ "AWS::IoTEvents::DetectorModel.Sns": { "additionalProperties": false, "properties": { + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, "TargetArn": { "type": "string" } @@ -38229,6 +44074,9 @@ "AWS::IoTEvents::DetectorModel.Sqs": { "additionalProperties": false, "properties": { + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, "QueueUrl": { "type": "string" }, @@ -38332,6 +44180,14 @@ "AWS::IoTEvents::Input" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -38409,6 +44265,14 @@ "AWS::IoTThingsGraph::FlowTemplate" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -38483,6 +44347,14 @@ "AWS::KMS::Alias" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -38558,6 +44430,14 @@ "AWS::KMS::Key" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -38627,6 +44507,14 @@ "AWS::Kinesis::Stream" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -38701,6 +44589,14 @@ "AWS::Kinesis::StreamConsumer" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -38767,6 +44663,14 @@ "AWS::KinesisAnalytics::Application" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -39015,6 +44919,14 @@ "AWS::KinesisAnalytics::ApplicationOutput" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -39154,6 +45066,14 @@ "AWS::KinesisAnalytics::ApplicationReferenceDataSource" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -39342,6 +45262,12 @@ }, "ServiceExecutionRole": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -39355,6 +45281,14 @@ "AWS::KinesisAnalyticsV2::Application" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -39781,6 +45715,14 @@ "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -39851,6 +45793,14 @@ "AWS::KinesisAnalyticsV2::ApplicationOutput" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -39978,6 +45928,14 @@ "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -40180,6 +46138,14 @@ "AWS::KinesisFirehose::DeliveryStream" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -40197,10 +46163,6 @@ "type": "number" } }, - "required": [ - "IntervalInSeconds", - "SizeInMBs" - ], "type": "object" }, "AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions": { @@ -40252,12 +46214,6 @@ "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SchemaConfiguration" } }, - "required": [ - "Enabled", - "InputFormatConfiguration", - "OutputFormatConfiguration", - "SchemaConfiguration" - ], "type": "object" }, "AWS::KinesisFirehose::DeliveryStream.Deserializer": { @@ -40282,10 +46238,6 @@ "type": "number" } }, - "required": [ - "IntervalInSeconds", - "SizeInMBs" - ], "type": "object" }, "AWS::KinesisFirehose::DeliveryStream.ElasticsearchDestinationConfiguration": { @@ -40297,6 +46249,9 @@ "CloudWatchLoggingOptions": { "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" }, + "ClusterEndpoint": { + "type": "string" + }, "DomainARN": { "type": "string" }, @@ -40323,18 +46278,15 @@ }, "TypeName": { "type": "string" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.VpcConfiguration" } }, "required": [ - "BufferingHints", - "DomainARN", "IndexName", - "IndexRotationPeriod", - "RetryOptions", "RoleARN", - "S3BackupMode", - "S3Configuration", - "TypeName" + "S3Configuration" ], "type": "object" }, @@ -40345,9 +46297,6 @@ "type": "number" } }, - "required": [ - "DurationInSeconds" - ], "type": "object" }, "AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration": { @@ -40404,8 +46353,6 @@ }, "required": [ "BucketARN", - "BufferingHints", - "CompressionFormat", "RoleARN" ], "type": "object" @@ -40429,9 +46376,6 @@ "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Deserializer" } }, - "required": [ - "Deserializer" - ], "type": "object" }, "AWS::KinesisFirehose::DeliveryStream.KMSEncryptionConfig": { @@ -40529,9 +46473,6 @@ "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Serializer" } }, - "required": [ - "Serializer" - ], "type": "object" }, "AWS::KinesisFirehose::DeliveryStream.ParquetSerDe": { @@ -40587,7 +46528,6 @@ } }, "required": [ - "Parameters", "Type" ], "type": "object" @@ -40626,9 +46566,18 @@ "ProcessingConfiguration": { "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" }, + "RetryOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RedshiftRetryOptions" + }, "RoleARN": { "type": "string" }, + "S3BackupConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + }, + "S3BackupMode": { + "type": "string" + }, "S3Configuration": { "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" }, @@ -40646,6 +46595,15 @@ ], "type": "object" }, + "AWS::KinesisFirehose::DeliveryStream.RedshiftRetryOptions": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "number" + } + }, + "type": "object" + }, "AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration": { "additionalProperties": false, "properties": { @@ -40676,8 +46634,6 @@ }, "required": [ "BucketARN", - "BufferingHints", - "CompressionFormat", "RoleARN" ], "type": "object" @@ -40704,14 +46660,6 @@ "type": "string" } }, - "required": [ - "CatalogId", - "DatabaseName", - "Region", - "RoleARN", - "TableName", - "VersionId" - ], "type": "object" }, "AWS::KinesisFirehose::DeliveryStream.Serializer": { @@ -40772,8 +46720,31 @@ "type": "number" } }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.VpcConfiguration": { + "additionalProperties": false, + "properties": { + "RoleARN": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, "required": [ - "DurationInSeconds" + "RoleARN", + "SecurityGroupIds", + "SubnetIds" ], "type": "object" }, @@ -40820,6 +46791,14 @@ "AWS::LakeFormation::DataLakeSettings" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -40903,6 +46882,14 @@ "AWS::LakeFormation::Permissions" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -40911,6 +46898,18 @@ ], "type": "object" }, + "AWS::LakeFormation::Permissions.ColumnWildcard": { + "additionalProperties": false, + "properties": { + "ExcludedColumnNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::LakeFormation::Permissions.DataLakePrincipal": { "additionalProperties": false, "properties": { @@ -40920,6 +46919,15 @@ }, "type": "object" }, + "AWS::LakeFormation::Permissions.DataLocationResource": { + "additionalProperties": false, + "properties": { + "S3Resource": { + "type": "string" + } + }, + "type": "object" + }, "AWS::LakeFormation::Permissions.DatabaseResource": { "additionalProperties": false, "properties": { @@ -40932,11 +46940,17 @@ "AWS::LakeFormation::Permissions.Resource": { "additionalProperties": false, "properties": { + "DataLocationResource": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.DataLocationResource" + }, "DatabaseResource": { "$ref": "#/definitions/AWS::LakeFormation::Permissions.DatabaseResource" }, "TableResource": { "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableResource" + }, + "TableWithColumnsResource": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableWithColumnsResource" } }, "type": "object" @@ -40953,6 +46967,27 @@ }, "type": "object" }, + "AWS::LakeFormation::Permissions.TableWithColumnsResource": { + "additionalProperties": false, + "properties": { + "ColumnNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ColumnWildcard": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.ColumnWildcard" + }, + "DatabaseName": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, "AWS::LakeFormation::Resource": { "additionalProperties": false, "properties": { @@ -41006,6 +47041,14 @@ "AWS::LakeFormation::Resource" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -41077,6 +47120,14 @@ "AWS::Lambda::Alias" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -41187,6 +47238,14 @@ "AWS::Lambda::EventInvokeConfig" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -41308,6 +47367,14 @@ "AWS::Lambda::EventSourceMapping" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -41440,6 +47507,14 @@ "AWS::Lambda::Function" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -41582,6 +47657,14 @@ "AWS::Lambda::LayerVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -41666,6 +47749,14 @@ "AWS::Lambda::LayerVersionPermission" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -41737,6 +47828,14 @@ "AWS::Lambda::Permission" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -41800,6 +47899,14 @@ "AWS::Lambda::Version" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -41878,6 +47985,14 @@ "AWS::Logs::Destination" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -41932,6 +48047,14 @@ "AWS::Logs::LogGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -41988,6 +48111,14 @@ "AWS::Logs::LogStream" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -42053,6 +48184,14 @@ "AWS::Logs::MetricFilter" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -42141,6 +48280,14 @@ "AWS::Logs::SubscriptionFilter" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -42202,6 +48349,9 @@ "KafkaVersion": { "type": "string" }, + "LoggingInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.LoggingInfo" + }, "NumberOfBrokerNodes": { "type": "number" }, @@ -42225,6 +48375,14 @@ "AWS::MSK::Cluster" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -42233,6 +48391,21 @@ ], "type": "object" }, + "AWS::MSK::Cluster.BrokerLogs": { + "additionalProperties": false, + "properties": { + "CloudWatchLogs": { + "$ref": "#/definitions/AWS::MSK::Cluster.CloudWatchLogs" + }, + "Firehose": { + "$ref": "#/definitions/AWS::MSK::Cluster.Firehose" + }, + "S3": { + "$ref": "#/definitions/AWS::MSK::Cluster.S3" + } + }, + "type": "object" + }, "AWS::MSK::Cluster.BrokerNodeGroupInfo": { "additionalProperties": false, "properties": { @@ -42273,6 +48446,21 @@ }, "type": "object" }, + "AWS::MSK::Cluster.CloudWatchLogs": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "LogGroup": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, "AWS::MSK::Cluster.ConfigurationInfo": { "additionalProperties": false, "properties": { @@ -42334,6 +48522,21 @@ }, "type": "object" }, + "AWS::MSK::Cluster.Firehose": { + "additionalProperties": false, + "properties": { + "DeliveryStream": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, "AWS::MSK::Cluster.JmxExporter": { "additionalProperties": false, "properties": { @@ -42346,6 +48549,18 @@ ], "type": "object" }, + "AWS::MSK::Cluster.LoggingInfo": { + "additionalProperties": false, + "properties": { + "BrokerLogs": { + "$ref": "#/definitions/AWS::MSK::Cluster.BrokerLogs" + } + }, + "required": [ + "BrokerLogs" + ], + "type": "object" + }, "AWS::MSK::Cluster.NodeExporter": { "additionalProperties": false, "properties": { @@ -42382,6 +48597,24 @@ }, "type": "object" }, + "AWS::MSK::Cluster.S3": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "Prefix": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, "AWS::MSK::Cluster.StorageInfo": { "additionalProperties": false, "properties": { @@ -42403,6 +48636,240 @@ }, "type": "object" }, + "AWS::Macie::CustomDataIdentifier": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "IgnoreWords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Keywords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaximumMatchDistance": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Regex": { + "type": "string" + } + }, + "required": [ + "Name", + "Regex" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Macie::CustomDataIdentifier" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Macie::FindingsFilter": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "FindingCriteria": { + "$ref": "#/definitions/AWS::Macie::FindingsFilter.FindingCriteria" + }, + "Name": { + "type": "string" + }, + "Position": { + "type": "number" + } + }, + "required": [ + "FindingCriteria", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Macie::FindingsFilter" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Macie::FindingsFilter.Criterion": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::Macie::FindingsFilter.FindingCriteria": { + "additionalProperties": false, + "properties": { + "Criterion": { + "$ref": "#/definitions/AWS::Macie::FindingsFilter.Criterion" + } + }, + "type": "object" + }, + "AWS::Macie::Session": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FindingPublishingFrequency": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Macie::Session" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::ManagedBlockchain::Member": { "additionalProperties": false, "properties": { @@ -42458,6 +48925,14 @@ "AWS::ManagedBlockchain::Member" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -42638,6 +49113,14 @@ "AWS::ManagedBlockchain::Node" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -42703,6 +49186,12 @@ "Description": { "type": "string" }, + "HopDestinations": { + "items": { + "$ref": "#/definitions/AWS::MediaConvert::JobTemplate.HopDestination" + }, + "type": "array" + }, "Name": { "type": "string" }, @@ -42732,6 +49221,14 @@ "AWS::MediaConvert::JobTemplate" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -42752,6 +49249,21 @@ ], "type": "object" }, + "AWS::MediaConvert::JobTemplate.HopDestination": { + "additionalProperties": false, + "properties": { + "Priority": { + "type": "number" + }, + "Queue": { + "type": "string" + }, + "WaitMinutes": { + "type": "number" + } + }, + "type": "object" + }, "AWS::MediaConvert::Preset": { "additionalProperties": false, "properties": { @@ -42810,6 +49322,14 @@ "AWS::MediaConvert::Preset" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -42873,6 +49393,14 @@ "AWS::MediaConvert::Queue" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -42953,6 +49481,14 @@ "AWS::MediaLive::Channel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -43244,76 +49780,447 @@ "Convert608To708": { "type": "string" }, - "Source608ChannelNumber": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Scte27SourceSettings": { - "additionalProperties": false, - "properties": { - "Pid": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.TeletextSourceSettings": { - "additionalProperties": false, - "properties": { - "PageNumber": { + "Source608ChannelNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte27SourceSettings": { + "additionalProperties": false, + "properties": { + "Pid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.TeletextSourceSettings": { + "additionalProperties": false, + "properties": { + "PageNumber": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoSelector": { + "additionalProperties": false, + "properties": { + "ColorSpace": { + "type": "string" + }, + "ColorSpaceUsage": { + "type": "string" + }, + "SelectorSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoSelectorPid": { + "additionalProperties": false, + "properties": { + "Pid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoSelectorProgramId": { + "additionalProperties": false, + "properties": { + "ProgramId": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoSelectorSettings": { + "additionalProperties": false, + "properties": { + "VideoSelectorPid": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorPid" + }, + "VideoSelectorProgramId": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorProgramId" + } + }, + "type": "object" + }, + "AWS::MediaLive::Input": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Input.InputDestinationRequest" + }, + "type": "array" + }, + "InputSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MediaConnectFlows": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Input.MediaConnectFlowRequest" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Input.InputSourceRequest" + }, + "type": "array" + }, + "Tags": { + "type": "object" + }, + "Type": { + "type": "string" + }, + "Vpc": { + "$ref": "#/definitions/AWS::MediaLive::Input.InputVpcRequest" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaLive::Input" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::MediaLive::Input.InputDestinationRequest": { + "additionalProperties": false, + "properties": { + "StreamName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Input.InputSourceRequest": { + "additionalProperties": false, + "properties": { + "PasswordParam": { + "type": "string" + }, + "Url": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Input.InputVpcRequest": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaLive::Input.MediaConnectFlowRequest": { + "additionalProperties": false, + "properties": { + "FlowArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::InputSecurityGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Tags": { + "type": "object" + }, + "WhitelistRules": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::InputSecurityGroup.InputWhitelistRuleCidr" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaLive::InputSecurityGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::MediaLive::InputSecurityGroup.InputWhitelistRuleCidr": { + "additionalProperties": false, + "properties": { + "Cidr": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaStore::Container": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessLoggingEnabled": { + "type": "boolean" + }, + "ContainerName": { + "type": "string" + }, + "CorsPolicy": { + "items": { + "$ref": "#/definitions/AWS::MediaStore::Container.CorsRule" + }, + "type": "array" + }, + "LifecyclePolicy": { + "type": "string" + }, + "MetricPolicy": { + "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicy" + }, + "Policy": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ContainerName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaStore::Container" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaLive::Channel.VideoSelector": { + "AWS::MediaStore::Container.CorsRule": { "additionalProperties": false, "properties": { - "ColorSpace": { - "type": "string" + "AllowedHeaders": { + "items": { + "type": "string" + }, + "type": "array" }, - "ColorSpaceUsage": { - "type": "string" + "AllowedMethods": { + "items": { + "type": "string" + }, + "type": "array" }, - "SelectorSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.VideoSelectorPid": { - "additionalProperties": false, - "properties": { - "Pid": { + "AllowedOrigins": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExposeHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxAgeSeconds": { "type": "number" } }, "type": "object" }, - "AWS::MediaLive::Channel.VideoSelectorProgramId": { + "AWS::MediaStore::Container.MetricPolicy": { "additionalProperties": false, "properties": { - "ProgramId": { - "type": "number" + "ContainerLevelMetrics": { + "type": "string" + }, + "MetricPolicyRules": { + "items": { + "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicyRule" + }, + "type": "array" } }, + "required": [ + "ContainerLevelMetrics" + ], "type": "object" }, - "AWS::MediaLive::Channel.VideoSelectorSettings": { + "AWS::MediaStore::Container.MetricPolicyRule": { "additionalProperties": false, "properties": { - "VideoSelectorPid": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorPid" + "ObjectGroup": { + "type": "string" }, - "VideoSelectorProgramId": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorProgramId" + "ObjectGroupName": { + "type": "string" } }, + "required": [ + "ObjectGroup", + "ObjectGroupName" + ], "type": "object" }, - "AWS::MediaLive::Input": { + "AWS::Neptune::DBCluster": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43345,51 +50252,95 @@ "Properties": { "additionalProperties": false, "properties": { - "Destinations": { + "AvailabilityZones": { "items": { - "$ref": "#/definitions/AWS::MediaLive::Input.InputDestinationRequest" + "type": "string" }, "type": "array" }, - "InputSecurityGroups": { + "BackupRetentionPeriod": { + "type": "number" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBClusterParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "EnableCloudwatchLogsExports": { "items": { "type": "string" }, "type": "array" }, - "MediaConnectFlows": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Input.MediaConnectFlowRequest" - }, - "type": "array" + "EngineVersion": { + "type": "string" }, - "Name": { + "IamAuthEnabled": { + "type": "boolean" + }, + "KmsKeyId": { "type": "string" }, - "RoleArn": { + "Port": { + "type": "number" + }, + "PreferredBackupWindow": { "type": "string" }, - "Sources": { + "PreferredMaintenanceWindow": { + "type": "string" + }, + "RestoreToTime": { + "type": "string" + }, + "RestoreType": { + "type": "string" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::MediaLive::Input.InputSourceRequest" + "$ref": "#/definitions/Tag" }, "type": "array" }, - "Tags": { - "type": "object" - }, - "Type": { - "type": "string" + "UseLatestRestorableTime": { + "type": "boolean" }, - "Vpc": { - "$ref": "#/definitions/AWS::MediaLive::Input.InputVpcRequest" + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, "Type": { "enum": [ - "AWS::MediaLive::Input" + "AWS::Neptune::DBCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -43399,58 +50350,181 @@ ], "type": "object" }, - "AWS::MediaLive::Input.InputDestinationRequest": { - "additionalProperties": false, - "properties": { - "StreamName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Input.InputSourceRequest": { + "AWS::Neptune::DBClusterParameterGroup": { "additionalProperties": false, "properties": { - "PasswordParam": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Url": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Family": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description", + "Family", + "Parameters" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBClusterParameterGroup" + ], "type": "string" }, - "Username": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaLive::Input.InputVpcRequest": { + "AWS::Neptune::DBInstance": { "additionalProperties": false, "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "SubnetIds": { - "items": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowMajorVersionUpgrade": { + "type": "boolean" + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AvailabilityZone": { + "type": "string" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBInstanceClass": { + "type": "string" + }, + "DBInstanceIdentifier": { + "type": "string" + }, + "DBParameterGroupName": { + "type": "string" + }, + "DBSnapshotIdentifier": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::MediaLive::Input.MediaConnectFlowRequest": { - "additionalProperties": false, - "properties": { - "FlowArn": { + "required": [ + "DBInstanceClass" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBInstance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaLive::InputSecurityGroup": { + "AWS::Neptune::DBParameterGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43482,40 +50556,54 @@ "Properties": { "additionalProperties": false, "properties": { - "Tags": { + "Description": { + "type": "string" + }, + "Family": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Parameters": { "type": "object" }, - "WhitelistRules": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::MediaLive::InputSecurityGroup.InputWhitelistRuleCidr" + "$ref": "#/definitions/Tag" }, "type": "array" } }, + "required": [ + "Description", + "Family", + "Parameters" + ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaLive::InputSecurityGroup" + "AWS::Neptune::DBParameterGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::MediaLive::InputSecurityGroup.InputWhitelistRuleCidr": { - "additionalProperties": false, - "properties": { - "Cidr": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaStore::Container": { + "AWS::Neptune::DBSubnetGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43547,33 +50635,42 @@ "Properties": { "additionalProperties": false, "properties": { - "AccessLoggingEnabled": { - "type": "boolean" + "DBSubnetGroupDescription": { + "type": "string" }, - "ContainerName": { + "DBSubnetGroupName": { "type": "string" }, - "CorsPolicy": { + "SubnetIds": { "items": { - "$ref": "#/definitions/AWS::MediaStore::Container.CorsRule" + "type": "string" }, "type": "array" }, - "LifecyclePolicy": { - "type": "string" - }, - "Policy": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "ContainerName" + "DBSubnetGroupDescription", + "SubnetIds" ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaStore::Container" + "AWS::Neptune::DBSubnetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -43584,40 +50681,80 @@ ], "type": "object" }, - "AWS::MediaStore::Container.CorsRule": { + "AWS::NetworkManager::CustomerGatewayAssociation": { "additionalProperties": false, "properties": { - "AllowedHeaders": { - "items": { - "type": "string" - }, - "type": "array" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "AllowedMethods": { - "items": { - "type": "string" - }, - "type": "array" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "AllowedOrigins": { - "items": { - "type": "string" - }, - "type": "array" + "Metadata": { + "type": "object" }, - "ExposeHeaders": { - "items": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "CustomerGatewayArn": { + "type": "string" + }, + "DeviceId": { + "type": "string" + }, + "GlobalNetworkId": { + "type": "string" + }, + "LinkId": { + "type": "string" + } }, - "type": "array" + "required": [ + "CustomerGatewayArn", + "DeviceId", + "GlobalNetworkId" + ], + "type": "object" }, - "MaxAgeSeconds": { - "type": "number" + "Type": { + "enum": [ + "AWS::NetworkManager::CustomerGatewayAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::Neptune::DBCluster": { + "AWS::NetworkManager::Device": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43649,66 +50786,116 @@ "Properties": { "additionalProperties": false, "properties": { - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BackupRetentionPeriod": { - "type": "number" + "Description": { + "type": "string" }, - "DBClusterIdentifier": { + "GlobalNetworkId": { "type": "string" }, - "DBClusterParameterGroupName": { + "Location": { + "$ref": "#/definitions/AWS::NetworkManager::Device.Location" + }, + "Model": { "type": "string" }, - "DBSubnetGroupName": { + "SerialNumber": { "type": "string" }, - "DeletionProtection": { - "type": "boolean" + "SiteId": { + "type": "string" }, - "EnableCloudwatchLogsExports": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" }, - "EngineVersion": { - "type": "string" - }, - "IamAuthEnabled": { - "type": "boolean" - }, - "KmsKeyId": { + "Type": { "type": "string" }, - "Port": { - "type": "number" - }, - "PreferredBackupWindow": { + "Vendor": { "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "SnapshotIdentifier": { + } + }, + "required": [ + "GlobalNetworkId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::Device" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkManager::Device.Location": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Latitude": { + "type": "string" + }, + "Longitude": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::NetworkManager::GlobalNetwork": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, - "StorageEncrypted": { - "type": "boolean" - }, - "Tags": { + { "items": { - "$ref": "#/definitions/Tag" + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" }, "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" }, - "VpcSecurityGroupIds": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" } @@ -43717,7 +50904,15 @@ }, "Type": { "enum": [ - "AWS::Neptune::DBCluster" + "AWS::NetworkManager::GlobalNetwork" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -43727,7 +50922,7 @@ ], "type": "object" }, - "AWS::Neptune::DBClusterParameterGroup": { + "AWS::NetworkManager::Link": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43759,35 +50954,49 @@ "Properties": { "additionalProperties": false, "properties": { + "Bandwidth": { + "$ref": "#/definitions/AWS::NetworkManager::Link.Bandwidth" + }, "Description": { "type": "string" }, - "Family": { + "GlobalNetworkId": { "type": "string" }, - "Name": { + "Provider": { "type": "string" }, - "Parameters": { - "type": "object" + "SiteId": { + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "Type": { + "type": "string" } }, "required": [ - "Description", - "Family", - "Parameters" + "Bandwidth", + "GlobalNetworkId", + "SiteId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Neptune::DBClusterParameterGroup" + "AWS::NetworkManager::Link" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -43798,7 +51007,19 @@ ], "type": "object" }, - "AWS::Neptune::DBInstance": { + "AWS::NetworkManager::Link.Bandwidth": { + "additionalProperties": false, + "properties": { + "DownloadSpeed": { + "type": "number" + }, + "UploadSpeed": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::NetworkManager::LinkAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43830,51 +51051,34 @@ "Properties": { "additionalProperties": false, "properties": { - "AllowMajorVersionUpgrade": { - "type": "boolean" - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZone": { - "type": "string" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBInstanceClass": { - "type": "string" - }, - "DBInstanceIdentifier": { - "type": "string" - }, - "DBParameterGroupName": { - "type": "string" - }, - "DBSnapshotIdentifier": { + "DeviceId": { "type": "string" }, - "DBSubnetGroupName": { + "GlobalNetworkId": { "type": "string" }, - "PreferredMaintenanceWindow": { + "LinkId": { "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, "required": [ - "DBInstanceClass" + "DeviceId", + "GlobalNetworkId", + "LinkId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Neptune::DBInstance" + "AWS::NetworkManager::LinkAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -43885,7 +51089,7 @@ ], "type": "object" }, - "AWS::Neptune::DBParameterGroup": { + "AWS::NetworkManager::Site": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43920,14 +51124,11 @@ "Description": { "type": "string" }, - "Family": { + "GlobalNetworkId": { "type": "string" }, - "Name": { - "type": "string" - }, - "Parameters": { - "type": "object" + "Location": { + "$ref": "#/definitions/AWS::NetworkManager::Site.Location" }, "Tags": { "items": { @@ -43937,15 +51138,21 @@ } }, "required": [ - "Description", - "Family", - "Parameters" + "GlobalNetworkId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Neptune::DBParameterGroup" + "AWS::NetworkManager::Site" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -43956,7 +51163,22 @@ ], "type": "object" }, - "AWS::Neptune::DBSubnetGroup": { + "AWS::NetworkManager::Site.Location": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Latitude": { + "type": "string" + }, + "Longitude": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::NetworkManager::TransitGatewayRegistration": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43988,34 +51210,30 @@ "Properties": { "additionalProperties": false, "properties": { - "DBSubnetGroupDescription": { + "GlobalNetworkId": { "type": "string" }, - "DBSubnetGroupName": { + "TransitGatewayArn": { "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, "required": [ - "DBSubnetGroupDescription", - "SubnetIds" + "GlobalNetworkId", + "TransitGatewayArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Neptune::DBSubnetGroup" + "AWS::NetworkManager::TransitGatewayRegistration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -44122,6 +51340,14 @@ "AWS::OpsWorks::App" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -44253,6 +51479,14 @@ "AWS::OpsWorks::ElasticLoadBalancerAttachment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -44381,6 +51615,14 @@ "AWS::OpsWorks::Instance" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -44621,6 +51863,14 @@ "AWS::OpsWorks::Layer" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -44890,6 +52140,14 @@ "AWS::OpsWorks::Stack" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -45036,6 +52294,14 @@ "AWS::OpsWorks::UserProfile" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -45100,6 +52366,14 @@ "AWS::OpsWorks::Volume" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -45228,6 +52502,14 @@ "AWS::OpsWorksCM::Server" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -45305,6 +52587,14 @@ "AWS::Pinpoint::ADMChannel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -45383,6 +52673,14 @@ "AWS::Pinpoint::APNSChannel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -45423,257 +52721,289 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationId": { - "type": "string" - }, - "BundleId": { - "type": "string" - }, - "Certificate": { - "type": "string" - }, - "DefaultAuthenticationMethod": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "PrivateKey": { - "type": "string" - }, - "TeamId": { - "type": "string" - }, - "TokenKey": { + "ApplicationId": { + "type": "string" + }, + "BundleId": { + "type": "string" + }, + "Certificate": { + "type": "string" + }, + "DefaultAuthenticationMethod": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "PrivateKey": { + "type": "string" + }, + "TeamId": { + "type": "string" + }, + "TokenKey": { + "type": "string" + }, + "TokenKeyId": { + "type": "string" + } + }, + "required": [ + "ApplicationId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::APNSSandboxChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::APNSVoipChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "BundleId": { + "type": "string" + }, + "Certificate": { + "type": "string" + }, + "DefaultAuthenticationMethod": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "PrivateKey": { + "type": "string" + }, + "TeamId": { + "type": "string" + }, + "TokenKey": { + "type": "string" + }, + "TokenKeyId": { + "type": "string" + } + }, + "required": [ + "ApplicationId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::APNSVoipChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::APNSVoipSandboxChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "BundleId": { + "type": "string" + }, + "Certificate": { + "type": "string" + }, + "DefaultAuthenticationMethod": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "PrivateKey": { + "type": "string" + }, + "TeamId": { + "type": "string" + }, + "TokenKey": { + "type": "string" + }, + "TokenKeyId": { + "type": "string" + } + }, + "required": [ + "ApplicationId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::APNSVoipSandboxChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::App": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { "type": "string" }, - "TokenKeyId": { - "type": "string" + "Tags": { + "type": "object" } }, "required": [ - "ApplicationId" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::APNSSandboxChannel" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::APNSVoipChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" + "AWS::Pinpoint::App" ], "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "BundleId": { - "type": "string" - }, - "Certificate": { - "type": "string" - }, - "DefaultAuthenticationMethod": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "PrivateKey": { - "type": "string" - }, - "TeamId": { - "type": "string" - }, - "TokenKey": { - "type": "string" - }, - "TokenKeyId": { - "type": "string" - } - }, - "required": [ - "ApplicationId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::APNSVoipChannel" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::APNSVoipSandboxChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { + "UpdateReplacePolicy": { "enum": [ "Delete", "Retain", "Snapshot" ], "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "BundleId": { - "type": "string" - }, - "Certificate": { - "type": "string" - }, - "DefaultAuthenticationMethod": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "PrivateKey": { - "type": "string" - }, - "TeamId": { - "type": "string" - }, - "TokenKey": { - "type": "string" - }, - "TokenKeyId": { - "type": "string" - } - }, - "required": [ - "ApplicationId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::APNSVoipSandboxChannel" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::App": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::App" - ], - "type": "string" } }, "required": [ @@ -45740,6 +53070,14 @@ "AWS::Pinpoint::ApplicationSettings" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -45854,6 +53192,14 @@ "AWS::Pinpoint::BaiduChannel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -45957,6 +53303,14 @@ "AWS::Pinpoint::Campaign" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -46296,6 +53650,14 @@ "AWS::Pinpoint::EmailChannel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -46369,6 +53731,14 @@ "AWS::Pinpoint::EmailTemplate" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -46431,6 +53801,14 @@ "AWS::Pinpoint::EventStream" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -46492,6 +53870,14 @@ "AWS::Pinpoint::GCMChannel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -46570,6 +53956,14 @@ "AWS::Pinpoint::PushTemplate" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -46708,6 +54102,14 @@ "AWS::Pinpoint::SMSChannel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -46775,6 +54177,14 @@ "AWS::Pinpoint::Segment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -47043,6 +54453,14 @@ "AWS::Pinpoint::SmsTemplate" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -47100,6 +54518,14 @@ "AWS::Pinpoint::VoiceChannel" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -47172,6 +54598,14 @@ "AWS::PinpointEmail::ConfigurationSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -47281,6 +54715,14 @@ "AWS::PinpointEmail::ConfigurationSetEventDestination" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -47437,6 +54879,14 @@ "AWS::PinpointEmail::DedicatedIpPool" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -47517,6 +54967,14 @@ "AWS::PinpointEmail::Identity" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -47607,6 +55065,14 @@ "AWS::QLDB::Ledger" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -47682,6 +55148,14 @@ "AWS::RAM::ResourceShare" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -47841,6 +55315,14 @@ "AWS::RDS::DBCluster" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -47942,6 +55424,14 @@ "AWS::RDS::DBClusterParameterGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -48111,46 +55601,256 @@ "PreferredBackupWindow": { "type": "string" }, - "PreferredMaintenanceWindow": { + "PreferredMaintenanceWindow": { + "type": "string" + }, + "ProcessorFeatures": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBInstance.ProcessorFeature" + }, + "type": "array" + }, + "PromotionTier": { + "type": "number" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "SourceDBInstanceIdentifier": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Timezone": { + "type": "string" + }, + "UseDefaultProcessorFeatures": { + "type": "boolean" + }, + "VPCSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "DBInstanceClass" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBInstance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBInstance.DBInstanceRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "FeatureName", + "RoleArn" + ], + "type": "object" + }, + "AWS::RDS::DBInstance.ProcessorFeature": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RDS::DBParameterGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Family": { + "type": "string" + }, + "Parameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description", + "Family" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBParameterGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBProxy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, - "ProcessorFeatures": { + { "items": { - "$ref": "#/definitions/AWS::RDS::DBInstance.ProcessorFeature" + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Auth": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBProxy.AuthFormat" }, "type": "array" }, - "PromotionTier": { - "type": "number" + "DBProxyName": { + "type": "string" }, - "PubliclyAccessible": { + "DebugLogging": { "type": "boolean" }, - "SourceDBInstanceIdentifier": { + "EngineFamily": { "type": "string" }, - "SourceRegion": { - "type": "string" + "IdleClientTimeout": { + "type": "number" }, - "StorageEncrypted": { + "RequireTLS": { "type": "boolean" }, - "StorageType": { + "RoleArn": { "type": "string" }, "Tags": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::RDS::DBProxy.TagFormat" }, "type": "array" }, - "Timezone": { - "type": "string" - }, - "UseDefaultProcessorFeatures": { - "type": "boolean" + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" }, - "VPCSecurityGroups": { + "VpcSubnetIds": { "items": { "type": "string" }, @@ -48158,13 +55858,25 @@ } }, "required": [ - "DBInstanceClass" + "Auth", + "DBProxyName", + "EngineFamily", + "RoleArn", + "VpcSubnetIds" ], "type": "object" }, "Type": { "enum": [ - "AWS::RDS::DBInstance" + "AWS::RDS::DBProxy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -48175,26 +55887,31 @@ ], "type": "object" }, - "AWS::RDS::DBInstance.DBInstanceRole": { + "AWS::RDS::DBProxy.AuthFormat": { "additionalProperties": false, "properties": { - "FeatureName": { + "AuthScheme": { "type": "string" }, - "RoleArn": { + "Description": { + "type": "string" + }, + "IAMAuth": { + "type": "string" + }, + "SecretArn": { + "type": "string" + }, + "UserName": { "type": "string" } }, - "required": [ - "FeatureName", - "RoleArn" - ], "type": "object" }, - "AWS::RDS::DBInstance.ProcessorFeature": { + "AWS::RDS::DBProxy.TagFormat": { "additionalProperties": false, "properties": { - "Name": { + "Key": { "type": "string" }, "Value": { @@ -48203,7 +55920,7 @@ }, "type": "object" }, - "AWS::RDS::DBParameterGroup": { + "AWS::RDS::DBProxyTargetGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -48235,37 +55952,41 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "Family": { - "type": "string" + "ConnectionPoolConfigurationInfo": { + "$ref": "#/definitions/AWS::RDS::DBProxyTargetGroup.ConnectionPoolConfigurationInfoFormat" }, - "Parameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "DBClusterIdentifiers": { + "items": { + "type": "string" }, - "type": "object" + "type": "array" }, - "Tags": { + "DBInstanceIdentifiers": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, "type": "array" + }, + "DBProxyName": { + "type": "string" } }, "required": [ - "Description", - "Family" + "DBProxyName" ], "type": "object" }, "Type": { "enum": [ - "AWS::RDS::DBParameterGroup" + "AWS::RDS::DBProxyTargetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" ], "type": "string" } @@ -48276,6 +55997,30 @@ ], "type": "object" }, + "AWS::RDS::DBProxyTargetGroup.ConnectionPoolConfigurationInfoFormat": { + "additionalProperties": false, + "properties": { + "ConnectionBorrowTimeout": { + "type": "number" + }, + "InitQuery": { + "type": "string" + }, + "MaxConnectionsPercent": { + "type": "number" + }, + "MaxIdleConnectionsPercent": { + "type": "number" + }, + "SessionPinningFilters": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::RDS::DBSecurityGroup": { "additionalProperties": false, "properties": { @@ -48338,6 +56083,14 @@ "AWS::RDS::DBSecurityGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -48422,6 +56175,14 @@ "AWS::RDS::DBSecurityGroupIngress" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -48492,6 +56253,14 @@ "AWS::RDS::DBSubnetGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -48564,6 +56333,14 @@ "AWS::RDS::EventSubscription" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -48639,6 +56416,14 @@ "AWS::RDS::OptionGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -48841,6 +56626,14 @@ "AWS::Redshift::Cluster" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -48899,14 +56692,319 @@ "Description": { "type": "string" }, - "ParameterGroupFamily": { + "ParameterGroupFamily": { + "type": "string" + }, + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::Redshift::ClusterParameterGroup.Parameter" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description", + "ParameterGroupFamily" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Redshift::ClusterParameterGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Redshift::ClusterParameterGroup.Parameter": { + "additionalProperties": false, + "properties": { + "ParameterName": { + "type": "string" + }, + "ParameterValue": { + "type": "string" + } + }, + "required": [ + "ParameterName", + "ParameterValue" + ], + "type": "object" + }, + "AWS::Redshift::ClusterSecurityGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Redshift::ClusterSecurityGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Redshift::ClusterSecurityGroupIngress": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CIDRIP": { + "type": "string" + }, + "ClusterSecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupOwnerId": { + "type": "string" + } + }, + "required": [ + "ClusterSecurityGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Redshift::ClusterSecurityGroupIngress" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Redshift::ClusterSubnetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description", + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Redshift::ClusterSubnetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ResourceGroups::Group": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { "type": "string" }, - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::Redshift::ClusterParameterGroup.Parameter" - }, - "type": "array" + "ResourceQuery": { + "$ref": "#/definitions/AWS::ResourceGroups::Group.ResourceQuery" }, "Tags": { "items": { @@ -48916,92 +57014,23 @@ } }, "required": [ - "Description", - "ParameterGroupFamily" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Redshift::ClusterParameterGroup" + "AWS::ResourceGroups::Group" ], "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Redshift::ClusterParameterGroup.Parameter": { - "additionalProperties": false, - "properties": { - "ParameterName": { - "type": "string" }, - "ParameterValue": { - "type": "string" - } - }, - "required": [ - "ParameterName", - "ParameterValue" - ], - "type": "object" - }, - "AWS::Redshift::ClusterSecurityGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { + "UpdateReplacePolicy": { "enum": [ "Delete", "Retain", "Snapshot" ], "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Description" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::ClusterSecurityGroup" - ], - "type": "string" } }, "required": [ @@ -49010,134 +57039,52 @@ ], "type": "object" }, - "AWS::Redshift::ClusterSecurityGroupIngress": { + "AWS::ResourceGroups::Group.Query": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "ResourceTypeFilters": { + "items": { + "type": "string" + }, + "type": "array" }, - "Metadata": { - "type": "object" + "StackIdentifier": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "CIDRIP": { - "type": "string" - }, - "ClusterSecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupOwnerId": { - "type": "string" - } + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::ResourceGroups::Group.TagFilter" }, - "required": [ - "ClusterSecurityGroupName" - ], - "type": "object" + "type": "array" + } + }, + "type": "object" + }, + "AWS::ResourceGroups::Group.ResourceQuery": { + "additionalProperties": false, + "properties": { + "Query": { + "$ref": "#/definitions/AWS::ResourceGroups::Group.Query" }, "Type": { - "enum": [ - "AWS::Redshift::ClusterSecurityGroupIngress" - ], "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::Redshift::ClusterSubnetGroup": { + "AWS::ResourceGroups::Group.TagFilter": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Key": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } + "Values": { + "items": { + "type": "string" }, - "required": [ - "Description", - "SubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::ClusterSubnetGroup" - ], - "type": "string" + "type": "array" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, "AWS::RoboMaker::Fleet": { @@ -49186,6 +57133,14 @@ "AWS::RoboMaker::Fleet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -49252,6 +57207,14 @@ "AWS::RoboMaker::Robot" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -49322,6 +57285,14 @@ "AWS::RoboMaker::RobotApplication" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -49415,6 +57386,14 @@ "AWS::RoboMaker::RobotApplicationVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -49493,6 +57472,14 @@ "AWS::RoboMaker::SimulationApplication" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -49618,6 +57605,14 @@ "AWS::RoboMaker::SimulationApplicationVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -49678,6 +57673,14 @@ "AWS::Route53::HealthCheck" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -49845,6 +57848,14 @@ "AWS::Route53::HostedZone" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -49998,6 +58009,14 @@ "AWS::Route53::RecordSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -50095,6 +58114,14 @@ "AWS::Route53::RecordSetGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -50263,6 +58290,14 @@ "AWS::Route53Resolver::ResolverEndpoint" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -50354,6 +58389,14 @@ "AWS::Route53Resolver::ResolverRule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -50430,6 +58473,14 @@ "AWS::Route53Resolver::ResolverRuleAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -50505,6 +58556,14 @@ "AWS::S3::AccessPoint" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -50646,6 +58705,14 @@ "AWS::S3::Bucket" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -50815,6 +58882,15 @@ }, "type": "object" }, + "AWS::S3::Bucket.DeleteMarkerReplication": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "type": "object" + }, "AWS::S3::Bucket.Destination": { "additionalProperties": false, "properties": { @@ -50948,6 +59024,22 @@ }, "type": "object" }, + "AWS::S3::Bucket.Metrics": { + "additionalProperties": false, + "properties": { + "EventThreshold": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTimeValue" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "EventThreshold", + "Status" + ], + "type": "object" + }, "AWS::S3::Bucket.MetricsConfiguration": { "additionalProperties": false, "properties": { @@ -51149,6 +59241,12 @@ "EncryptionConfiguration": { "$ref": "#/definitions/AWS::S3::Bucket.EncryptionConfiguration" }, + "Metrics": { + "$ref": "#/definitions/AWS::S3::Bucket.Metrics" + }, + "ReplicationTime": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTime" + }, "StorageClass": { "type": "string" } @@ -51161,15 +59259,24 @@ "AWS::S3::Bucket.ReplicationRule": { "additionalProperties": false, "properties": { + "DeleteMarkerReplication": { + "$ref": "#/definitions/AWS::S3::Bucket.DeleteMarkerReplication" + }, "Destination": { "$ref": "#/definitions/AWS::S3::Bucket.ReplicationDestination" }, + "Filter": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRuleFilter" + }, "Id": { "type": "string" }, "Prefix": { "type": "string" }, + "Priority": { + "type": "number" + }, "SourceSelectionCriteria": { "$ref": "#/definitions/AWS::S3::Bucket.SourceSelectionCriteria" }, @@ -51179,11 +59286,68 @@ }, "required": [ "Destination", - "Prefix", "Status" ], "type": "object" }, + "AWS::S3::Bucket.ReplicationRuleAndOperator": { + "additionalProperties": false, + "properties": { + "Prefix": { + "type": "string" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.ReplicationRuleFilter": { + "additionalProperties": false, + "properties": { + "And": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRuleAndOperator" + }, + "Prefix": { + "type": "string" + }, + "TagFilter": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.ReplicationTime": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + }, + "Time": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTimeValue" + } + }, + "required": [ + "Status", + "Time" + ], + "type": "object" + }, + "AWS::S3::Bucket.ReplicationTimeValue": { + "additionalProperties": false, + "properties": { + "Minutes": { + "type": "number" + } + }, + "required": [ + "Minutes" + ], + "type": "object" + }, "AWS::S3::Bucket.RoutingRule": { "additionalProperties": false, "properties": { @@ -51473,6 +59637,14 @@ "AWS::S3::BucketPolicy" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -51524,6 +59696,14 @@ "AWS::SDB::Domain" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -51574,6 +59754,14 @@ "AWS::SES::ConfigurationSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -51631,6 +59819,14 @@ "AWS::SES::ConfigurationSetEventDestination" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -51760,6 +59956,14 @@ "AWS::SES::ReceiptFilter" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -51852,6 +60056,14 @@ "AWS::SES::ReceiptRule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -52083,6 +60295,14 @@ "AWS::SES::ReceiptRuleSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -52133,6 +60353,14 @@ "AWS::SES::Template" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -52226,6 +60454,14 @@ "AWS::SNS::Subscription" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -52266,9 +60502,15 @@ "Properties": { "additionalProperties": false, "properties": { + "ContentBasedDeduplication": { + "type": "boolean" + }, "DisplayName": { "type": "string" }, + "FifoTopic": { + "type": "boolean" + }, "KmsMasterKeyId": { "type": "string" }, @@ -52295,6 +60537,14 @@ "AWS::SNS::Topic" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -52371,6 +60621,14 @@ "AWS::SNS::TopicPolicy" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -52458,6 +60716,14 @@ "AWS::SQS::Queue" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -52518,6 +60784,14 @@ "AWS::SQS::QueuePolicy" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -52561,12 +60835,24 @@ "AssociationName": { "type": "string" }, + "AutomationTargetParameterName": { + "type": "string" + }, + "ComplianceSeverity": { + "type": "string" + }, "DocumentVersion": { "type": "string" }, "InstanceId": { "type": "string" }, + "MaxConcurrency": { + "type": "string" + }, + "MaxErrors": { + "type": "string" + }, "Name": { "type": "string" }, @@ -52574,10 +60860,10 @@ "$ref": "#/definitions/AWS::SSM::Association.InstanceAssociationOutputLocation" }, "Parameters": { - "additionalProperties": false, + "additionalProperties": true, "patternProperties": { "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::SSM::Association.ParameterValues" + "type": "object" } }, "type": "object" @@ -52585,11 +60871,17 @@ "ScheduleExpression": { "type": "string" }, + "SyncCompliance": { + "type": "string" + }, "Targets": { "items": { "$ref": "#/definitions/AWS::SSM::Association.Target" }, "type": "array" + }, + "WaitForSuccessTimeoutSeconds": { + "type": "number" } }, "required": [ @@ -52602,6 +60894,14 @@ "AWS::SSM::Association" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -52619,21 +60919,6 @@ }, "type": "object" }, - "AWS::SSM::Association.ParameterValues": { - "additionalProperties": false, - "properties": { - "ParameterValues": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ParameterValues" - ], - "type": "object" - }, "AWS::SSM::Association.S3OutputLocation": { "additionalProperties": false, "properties": { @@ -52642,6 +60927,9 @@ }, "OutputS3KeyPrefix": { "type": "string" + }, + "OutputS3Region": { + "type": "string" } }, "type": "object" @@ -52723,6 +61011,14 @@ "AWS::SSM::Document" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -52811,6 +61107,14 @@ "AWS::SSM::MaintenanceWindow" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -52885,6 +61189,14 @@ "AWS::SSM::MaintenanceWindowTarget" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -53002,6 +61314,14 @@ "AWS::SSM::MaintenanceWindowTask" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -53193,6 +61513,9 @@ "AllowedPattern": { "type": "string" }, + "DataType": { + "type": "string" + }, "Description": { "type": "string" }, @@ -53226,6 +61549,14 @@ "AWS::SSM::Parameter" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -53331,6 +61662,14 @@ "AWS::SSM::PatchBaseline" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -53384,12 +61723,20 @@ }, "type": "object" }, + "AWS::SSM::PatchBaseline.PatchStringDate": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::SSM::PatchBaseline.Rule": { "additionalProperties": false, "properties": { "ApproveAfterDays": { "type": "number" }, + "ApproveUntilDate": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchStringDate" + }, "ComplianceLevel": { "type": "string" }, @@ -53484,6 +61831,14 @@ "AWS::SSM::ResourceDataSync" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -53610,6 +61965,14 @@ "AWS::SageMaker::CodeRepository" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -53700,6 +62063,14 @@ "AWS::SageMaker::Endpoint" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -53778,6 +62149,14 @@ "AWS::SageMaker::EndpointConfig" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -53884,6 +62263,14 @@ "AWS::SageMaker::Model" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -54036,6 +62423,14 @@ "AWS::SageMaker::NotebookInstance" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -54099,6 +62494,14 @@ "AWS::SageMaker::NotebookInstanceLifecycleConfig" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -54176,6 +62579,14 @@ "AWS::SageMaker::Workteam" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -54277,6 +62688,14 @@ "AWS::SecretsManager::ResourcePolicy" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -54337,6 +62756,14 @@ "AWS::SecretsManager::RotationSchedule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -54415,6 +62842,14 @@ "AWS::SecretsManager::Secret" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -54512,6 +62947,14 @@ "AWS::SecretsManager::SecretTargetAttachment" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -54563,6 +63006,14 @@ "AWS::SecurityHub::Hub" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -54685,6 +63136,14 @@ "AWS::Serverless::Api" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -54843,6 +63302,14 @@ "AWS::Serverless::Application" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -55026,6 +63493,14 @@ "AWS::Serverless::Function" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -55769,6 +64244,14 @@ "AWS::Serverless::LayerVersion" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -55837,6 +64320,14 @@ "AWS::Serverless::SimpleTable" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -55932,6 +64423,14 @@ "AWS::ServiceCatalog::AcceptedPortfolioShare" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -55993,6 +64492,9 @@ }, "type": "array" }, + "ReplaceProvisioningArtifacts": { + "type": "boolean" + }, "SupportDescription": { "type": "string" }, @@ -56021,6 +64523,14 @@ "AWS::ServiceCatalog::CloudFormationProduct" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -56132,6 +64642,14 @@ "AWS::ServiceCatalog::CloudFormationProvisionedProduct" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -56247,6 +64765,14 @@ "AWS::ServiceCatalog::LaunchNotificationConstraint" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -56293,6 +64819,9 @@ "Description": { "type": "string" }, + "LocalRoleName": { + "type": "string" + }, "PortfolioId": { "type": "string" }, @@ -56305,8 +64834,7 @@ }, "required": [ "PortfolioId", - "ProductId", - "RoleArn" + "ProductId" ], "type": "object" }, @@ -56315,6 +64843,14 @@ "AWS::ServiceCatalog::LaunchRoleConstraint" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -56383,6 +64919,14 @@ "AWS::ServiceCatalog::LaunchTemplateConstraint" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -56453,6 +64997,14 @@ "AWS::ServiceCatalog::Portfolio" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -56518,6 +65070,14 @@ "AWS::ServiceCatalog::PortfolioPrincipalAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -56582,6 +65142,14 @@ "AWS::ServiceCatalog::PortfolioProductAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -56643,6 +65211,14 @@ "AWS::ServiceCatalog::PortfolioShare" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -56711,6 +65287,14 @@ "AWS::ServiceCatalog::ResourceUpdateConstraint" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -56802,6 +65386,14 @@ "AWS::ServiceCatalog::StackSetConstraint" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -56863,6 +65455,14 @@ "AWS::ServiceCatalog::TagOption" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -56921,6 +65521,14 @@ "AWS::ServiceCatalog::TagOptionAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -56966,6 +65574,12 @@ }, "Name": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -56978,6 +65592,14 @@ "AWS::ServiceDiscovery::HttpNamespace" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -57039,6 +65661,14 @@ "AWS::ServiceDiscovery::Instance" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -57085,6 +65715,12 @@ "Name": { "type": "string" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "Vpc": { "type": "string" } @@ -57100,6 +65736,14 @@ "AWS::ServiceDiscovery::PrivateDnsNamespace" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -57145,6 +65789,12 @@ }, "Name": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -57157,6 +65807,14 @@ "AWS::ServiceDiscovery::PublicDnsNamespace" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -57214,6 +65872,12 @@ }, "NamespaceId": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "type": "object" @@ -57223,6 +65887,14 @@ "AWS::ServiceDiscovery::Service" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -57346,6 +66018,14 @@ "AWS::StepFunctions::Activity" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -57402,9 +66082,15 @@ "Properties": { "additionalProperties": false, "properties": { + "DefinitionS3Location": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachine.S3Location" + }, "DefinitionString": { "type": "string" }, + "DefinitionSubstitutions": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachine.DefinitionSubstitutions" + }, "LoggingConfiguration": { "$ref": "#/definitions/AWS::StepFunctions::StateMachine.LoggingConfiguration" }, @@ -57425,7 +66111,6 @@ } }, "required": [ - "DefinitionString", "RoleArn" ], "type": "object" @@ -57435,6 +66120,14 @@ "AWS::StepFunctions::StateMachine" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -57455,6 +66148,11 @@ ], "type": "object" }, + "AWS::StepFunctions::StateMachine.DefinitionSubstitutions": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::StepFunctions::StateMachine.LogDestination": { "additionalProperties": false, "properties": { @@ -57482,6 +66180,25 @@ }, "type": "object" }, + "AWS::StepFunctions::StateMachine.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, "AWS::StepFunctions::StateMachine.TagsEntry": { "additionalProperties": false, "properties": { @@ -57498,6 +66215,185 @@ ], "type": "object" }, + "AWS::Synthetics::Canary": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ArtifactS3Location": { + "type": "string" + }, + "Code": { + "$ref": "#/definitions/AWS::Synthetics::Canary.Code" + }, + "ExecutionRoleArn": { + "type": "string" + }, + "FailureRetentionPeriod": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "RunConfig": { + "$ref": "#/definitions/AWS::Synthetics::Canary.RunConfig" + }, + "RuntimeVersion": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::Synthetics::Canary.Schedule" + }, + "StartCanaryAfterCreation": { + "type": "boolean" + }, + "SuccessRetentionPeriod": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VPCConfig": { + "$ref": "#/definitions/AWS::Synthetics::Canary.VPCConfig" + } + }, + "required": [ + "ArtifactS3Location", + "Code", + "ExecutionRoleArn", + "Name", + "RunConfig", + "RuntimeVersion", + "Schedule", + "StartCanaryAfterCreation" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Synthetics::Canary" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Synthetics::Canary.Code": { + "additionalProperties": false, + "properties": { + "Handler": { + "type": "string" + }, + "S3Bucket": { + "type": "string" + }, + "S3Key": { + "type": "string" + }, + "S3ObjectVersion": { + "type": "string" + }, + "Script": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Synthetics::Canary.RunConfig": { + "additionalProperties": false, + "properties": { + "TimeoutInSeconds": { + "type": "number" + } + }, + "required": [ + "TimeoutInSeconds" + ], + "type": "object" + }, + "AWS::Synthetics::Canary.Schedule": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "string" + }, + "Expression": { + "type": "string" + } + }, + "required": [ + "DurationInSeconds", + "Expression" + ], + "type": "object" + }, + "AWS::Synthetics::Canary.VPCConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "SecurityGroupIds", + "SubnetIds" + ], + "type": "object" + }, "AWS::Transfer::Server": { "additionalProperties": false, "properties": { @@ -57530,6 +66426,9 @@ "Properties": { "additionalProperties": false, "properties": { + "Certificate": { + "type": "string" + }, "EndpointDetails": { "$ref": "#/definitions/AWS::Transfer::Server.EndpointDetails" }, @@ -57545,6 +66444,12 @@ "LoggingRole": { "type": "string" }, + "Protocols": { + "items": { + "$ref": "#/definitions/AWS::Transfer::Server.Protocol" + }, + "type": "array" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -57559,6 +66464,14 @@ "AWS::Transfer::Server" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -57606,6 +66519,11 @@ ], "type": "object" }, + "AWS::Transfer::Server.Protocol": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::Transfer::User": { "additionalProperties": false, "properties": { @@ -57687,6 +66605,14 @@ "AWS::Transfer::User" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -57768,6 +66694,14 @@ "AWS::WAF::ByteMatchSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -57869,6 +66803,14 @@ "AWS::WAF::IPSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -57949,6 +66891,14 @@ "AWS::WAF::Rule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -58030,6 +66980,14 @@ "AWS::WAF::SizeConstraintSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -58129,6 +67087,14 @@ "AWS::WAF::SqlInjectionMatchSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -58228,6 +67194,14 @@ "AWS::WAF::WebACL" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -58320,6 +67294,14 @@ "AWS::WAF::XssMatchSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -58411,6 +67393,14 @@ "AWS::WAFRegional::ByteMatchSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -58512,6 +67502,14 @@ "AWS::WAFRegional::GeoMatchSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -58588,6 +67586,14 @@ "AWS::WAFRegional::IPSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -58676,6 +67682,14 @@ "AWS::WAFRegional::RateBasedRule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -58757,6 +67771,14 @@ "AWS::WAFRegional::RegexPatternSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -58821,6 +67843,14 @@ "AWS::WAFRegional::Rule" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -58901,6 +67931,14 @@ "AWS::WAFRegional::SizeConstraintSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -59000,6 +68038,14 @@ "AWS::WAFRegional::SqlInjectionMatchSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -59099,6 +68145,14 @@ "AWS::WAFRegional::WebACL" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -59189,6 +68243,14 @@ "AWS::WAFRegional::WebACLAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -59249,6 +68311,14 @@ "AWS::WAFRegional::XssMatchSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -59357,6 +68427,14 @@ "AWS::WAFv2::IPSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -59430,6 +68508,14 @@ "AWS::WAFv2::RegexPatternSet" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -59510,6 +68596,14 @@ "AWS::WAFv2::RuleGroup" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -59573,7 +68667,6 @@ "required": [ "FieldToMatch", "PositionalConstraint", - "SearchString", "TextTransformations" ], "type": "object" @@ -60064,6 +69157,14 @@ "AWS::WAFv2::WebACL" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -60127,7 +69228,6 @@ "required": [ "FieldToMatch", "PositionalConstraint", - "SearchString", "TextTransformations" ], "type": "object" @@ -60693,6 +69793,14 @@ "AWS::WAFv2::WebACLAssociation" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -60773,6 +69881,14 @@ "AWS::WorkSpaces::Workspace" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -60856,6 +69972,14 @@ "Alexa::ASK::Skill" ], "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ @@ -61222,6 +70346,9 @@ { "$ref": "#/definitions/AWS::AppConfig::Environment" }, + { + "$ref": "#/definitions/AWS::AppConfig::HostedConfigurationVersion" + }, { "$ref": "#/definitions/AWS::AppMesh::Mesh" }, @@ -61288,6 +70415,9 @@ { "$ref": "#/definitions/AWS::Athena::NamedQuery" }, + { + "$ref": "#/definitions/AWS::Athena::WorkGroup" + }, { "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup" }, @@ -61327,9 +70457,21 @@ { "$ref": "#/definitions/AWS::Budgets::Budget" }, + { + "$ref": "#/definitions/AWS::CE::CostCategory" + }, + { + "$ref": "#/definitions/AWS::Cassandra::Keyspace" + }, + { + "$ref": "#/definitions/AWS::Cassandra::Table" + }, { "$ref": "#/definitions/AWS::CertificateManager::Certificate" }, + { + "$ref": "#/definitions/AWS::Chatbot::SlackChannelConfiguration" + }, { "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2" }, @@ -61366,6 +70508,9 @@ { "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector" }, + { + "$ref": "#/definitions/AWS::CloudWatch::CompositeAlarm" + }, { "$ref": "#/definitions/AWS::CloudWatch::Dashboard" }, @@ -61393,6 +70538,9 @@ { "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup" }, + { + "$ref": "#/definitions/AWS::CodeGuruProfiler::ProfilingGroup" + }, { "$ref": "#/definitions/AWS::CodePipeline::CustomActionType" }, @@ -61405,6 +70553,9 @@ { "$ref": "#/definitions/AWS::CodeStar::GitHubRepository" }, + { + "$ref": "#/definitions/AWS::CodeStarConnections::Connection" + }, { "$ref": "#/definitions/AWS::CodeStarNotifications::NotificationRule" }, @@ -61504,6 +70655,12 @@ { "$ref": "#/definitions/AWS::DataPipeline::Pipeline" }, + { + "$ref": "#/definitions/AWS::Detective::Graph" + }, + { + "$ref": "#/definitions/AWS::Detective::MemberInvitation" + }, { "$ref": "#/definitions/AWS::DirectoryService::MicrosoftAD" }, @@ -61711,6 +70868,9 @@ { "$ref": "#/definitions/AWS::ECR::Repository" }, + { + "$ref": "#/definitions/AWS::ECS::CapacityProvider" + }, { "$ref": "#/definitions/AWS::ECS::Cluster" }, @@ -61726,6 +70886,9 @@ { "$ref": "#/definitions/AWS::ECS::TaskSet" }, + { + "$ref": "#/definitions/AWS::EFS::AccessPoint" + }, { "$ref": "#/definitions/AWS::EFS::FileSystem" }, @@ -61810,6 +70973,9 @@ { "$ref": "#/definitions/AWS::EventSchemas::Registry" }, + { + "$ref": "#/definitions/AWS::EventSchemas::RegistryPolicy" + }, { "$ref": "#/definitions/AWS::EventSchemas::Schema" }, @@ -61852,6 +71018,15 @@ { "$ref": "#/definitions/AWS::GameLift::Script" }, + { + "$ref": "#/definitions/AWS::GlobalAccelerator::Accelerator" + }, + { + "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup" + }, + { + "$ref": "#/definitions/AWS::GlobalAccelerator::Listener" + }, { "$ref": "#/definitions/AWS::Glue::Classifier" }, @@ -61984,6 +71159,24 @@ { "$ref": "#/definitions/AWS::IAM::UserToGroupAddition" }, + { + "$ref": "#/definitions/AWS::ImageBuilder::Component" + }, + { + "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration" + }, + { + "$ref": "#/definitions/AWS::ImageBuilder::Image" + }, + { + "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline" + }, + { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe" + }, + { + "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration" + }, { "$ref": "#/definitions/AWS::Inspector::AssessmentTarget" }, @@ -62011,6 +71204,9 @@ { "$ref": "#/definitions/AWS::IoT::PolicyPrincipalAttachment" }, + { + "$ref": "#/definitions/AWS::IoT::ProvisioningTemplate" + }, { "$ref": "#/definitions/AWS::IoT::Thing" }, @@ -62128,6 +71324,15 @@ { "$ref": "#/definitions/AWS::MSK::Cluster" }, + { + "$ref": "#/definitions/AWS::Macie::CustomDataIdentifier" + }, + { + "$ref": "#/definitions/AWS::Macie::FindingsFilter" + }, + { + "$ref": "#/definitions/AWS::Macie::Session" + }, { "$ref": "#/definitions/AWS::ManagedBlockchain::Member" }, @@ -62170,6 +71375,27 @@ { "$ref": "#/definitions/AWS::Neptune::DBSubnetGroup" }, + { + "$ref": "#/definitions/AWS::NetworkManager::CustomerGatewayAssociation" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::Device" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::GlobalNetwork" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::Link" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::LinkAssociation" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::Site" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::TransitGatewayRegistration" + }, { "$ref": "#/definitions/AWS::OpsWorks::App" }, @@ -62278,6 +71504,12 @@ { "$ref": "#/definitions/AWS::RDS::DBParameterGroup" }, + { + "$ref": "#/definitions/AWS::RDS::DBProxy" + }, + { + "$ref": "#/definitions/AWS::RDS::DBProxyTargetGroup" + }, { "$ref": "#/definitions/AWS::RDS::DBSecurityGroup" }, @@ -62308,6 +71540,9 @@ { "$ref": "#/definitions/AWS::Redshift::ClusterSubnetGroup" }, + { + "$ref": "#/definitions/AWS::ResourceGroups::Group" + }, { "$ref": "#/definitions/AWS::RoboMaker::Fleet" }, @@ -62530,6 +71765,9 @@ { "$ref": "#/definitions/AWS::StepFunctions::StateMachine" }, + { + "$ref": "#/definitions/AWS::Synthetics::Canary" + }, { "$ref": "#/definitions/AWS::Transfer::Server" }, From 36607d12a868e434ec563bffe6db30869734ca95 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Mon, 22 Jun 2020 05:02:20 +0000 Subject: [PATCH 06/57] chore(release): 4.10.1 [skip ci] ## [4.10.1](https://github.com/awslabs/goformation/compare/v4.10.0...v4.10.1) (2020-06-22) ### Bug Fixes * **generator:** update the generation making it easier to fix CF schema errors to generate ([#285](https://github.com/awslabs/goformation/issues/285)) ([6751e5b](https://github.com/awslabs/goformation/commit/6751e5b6ecbe1daee45171528cb1300efc6fb300)) --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7e0d76372a..698e4be50b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # GoFormation Versioning Changelog +## [4.10.1](https://github.com/awslabs/goformation/compare/v4.10.0...v4.10.1) (2020-06-22) + + +### Bug Fixes + +* **generator:** update the generation making it easier to fix CF schema errors to generate ([#285](https://github.com/awslabs/goformation/issues/285)) ([6751e5b](https://github.com/awslabs/goformation/commit/6751e5b6ecbe1daee45171528cb1300efc6fb300)) + # [4.10.0](https://github.com/awslabs/goformation/compare/v4.9.0...v4.10.0) (2020-06-22) From 97784795e35035b71b946d0ca69ef4d380d3b4a8 Mon Sep 17 00:00:00 2001 From: Paul Maddox Date: Sun, 28 Jun 2020 11:34:07 +0400 Subject: [PATCH 07/57] feat(schema): CFN Updates (#287) --- .../appmesh/aws-appmesh-route_grpcroute.go | 5 + .../appmesh/aws-appmesh-route_grpctimeout.go | 40 +++++ .../appmesh/aws-appmesh-route_httproute.go | 5 + .../appmesh/aws-appmesh-route_httptimeout.go | 40 +++++ .../appmesh/aws-appmesh-route_tcproute.go | 5 + .../appmesh/aws-appmesh-route_tcptimeout.go | 35 +++++ .../aws-appmesh-virtualnode_duration.go | 40 +++++ .../aws-appmesh-virtualnode_grpctimeout.go | 40 +++++ .../aws-appmesh-virtualnode_httptimeout.go | 40 +++++ .../aws-appmesh-virtualnode_listener.go | 5 + ...aws-appmesh-virtualnode_listenertimeout.go | 50 ++++++ .../aws-appmesh-virtualnode_tcptimeout.go | 35 +++++ .../ssm/aws-ssm-maintenancewindow.go | 5 + schema/cloudformation.go | 115 ++++++++++++++ schema/cloudformation.schema.json | 115 ++++++++++++++ schema/sam.go | 142 ++++++++++++++++++ schema/sam.schema.json | 142 ++++++++++++++++++ 17 files changed, 859 insertions(+) create mode 100644 cloudformation/appmesh/aws-appmesh-route_grpctimeout.go create mode 100644 cloudformation/appmesh/aws-appmesh-route_httptimeout.go create mode 100644 cloudformation/appmesh/aws-appmesh-route_tcptimeout.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualnode_duration.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualnode_grpctimeout.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualnode_httptimeout.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualnode_listenertimeout.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualnode_tcptimeout.go diff --git a/cloudformation/appmesh/aws-appmesh-route_grpcroute.go b/cloudformation/appmesh/aws-appmesh-route_grpcroute.go index 46b276ced3..a57b0454e3 100644 --- a/cloudformation/appmesh/aws-appmesh-route_grpcroute.go +++ b/cloudformation/appmesh/aws-appmesh-route_grpcroute.go @@ -23,6 +23,11 @@ type Route_GrpcRoute struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroute.html#cfn-appmesh-route-grpcroute-retrypolicy RetryPolicy *Route_GrpcRetryPolicy `json:"RetryPolicy,omitempty"` + // Timeout AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroute.html#cfn-appmesh-route-grpcroute-timeout + Timeout *Route_GrpcTimeout `json:"Timeout,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-route_grpctimeout.go b/cloudformation/appmesh/aws-appmesh-route_grpctimeout.go new file mode 100644 index 0000000000..76ee9bc201 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-route_grpctimeout.go @@ -0,0 +1,40 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Route_GrpcTimeout AWS CloudFormation Resource (AWS::AppMesh::Route.GrpcTimeout) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpctimeout.html +type Route_GrpcTimeout struct { + + // Idle AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpctimeout.html#cfn-appmesh-route-grpctimeout-idle + Idle *Route_Duration `json:"Idle,omitempty"` + + // PerRequest AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpctimeout.html#cfn-appmesh-route-grpctimeout-perrequest + PerRequest *Route_Duration `json:"PerRequest,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Route_GrpcTimeout) AWSCloudFormationType() string { + return "AWS::AppMesh::Route.GrpcTimeout" +} diff --git a/cloudformation/appmesh/aws-appmesh-route_httproute.go b/cloudformation/appmesh/aws-appmesh-route_httproute.go index 4174193c52..35b3624420 100644 --- a/cloudformation/appmesh/aws-appmesh-route_httproute.go +++ b/cloudformation/appmesh/aws-appmesh-route_httproute.go @@ -23,6 +23,11 @@ type Route_HttpRoute struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httproute.html#cfn-appmesh-route-httproute-retrypolicy RetryPolicy *Route_HttpRetryPolicy `json:"RetryPolicy,omitempty"` + // Timeout AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httproute.html#cfn-appmesh-route-httproute-timeout + Timeout *Route_HttpTimeout `json:"Timeout,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-route_httptimeout.go b/cloudformation/appmesh/aws-appmesh-route_httptimeout.go new file mode 100644 index 0000000000..2b11aa87bf --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-route_httptimeout.go @@ -0,0 +1,40 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Route_HttpTimeout AWS CloudFormation Resource (AWS::AppMesh::Route.HttpTimeout) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httptimeout.html +type Route_HttpTimeout struct { + + // Idle AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httptimeout.html#cfn-appmesh-route-httptimeout-idle + Idle *Route_Duration `json:"Idle,omitempty"` + + // PerRequest AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httptimeout.html#cfn-appmesh-route-httptimeout-perrequest + PerRequest *Route_Duration `json:"PerRequest,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Route_HttpTimeout) AWSCloudFormationType() string { + return "AWS::AppMesh::Route.HttpTimeout" +} diff --git a/cloudformation/appmesh/aws-appmesh-route_tcproute.go b/cloudformation/appmesh/aws-appmesh-route_tcproute.go index bace3c6c79..048b32b76c 100644 --- a/cloudformation/appmesh/aws-appmesh-route_tcproute.go +++ b/cloudformation/appmesh/aws-appmesh-route_tcproute.go @@ -13,6 +13,11 @@ type Route_TcpRoute struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-tcproute.html#cfn-appmesh-route-tcproute-action Action *Route_TcpRouteAction `json:"Action,omitempty"` + // Timeout AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-tcproute.html#cfn-appmesh-route-tcproute-timeout + Timeout *Route_TcpTimeout `json:"Timeout,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-route_tcptimeout.go b/cloudformation/appmesh/aws-appmesh-route_tcptimeout.go new file mode 100644 index 0000000000..071673c8ef --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-route_tcptimeout.go @@ -0,0 +1,35 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Route_TcpTimeout AWS CloudFormation Resource (AWS::AppMesh::Route.TcpTimeout) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-tcptimeout.html +type Route_TcpTimeout struct { + + // Idle AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-tcptimeout.html#cfn-appmesh-route-tcptimeout-idle + Idle *Route_Duration `json:"Idle,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Route_TcpTimeout) AWSCloudFormationType() string { + return "AWS::AppMesh::Route.TcpTimeout" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_duration.go b/cloudformation/appmesh/aws-appmesh-virtualnode_duration.go new file mode 100644 index 0000000000..6c22cea9b3 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_duration.go @@ -0,0 +1,40 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualNode_Duration AWS CloudFormation Resource (AWS::AppMesh::VirtualNode.Duration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-duration.html +type VirtualNode_Duration struct { + + // Unit AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-duration.html#cfn-appmesh-virtualnode-duration-unit + Unit string `json:"Unit,omitempty"` + + // Value AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-duration.html#cfn-appmesh-virtualnode-duration-value + Value int `json:"Value"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualNode_Duration) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualNode.Duration" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_grpctimeout.go b/cloudformation/appmesh/aws-appmesh-virtualnode_grpctimeout.go new file mode 100644 index 0000000000..44074feceb --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_grpctimeout.go @@ -0,0 +1,40 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualNode_GrpcTimeout AWS CloudFormation Resource (AWS::AppMesh::VirtualNode.GrpcTimeout) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-grpctimeout.html +type VirtualNode_GrpcTimeout struct { + + // Idle AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-grpctimeout.html#cfn-appmesh-virtualnode-grpctimeout-idle + Idle *VirtualNode_Duration `json:"Idle,omitempty"` + + // PerRequest AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-grpctimeout.html#cfn-appmesh-virtualnode-grpctimeout-perrequest + PerRequest *VirtualNode_Duration `json:"PerRequest,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualNode_GrpcTimeout) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualNode.GrpcTimeout" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_httptimeout.go b/cloudformation/appmesh/aws-appmesh-virtualnode_httptimeout.go new file mode 100644 index 0000000000..1791734842 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_httptimeout.go @@ -0,0 +1,40 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualNode_HttpTimeout AWS CloudFormation Resource (AWS::AppMesh::VirtualNode.HttpTimeout) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-httptimeout.html +type VirtualNode_HttpTimeout struct { + + // Idle AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-httptimeout.html#cfn-appmesh-virtualnode-httptimeout-idle + Idle *VirtualNode_Duration `json:"Idle,omitempty"` + + // PerRequest AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-httptimeout.html#cfn-appmesh-virtualnode-httptimeout-perrequest + PerRequest *VirtualNode_Duration `json:"PerRequest,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualNode_HttpTimeout) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualNode.HttpTimeout" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_listener.go b/cloudformation/appmesh/aws-appmesh-virtualnode_listener.go index c9d1b47a05..1860d884e5 100644 --- a/cloudformation/appmesh/aws-appmesh-virtualnode_listener.go +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_listener.go @@ -23,6 +23,11 @@ type VirtualNode_Listener struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listener.html#cfn-appmesh-virtualnode-listener-tls TLS *VirtualNode_ListenerTls `json:"TLS,omitempty"` + // Timeout AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listener.html#cfn-appmesh-virtualnode-listener-timeout + Timeout *VirtualNode_ListenerTimeout `json:"Timeout,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_listenertimeout.go b/cloudformation/appmesh/aws-appmesh-virtualnode_listenertimeout.go new file mode 100644 index 0000000000..dc26228d2c --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_listenertimeout.go @@ -0,0 +1,50 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualNode_ListenerTimeout AWS CloudFormation Resource (AWS::AppMesh::VirtualNode.ListenerTimeout) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertimeout.html +type VirtualNode_ListenerTimeout struct { + + // GRPC AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertimeout.html#cfn-appmesh-virtualnode-listenertimeout-grpc + GRPC *VirtualNode_GrpcTimeout `json:"GRPC,omitempty"` + + // HTTP AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertimeout.html#cfn-appmesh-virtualnode-listenertimeout-http + HTTP *VirtualNode_HttpTimeout `json:"HTTP,omitempty"` + + // HTTP2 AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertimeout.html#cfn-appmesh-virtualnode-listenertimeout-http2 + HTTP2 *VirtualNode_HttpTimeout `json:"HTTP2,omitempty"` + + // TCP AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertimeout.html#cfn-appmesh-virtualnode-listenertimeout-tcp + TCP *VirtualNode_TcpTimeout `json:"TCP,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualNode_ListenerTimeout) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualNode.ListenerTimeout" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_tcptimeout.go b/cloudformation/appmesh/aws-appmesh-virtualnode_tcptimeout.go new file mode 100644 index 0000000000..9668c5a83e --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_tcptimeout.go @@ -0,0 +1,35 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualNode_TcpTimeout AWS CloudFormation Resource (AWS::AppMesh::VirtualNode.TcpTimeout) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tcptimeout.html +type VirtualNode_TcpTimeout struct { + + // Idle AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tcptimeout.html#cfn-appmesh-virtualnode-tcptimeout-idle + Idle *VirtualNode_Duration `json:"Idle,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualNode_TcpTimeout) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualNode.TcpTimeout" +} diff --git a/cloudformation/ssm/aws-ssm-maintenancewindow.go b/cloudformation/ssm/aws-ssm-maintenancewindow.go index 05161ed68e..1c2df0a985 100644 --- a/cloudformation/ssm/aws-ssm-maintenancewindow.go +++ b/cloudformation/ssm/aws-ssm-maintenancewindow.go @@ -48,6 +48,11 @@ type MaintenanceWindow struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindow.html#cfn-ssm-maintenancewindow-schedule Schedule string `json:"Schedule,omitempty"` + // ScheduleOffset AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindow.html#cfn-ssm-maintenancewindow-scheduleoffset + ScheduleOffset int `json:"ScheduleOffset,omitempty"` + // ScheduleTimezone AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindow.html#cfn-ssm-maintenancewindow-scheduletimezone diff --git a/schema/cloudformation.go b/schema/cloudformation.go index dad1088b93..9d73926c29 100644 --- a/schema/cloudformation.go +++ b/schema/cloudformation.go @@ -5219,6 +5219,9 @@ var CloudformationSchema = `{ }, "RetryPolicy": { "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRetryPolicy" + }, + "Timeout": { + "$ref": "#/definitions/AWS::AppMesh::Route.GrpcTimeout" } }, "required": [ @@ -5299,6 +5302,18 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::AppMesh::Route.GrpcTimeout": { + "additionalProperties": false, + "properties": { + "Idle": { + "$ref": "#/definitions/AWS::AppMesh::Route.Duration" + }, + "PerRequest": { + "$ref": "#/definitions/AWS::AppMesh::Route.Duration" + } + }, + "type": "object" + }, "AWS::AppMesh::Route.HeaderMatchMethod": { "additionalProperties": false, "properties": { @@ -5359,6 +5374,9 @@ var CloudformationSchema = `{ }, "RetryPolicy": { "$ref": "#/definitions/AWS::AppMesh::Route.HttpRetryPolicy" + }, + "Timeout": { + "$ref": "#/definitions/AWS::AppMesh::Route.HttpTimeout" } }, "required": [ @@ -5424,6 +5442,18 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::AppMesh::Route.HttpTimeout": { + "additionalProperties": false, + "properties": { + "Idle": { + "$ref": "#/definitions/AWS::AppMesh::Route.Duration" + }, + "PerRequest": { + "$ref": "#/definitions/AWS::AppMesh::Route.Duration" + } + }, + "type": "object" + }, "AWS::AppMesh::Route.MatchRange": { "additionalProperties": false, "properties": { @@ -5466,6 +5496,9 @@ var CloudformationSchema = `{ "properties": { "Action": { "$ref": "#/definitions/AWS::AppMesh::Route.TcpRouteAction" + }, + "Timeout": { + "$ref": "#/definitions/AWS::AppMesh::Route.TcpTimeout" } }, "required": [ @@ -5488,6 +5521,15 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::AppMesh::Route.TcpTimeout": { + "additionalProperties": false, + "properties": { + "Idle": { + "$ref": "#/definitions/AWS::AppMesh::Route.Duration" + } + }, + "type": "object" + }, "AWS::AppMesh::Route.WeightedTarget": { "additionalProperties": false, "properties": { @@ -5690,6 +5732,22 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::AppMesh::VirtualNode.Duration": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, "AWS::AppMesh::VirtualNode.FileAccessLog": { "additionalProperties": false, "properties": { @@ -5702,6 +5760,18 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::AppMesh::VirtualNode.GrpcTimeout": { + "additionalProperties": false, + "properties": { + "Idle": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + }, + "PerRequest": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + } + }, + "type": "object" + }, "AWS::AppMesh::VirtualNode.HealthCheck": { "additionalProperties": false, "properties": { @@ -5736,6 +5806,18 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::AppMesh::VirtualNode.HttpTimeout": { + "additionalProperties": false, + "properties": { + "Idle": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + }, + "PerRequest": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + } + }, + "type": "object" + }, "AWS::AppMesh::VirtualNode.Listener": { "additionalProperties": false, "properties": { @@ -5747,6 +5829,9 @@ var CloudformationSchema = `{ }, "TLS": { "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTls" + }, + "Timeout": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTimeout" } }, "required": [ @@ -5754,6 +5839,24 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::AppMesh::VirtualNode.ListenerTimeout": { + "additionalProperties": false, + "properties": { + "GRPC": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.GrpcTimeout" + }, + "HTTP": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.HttpTimeout" + }, + "HTTP2": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.HttpTimeout" + }, + "TCP": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TcpTimeout" + } + }, + "type": "object" + }, "AWS::AppMesh::VirtualNode.ListenerTls": { "additionalProperties": false, "properties": { @@ -5847,6 +5950,15 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::AppMesh::VirtualNode.TcpTimeout": { + "additionalProperties": false, + "properties": { + "Idle": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + } + }, + "type": "object" + }, "AWS::AppMesh::VirtualNode.TlsValidationContext": { "additionalProperties": false, "properties": { @@ -61083,6 +61195,9 @@ var CloudformationSchema = `{ "Schedule": { "type": "string" }, + "ScheduleOffset": { + "type": "number" + }, "ScheduleTimezone": { "type": "string" }, diff --git a/schema/cloudformation.schema.json b/schema/cloudformation.schema.json index 5a452556dc..eda7205073 100644 --- a/schema/cloudformation.schema.json +++ b/schema/cloudformation.schema.json @@ -5216,6 +5216,9 @@ }, "RetryPolicy": { "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRetryPolicy" + }, + "Timeout": { + "$ref": "#/definitions/AWS::AppMesh::Route.GrpcTimeout" } }, "required": [ @@ -5296,6 +5299,18 @@ }, "type": "object" }, + "AWS::AppMesh::Route.GrpcTimeout": { + "additionalProperties": false, + "properties": { + "Idle": { + "$ref": "#/definitions/AWS::AppMesh::Route.Duration" + }, + "PerRequest": { + "$ref": "#/definitions/AWS::AppMesh::Route.Duration" + } + }, + "type": "object" + }, "AWS::AppMesh::Route.HeaderMatchMethod": { "additionalProperties": false, "properties": { @@ -5356,6 +5371,9 @@ }, "RetryPolicy": { "$ref": "#/definitions/AWS::AppMesh::Route.HttpRetryPolicy" + }, + "Timeout": { + "$ref": "#/definitions/AWS::AppMesh::Route.HttpTimeout" } }, "required": [ @@ -5421,6 +5439,18 @@ ], "type": "object" }, + "AWS::AppMesh::Route.HttpTimeout": { + "additionalProperties": false, + "properties": { + "Idle": { + "$ref": "#/definitions/AWS::AppMesh::Route.Duration" + }, + "PerRequest": { + "$ref": "#/definitions/AWS::AppMesh::Route.Duration" + } + }, + "type": "object" + }, "AWS::AppMesh::Route.MatchRange": { "additionalProperties": false, "properties": { @@ -5463,6 +5493,9 @@ "properties": { "Action": { "$ref": "#/definitions/AWS::AppMesh::Route.TcpRouteAction" + }, + "Timeout": { + "$ref": "#/definitions/AWS::AppMesh::Route.TcpTimeout" } }, "required": [ @@ -5485,6 +5518,15 @@ ], "type": "object" }, + "AWS::AppMesh::Route.TcpTimeout": { + "additionalProperties": false, + "properties": { + "Idle": { + "$ref": "#/definitions/AWS::AppMesh::Route.Duration" + } + }, + "type": "object" + }, "AWS::AppMesh::Route.WeightedTarget": { "additionalProperties": false, "properties": { @@ -5687,6 +5729,22 @@ ], "type": "object" }, + "AWS::AppMesh::VirtualNode.Duration": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, "AWS::AppMesh::VirtualNode.FileAccessLog": { "additionalProperties": false, "properties": { @@ -5699,6 +5757,18 @@ ], "type": "object" }, + "AWS::AppMesh::VirtualNode.GrpcTimeout": { + "additionalProperties": false, + "properties": { + "Idle": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + }, + "PerRequest": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + } + }, + "type": "object" + }, "AWS::AppMesh::VirtualNode.HealthCheck": { "additionalProperties": false, "properties": { @@ -5733,6 +5803,18 @@ ], "type": "object" }, + "AWS::AppMesh::VirtualNode.HttpTimeout": { + "additionalProperties": false, + "properties": { + "Idle": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + }, + "PerRequest": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + } + }, + "type": "object" + }, "AWS::AppMesh::VirtualNode.Listener": { "additionalProperties": false, "properties": { @@ -5744,6 +5826,9 @@ }, "TLS": { "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTls" + }, + "Timeout": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTimeout" } }, "required": [ @@ -5751,6 +5836,24 @@ ], "type": "object" }, + "AWS::AppMesh::VirtualNode.ListenerTimeout": { + "additionalProperties": false, + "properties": { + "GRPC": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.GrpcTimeout" + }, + "HTTP": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.HttpTimeout" + }, + "HTTP2": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.HttpTimeout" + }, + "TCP": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TcpTimeout" + } + }, + "type": "object" + }, "AWS::AppMesh::VirtualNode.ListenerTls": { "additionalProperties": false, "properties": { @@ -5844,6 +5947,15 @@ }, "type": "object" }, + "AWS::AppMesh::VirtualNode.TcpTimeout": { + "additionalProperties": false, + "properties": { + "Idle": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + } + }, + "type": "object" + }, "AWS::AppMesh::VirtualNode.TlsValidationContext": { "additionalProperties": false, "properties": { @@ -61080,6 +61192,9 @@ "Schedule": { "type": "string" }, + "ScheduleOffset": { + "type": "number" + }, "ScheduleTimezone": { "type": "string" }, diff --git a/schema/sam.go b/schema/sam.go index 6c9e7ca838..7750f73702 100644 --- a/schema/sam.go +++ b/schema/sam.go @@ -5219,6 +5219,9 @@ var SamSchema = `{ }, "RetryPolicy": { "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRetryPolicy" + }, + "Timeout": { + "$ref": "#/definitions/AWS::AppMesh::Route.GrpcTimeout" } }, "required": [ @@ -5299,6 +5302,18 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::AppMesh::Route.GrpcTimeout": { + "additionalProperties": false, + "properties": { + "Idle": { + "$ref": "#/definitions/AWS::AppMesh::Route.Duration" + }, + "PerRequest": { + "$ref": "#/definitions/AWS::AppMesh::Route.Duration" + } + }, + "type": "object" + }, "AWS::AppMesh::Route.HeaderMatchMethod": { "additionalProperties": false, "properties": { @@ -5359,6 +5374,9 @@ var SamSchema = `{ }, "RetryPolicy": { "$ref": "#/definitions/AWS::AppMesh::Route.HttpRetryPolicy" + }, + "Timeout": { + "$ref": "#/definitions/AWS::AppMesh::Route.HttpTimeout" } }, "required": [ @@ -5424,6 +5442,18 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::AppMesh::Route.HttpTimeout": { + "additionalProperties": false, + "properties": { + "Idle": { + "$ref": "#/definitions/AWS::AppMesh::Route.Duration" + }, + "PerRequest": { + "$ref": "#/definitions/AWS::AppMesh::Route.Duration" + } + }, + "type": "object" + }, "AWS::AppMesh::Route.MatchRange": { "additionalProperties": false, "properties": { @@ -5466,6 +5496,9 @@ var SamSchema = `{ "properties": { "Action": { "$ref": "#/definitions/AWS::AppMesh::Route.TcpRouteAction" + }, + "Timeout": { + "$ref": "#/definitions/AWS::AppMesh::Route.TcpTimeout" } }, "required": [ @@ -5488,6 +5521,15 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::AppMesh::Route.TcpTimeout": { + "additionalProperties": false, + "properties": { + "Idle": { + "$ref": "#/definitions/AWS::AppMesh::Route.Duration" + } + }, + "type": "object" + }, "AWS::AppMesh::Route.WeightedTarget": { "additionalProperties": false, "properties": { @@ -5690,6 +5732,22 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::AppMesh::VirtualNode.Duration": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, "AWS::AppMesh::VirtualNode.FileAccessLog": { "additionalProperties": false, "properties": { @@ -5702,6 +5760,18 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::AppMesh::VirtualNode.GrpcTimeout": { + "additionalProperties": false, + "properties": { + "Idle": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + }, + "PerRequest": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + } + }, + "type": "object" + }, "AWS::AppMesh::VirtualNode.HealthCheck": { "additionalProperties": false, "properties": { @@ -5736,6 +5806,18 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::AppMesh::VirtualNode.HttpTimeout": { + "additionalProperties": false, + "properties": { + "Idle": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + }, + "PerRequest": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + } + }, + "type": "object" + }, "AWS::AppMesh::VirtualNode.Listener": { "additionalProperties": false, "properties": { @@ -5747,6 +5829,9 @@ var SamSchema = `{ }, "TLS": { "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTls" + }, + "Timeout": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTimeout" } }, "required": [ @@ -5754,6 +5839,24 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::AppMesh::VirtualNode.ListenerTimeout": { + "additionalProperties": false, + "properties": { + "GRPC": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.GrpcTimeout" + }, + "HTTP": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.HttpTimeout" + }, + "HTTP2": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.HttpTimeout" + }, + "TCP": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TcpTimeout" + } + }, + "type": "object" + }, "AWS::AppMesh::VirtualNode.ListenerTls": { "additionalProperties": false, "properties": { @@ -5847,6 +5950,15 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::AppMesh::VirtualNode.TcpTimeout": { + "additionalProperties": false, + "properties": { + "Idle": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + } + }, + "type": "object" + }, "AWS::AppMesh::VirtualNode.TlsValidationContext": { "additionalProperties": false, "properties": { @@ -61083,6 +61195,9 @@ var SamSchema = `{ "Schedule": { "type": "string" }, + "ScheduleOffset": { + "type": "number" + }, "ScheduleTimezone": { "type": "string" }, @@ -63113,6 +63228,9 @@ var SamSchema = `{ "Name": { "type": "string" }, + "OpenApiVersion": { + "type": "string" + }, "StageName": { "type": "string" }, @@ -63689,6 +63807,27 @@ var SamSchema = `{ "properties": {}, "type": "object" }, + "AWS::Serverless::Function.EventBridgeRuleEvent": { + "additionalProperties": false, + "properties": { + "EventBusName": { + "type": "string" + }, + "Input": { + "type": "string" + }, + "InputPath": { + "type": "string" + }, + "Pattern": { + "type": "object" + } + }, + "required": [ + "Pattern" + ], + "type": "object" + }, "AWS::Serverless::Function.EventSource": { "additionalProperties": false, "properties": { @@ -63726,6 +63865,9 @@ var SamSchema = `{ }, { "$ref": "#/definitions/AWS::Serverless::Function.AlexaSkillEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.EventBridgeRuleEvent" } ] }, diff --git a/schema/sam.schema.json b/schema/sam.schema.json index 7e5321d2ff..ca35509fe4 100644 --- a/schema/sam.schema.json +++ b/schema/sam.schema.json @@ -5216,6 +5216,9 @@ }, "RetryPolicy": { "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRetryPolicy" + }, + "Timeout": { + "$ref": "#/definitions/AWS::AppMesh::Route.GrpcTimeout" } }, "required": [ @@ -5296,6 +5299,18 @@ }, "type": "object" }, + "AWS::AppMesh::Route.GrpcTimeout": { + "additionalProperties": false, + "properties": { + "Idle": { + "$ref": "#/definitions/AWS::AppMesh::Route.Duration" + }, + "PerRequest": { + "$ref": "#/definitions/AWS::AppMesh::Route.Duration" + } + }, + "type": "object" + }, "AWS::AppMesh::Route.HeaderMatchMethod": { "additionalProperties": false, "properties": { @@ -5356,6 +5371,9 @@ }, "RetryPolicy": { "$ref": "#/definitions/AWS::AppMesh::Route.HttpRetryPolicy" + }, + "Timeout": { + "$ref": "#/definitions/AWS::AppMesh::Route.HttpTimeout" } }, "required": [ @@ -5421,6 +5439,18 @@ ], "type": "object" }, + "AWS::AppMesh::Route.HttpTimeout": { + "additionalProperties": false, + "properties": { + "Idle": { + "$ref": "#/definitions/AWS::AppMesh::Route.Duration" + }, + "PerRequest": { + "$ref": "#/definitions/AWS::AppMesh::Route.Duration" + } + }, + "type": "object" + }, "AWS::AppMesh::Route.MatchRange": { "additionalProperties": false, "properties": { @@ -5463,6 +5493,9 @@ "properties": { "Action": { "$ref": "#/definitions/AWS::AppMesh::Route.TcpRouteAction" + }, + "Timeout": { + "$ref": "#/definitions/AWS::AppMesh::Route.TcpTimeout" } }, "required": [ @@ -5485,6 +5518,15 @@ ], "type": "object" }, + "AWS::AppMesh::Route.TcpTimeout": { + "additionalProperties": false, + "properties": { + "Idle": { + "$ref": "#/definitions/AWS::AppMesh::Route.Duration" + } + }, + "type": "object" + }, "AWS::AppMesh::Route.WeightedTarget": { "additionalProperties": false, "properties": { @@ -5687,6 +5729,22 @@ ], "type": "object" }, + "AWS::AppMesh::VirtualNode.Duration": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, "AWS::AppMesh::VirtualNode.FileAccessLog": { "additionalProperties": false, "properties": { @@ -5699,6 +5757,18 @@ ], "type": "object" }, + "AWS::AppMesh::VirtualNode.GrpcTimeout": { + "additionalProperties": false, + "properties": { + "Idle": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + }, + "PerRequest": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + } + }, + "type": "object" + }, "AWS::AppMesh::VirtualNode.HealthCheck": { "additionalProperties": false, "properties": { @@ -5733,6 +5803,18 @@ ], "type": "object" }, + "AWS::AppMesh::VirtualNode.HttpTimeout": { + "additionalProperties": false, + "properties": { + "Idle": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + }, + "PerRequest": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + } + }, + "type": "object" + }, "AWS::AppMesh::VirtualNode.Listener": { "additionalProperties": false, "properties": { @@ -5744,6 +5826,9 @@ }, "TLS": { "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTls" + }, + "Timeout": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTimeout" } }, "required": [ @@ -5751,6 +5836,24 @@ ], "type": "object" }, + "AWS::AppMesh::VirtualNode.ListenerTimeout": { + "additionalProperties": false, + "properties": { + "GRPC": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.GrpcTimeout" + }, + "HTTP": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.HttpTimeout" + }, + "HTTP2": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.HttpTimeout" + }, + "TCP": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TcpTimeout" + } + }, + "type": "object" + }, "AWS::AppMesh::VirtualNode.ListenerTls": { "additionalProperties": false, "properties": { @@ -5844,6 +5947,15 @@ }, "type": "object" }, + "AWS::AppMesh::VirtualNode.TcpTimeout": { + "additionalProperties": false, + "properties": { + "Idle": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + } + }, + "type": "object" + }, "AWS::AppMesh::VirtualNode.TlsValidationContext": { "additionalProperties": false, "properties": { @@ -61080,6 +61192,9 @@ "Schedule": { "type": "string" }, + "ScheduleOffset": { + "type": "number" + }, "ScheduleTimezone": { "type": "string" }, @@ -63110,6 +63225,9 @@ "Name": { "type": "string" }, + "OpenApiVersion": { + "type": "string" + }, "StageName": { "type": "string" }, @@ -63686,6 +63804,27 @@ "properties": {}, "type": "object" }, + "AWS::Serverless::Function.EventBridgeRuleEvent": { + "additionalProperties": false, + "properties": { + "EventBusName": { + "type": "string" + }, + "Input": { + "type": "string" + }, + "InputPath": { + "type": "string" + }, + "Pattern": { + "type": "object" + } + }, + "required": [ + "Pattern" + ], + "type": "object" + }, "AWS::Serverless::Function.EventSource": { "additionalProperties": false, "properties": { @@ -63723,6 +63862,9 @@ }, { "$ref": "#/definitions/AWS::Serverless::Function.AlexaSkillEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.EventBridgeRuleEvent" } ] }, From 6cc38fb73b01540a083e14f47ee4cc69c388e57f Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Sun, 28 Jun 2020 07:34:46 +0000 Subject: [PATCH 08/57] chore(release): 4.11.0 [skip ci] # [4.11.0](https://github.com/awslabs/goformation/compare/v4.10.1...v4.11.0) (2020-06-28) ### Features * **schema:** CFN Updates ([#287](https://github.com/awslabs/goformation/issues/287)) ([9778479](https://github.com/awslabs/goformation/commit/97784795e35035b71b946d0ca69ef4d380d3b4a8)) --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 698e4be50b..c7f3744770 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # GoFormation Versioning Changelog +# [4.11.0](https://github.com/awslabs/goformation/compare/v4.10.1...v4.11.0) (2020-06-28) + + +### Features + +* **schema:** CFN Updates ([#287](https://github.com/awslabs/goformation/issues/287)) ([9778479](https://github.com/awslabs/goformation/commit/97784795e35035b71b946d0ca69ef4d380d3b4a8)) + ## [4.10.1](https://github.com/awslabs/goformation/compare/v4.10.0...v4.10.1) (2020-06-22) From 741228d6923ea10f1d22a901bbddf106d5c71cd7 Mon Sep 17 00:00:00 2001 From: Cedric Date: Tue, 21 Jul 2020 15:21:16 +0100 Subject: [PATCH 09/57] feat(schema): Add new DynamoDBEvent options (#289) Co-authored-by: Cedric Cordenier --- ...s-serverless-function_destinationconfig.go | 35 ++++++++++ .../aws-serverless-function_dynamodbevent.go | 30 +++++++++ .../aws-serverless-function_onfailure.go | 40 +++++++++++ generate/sam-2016-10-31.json | 66 ++++++++++++++++++- schema/sam.go | 45 +++++++++++++ schema/sam.schema.json | 45 +++++++++++++ 6 files changed, 260 insertions(+), 1 deletion(-) create mode 100644 cloudformation/serverless/aws-serverless-function_destinationconfig.go create mode 100644 cloudformation/serverless/aws-serverless-function_onfailure.go diff --git a/cloudformation/serverless/aws-serverless-function_destinationconfig.go b/cloudformation/serverless/aws-serverless-function_destinationconfig.go new file mode 100644 index 0000000000..e33a9ced9e --- /dev/null +++ b/cloudformation/serverless/aws-serverless-function_destinationconfig.go @@ -0,0 +1,35 @@ +package serverless + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Function_DestinationConfig AWS CloudFormation Resource (AWS::Serverless::Function.DestinationConfig) +// See: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#destination-config-object +type Function_DestinationConfig struct { + + // OnFailure AWS CloudFormation Property + // Required: true + // See: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#destination-config-object + OnFailure *Function_OnFailure `json:"OnFailure,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Function_DestinationConfig) AWSCloudFormationType() string { + return "AWS::Serverless::Function.DestinationConfig" +} diff --git a/cloudformation/serverless/aws-serverless-function_dynamodbevent.go b/cloudformation/serverless/aws-serverless-function_dynamodbevent.go index 3a2d2f466c..e462efb16c 100644 --- a/cloudformation/serverless/aws-serverless-function_dynamodbevent.go +++ b/cloudformation/serverless/aws-serverless-function_dynamodbevent.go @@ -13,11 +13,41 @@ type Function_DynamoDBEvent struct { // See: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#dynamodb BatchSize int `json:"BatchSize,omitempty"` + // BisectBatchOnFunctionError AWS CloudFormation Property + // Required: false + // See: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#dynamodb + BisectBatchOnFunctionError bool `json:"BisectBatchOnFunctionError,omitempty"` + + // DestinationConfig AWS CloudFormation Property + // Required: false + // See: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#dynamodb + DestinationConfig *Function_DestinationConfig `json:"DestinationConfig,omitempty"` + // Enabled AWS CloudFormation Property // Required: false // See: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#dynamodb Enabled bool `json:"Enabled,omitempty"` + // MaximumBatchingWindowInSeconds AWS CloudFormation Property + // Required: false + // See: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#dynamodb + MaximumBatchingWindowInSeconds int `json:"MaximumBatchingWindowInSeconds,omitempty"` + + // MaximumRecordAgeInSeconds AWS CloudFormation Property + // Required: false + // See: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#dynamodb + MaximumRecordAgeInSeconds int `json:"MaximumRecordAgeInSeconds,omitempty"` + + // MaximumRetryAttempts AWS CloudFormation Property + // Required: false + // See: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#dynamodb + MaximumRetryAttempts int `json:"MaximumRetryAttempts,omitempty"` + + // ParallelizationFactor AWS CloudFormation Property + // Required: false + // See: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#dynamodb + ParallelizationFactor int `json:"ParallelizationFactor,omitempty"` + // StartingPosition AWS CloudFormation Property // Required: true // See: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#dynamodb diff --git a/cloudformation/serverless/aws-serverless-function_onfailure.go b/cloudformation/serverless/aws-serverless-function_onfailure.go new file mode 100644 index 0000000000..8cc7c1462b --- /dev/null +++ b/cloudformation/serverless/aws-serverless-function_onfailure.go @@ -0,0 +1,40 @@ +package serverless + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Function_OnFailure AWS CloudFormation Resource (AWS::Serverless::Function.OnFailure) +// See: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#destination-config-object +type Function_OnFailure struct { + + // Destination AWS CloudFormation Property + // Required: true + // See: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#destination-config-object + Destination string `json:"Destination,omitempty"` + + // Type AWS CloudFormation Property + // Required: false + // See: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#destination-config-object + Type string `json:"Type,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Function_OnFailure) AWSCloudFormationType() string { + return "AWS::Serverless::Function.OnFailure" +} diff --git a/generate/sam-2016-10-31.json b/generate/sam-2016-10-31.json index 318ea996f0..d73edf895a 100644 --- a/generate/sam-2016-10-31.json +++ b/generate/sam-2016-10-31.json @@ -558,7 +558,43 @@ "Required": false, "PrimitiveType": "Boolean", "UpdateType": "Immutable" - } + }, + "MaximumBatchingWindowInSeconds": { + "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#dynamodb", + "Required": false, + "PrimitiveType": "Integer", + "UpdateType": "Immutable" + }, + "MaximumRetryAttempts": { + "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#dynamodb", + "Required": false, + "PrimitiveType": "Integer", + "UpdateType": "Immutable" + }, + "BisectBatchOnFunctionError": { + "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#dynamodb", + "Required": false, + "PrimitiveType": "Boolean", + "UpdateType": "Immutable" + }, + "MaximumRecordAgeInSeconds": { + "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#dynamodb", + "Required": false, + "PrimitiveType": "Integer", + "UpdateType": "Immutable" + }, + "DestinationConfig": { + "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#dynamodb", + "Required": false, + "Type": "DestinationConfig", + "UpdateType": "Immutable" + }, + "ParallelizationFactor": { + "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#dynamodb", + "Required": false, + "PrimitiveType": "Integer", + "UpdateType": "Immutable" + } } }, "AWS::Serverless::Function.SQSEvent": { @@ -693,6 +729,34 @@ } } }, + "AWS::Serverless::Function.DestinationConfig": { + "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#destination-config-object", + "Properties": { + "OnFailure": { + "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#destination-config-object", + "Required": true, + "Type": "OnFailure", + "UpdateType": "Immutable" + } + } + }, + "AWS::Serverless::Function.OnFailure": { + "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#destination-config-object", + "Properties": { + "Type": { + "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#destination-config-object", + "Required": false, + "PrimitiveType": "String", + "UpdateType": "Immutable" + }, + "Destination": { + "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#destination-config-object", + "Required": true, + "PrimitiveType": "String", + "UpdateType": "Immutable" + } + } + }, "AWS::Serverless::Function.EventBridgeRuleEvent": { "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#eventbridgerule", "Properties": { diff --git a/schema/sam.go b/schema/sam.go index 7750f73702..183ecfee30 100644 --- a/schema/sam.go +++ b/schema/sam.go @@ -63768,6 +63768,18 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::Serverless::Function.DestinationConfig": { + "additionalProperties": false, + "properties": { + "OnFailure": { + "$ref": "#/definitions/AWS::Serverless::Function.OnFailure" + } + }, + "required": [ + "OnFailure" + ], + "type": "object" + }, "AWS::Serverless::Function.DomainSAMPT": { "additionalProperties": false, "properties": { @@ -63786,9 +63798,27 @@ var SamSchema = `{ "BatchSize": { "type": "number" }, + "BisectBatchOnFunctionError": { + "type": "boolean" + }, + "DestinationConfig": { + "$ref": "#/definitions/AWS::Serverless::Function.DestinationConfig" + }, "Enabled": { "type": "boolean" }, + "MaximumBatchingWindowInSeconds": { + "type": "number" + }, + "MaximumRecordAgeInSeconds": { + "type": "number" + }, + "MaximumRetryAttempts": { + "type": "number" + }, + "ParallelizationFactor": { + "type": "number" + }, "StartingPosition": { "type": "string" }, @@ -63996,6 +64026,21 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::Serverless::Function.OnFailure": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Destination" + ], + "type": "object" + }, "AWS::Serverless::Function.QueueSAMPT": { "additionalProperties": false, "properties": { diff --git a/schema/sam.schema.json b/schema/sam.schema.json index ca35509fe4..d7b07e2743 100644 --- a/schema/sam.schema.json +++ b/schema/sam.schema.json @@ -63765,6 +63765,18 @@ }, "type": "object" }, + "AWS::Serverless::Function.DestinationConfig": { + "additionalProperties": false, + "properties": { + "OnFailure": { + "$ref": "#/definitions/AWS::Serverless::Function.OnFailure" + } + }, + "required": [ + "OnFailure" + ], + "type": "object" + }, "AWS::Serverless::Function.DomainSAMPT": { "additionalProperties": false, "properties": { @@ -63783,9 +63795,27 @@ "BatchSize": { "type": "number" }, + "BisectBatchOnFunctionError": { + "type": "boolean" + }, + "DestinationConfig": { + "$ref": "#/definitions/AWS::Serverless::Function.DestinationConfig" + }, "Enabled": { "type": "boolean" }, + "MaximumBatchingWindowInSeconds": { + "type": "number" + }, + "MaximumRecordAgeInSeconds": { + "type": "number" + }, + "MaximumRetryAttempts": { + "type": "number" + }, + "ParallelizationFactor": { + "type": "number" + }, "StartingPosition": { "type": "string" }, @@ -63993,6 +64023,21 @@ ], "type": "object" }, + "AWS::Serverless::Function.OnFailure": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Destination" + ], + "type": "object" + }, "AWS::Serverless::Function.QueueSAMPT": { "additionalProperties": false, "properties": { From ad54601c746f7fca00d5ff651906fc662db4f4c4 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Tue, 21 Jul 2020 14:22:09 +0000 Subject: [PATCH 10/57] chore(release): 4.12.0 [skip ci] # [4.12.0](https://github.com/awslabs/goformation/compare/v4.11.0...v4.12.0) (2020-07-21) ### Features * **schema:** Add new DynamoDBEvent options ([#289](https://github.com/awslabs/goformation/issues/289)) ([741228d](https://github.com/awslabs/goformation/commit/741228d6923ea10f1d22a901bbddf106d5c71cd7)) --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c7f3744770..56af13c005 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # GoFormation Versioning Changelog +# [4.12.0](https://github.com/awslabs/goformation/compare/v4.11.0...v4.12.0) (2020-07-21) + + +### Features + +* **schema:** Add new DynamoDBEvent options ([#289](https://github.com/awslabs/goformation/issues/289)) ([741228d](https://github.com/awslabs/goformation/commit/741228d6923ea10f1d22a901bbddf106d5c71cd7)) + # [4.11.0](https://github.com/awslabs/goformation/compare/v4.10.1...v4.11.0) (2020-06-28) From d2d23cafba606a8ea40649cc666073fa0e2d5ad3 Mon Sep 17 00:00:00 2001 From: Graham Jenson Date: Sun, 26 Jul 2020 03:52:24 -0700 Subject: [PATCH 11/57] feat(schema): adding AWS::Serverless::StateMachine and FileSystemConfigs to Function (#284) * [Feature] add Serverless FileSystemConfigs * [Feature] adding step functions to SAM template * working specs --- cloudformation/all.go | 25 ++ .../serverless/aws-serverless-function.go | 5 + ...ws-serverless-function_filesystemconfig.go | 40 ++ .../serverless/aws-serverless-statemachine.go | 151 +++++++ .../aws-serverless-statemachine_apievent.go | 45 +++ ...rless-statemachine_cloudwatcheventevent.go | 50 +++ ...ess-statemachine_cloudwatchlogsloggroup.go | 35 ++ ...rless-statemachine_eventbridgeruleevent.go | 50 +++ ...aws-serverless-statemachine_eventsource.go | 40 ++ ...s-serverless-statemachine_functionsampt.go | 35 ++ ...rverless-statemachine_iampolicydocument.go | 35 ++ ...-serverless-statemachine_logdestination.go | 35 ++ ...rless-statemachine_loggingconfiguration.go | 45 +++ .../aws-serverless-statemachine_s3location.go | 45 +++ ...rverless-statemachine_sampolicytemplate.go | 40 ++ ...s-serverless-statemachine_scheduleevent.go | 40 ++ ...rverless-statemachine_statemachinesampt.go | 35 ++ .../serverless/statemachine_definitionuri.go | 64 +++ .../serverless/statemachine_policies.go | 90 +++++ .../serverless/statemachine_properties.go | 76 ++++ generate/sam-2016-10-31.json | 346 ++++++++++++++++ schema/sam.go | 379 ++++++++++++++++++ schema/sam.schema.json | 379 ++++++++++++++++++ 23 files changed, 2085 insertions(+) create mode 100644 cloudformation/serverless/aws-serverless-function_filesystemconfig.go create mode 100644 cloudformation/serverless/aws-serverless-statemachine.go create mode 100644 cloudformation/serverless/aws-serverless-statemachine_apievent.go create mode 100644 cloudformation/serverless/aws-serverless-statemachine_cloudwatcheventevent.go create mode 100644 cloudformation/serverless/aws-serverless-statemachine_cloudwatchlogsloggroup.go create mode 100644 cloudformation/serverless/aws-serverless-statemachine_eventbridgeruleevent.go create mode 100644 cloudformation/serverless/aws-serverless-statemachine_eventsource.go create mode 100644 cloudformation/serverless/aws-serverless-statemachine_functionsampt.go create mode 100644 cloudformation/serverless/aws-serverless-statemachine_iampolicydocument.go create mode 100644 cloudformation/serverless/aws-serverless-statemachine_logdestination.go create mode 100644 cloudformation/serverless/aws-serverless-statemachine_loggingconfiguration.go create mode 100644 cloudformation/serverless/aws-serverless-statemachine_s3location.go create mode 100644 cloudformation/serverless/aws-serverless-statemachine_sampolicytemplate.go create mode 100644 cloudformation/serverless/aws-serverless-statemachine_scheduleevent.go create mode 100644 cloudformation/serverless/aws-serverless-statemachine_statemachinesampt.go create mode 100644 cloudformation/serverless/statemachine_definitionuri.go create mode 100644 cloudformation/serverless/statemachine_policies.go create mode 100644 cloudformation/serverless/statemachine_properties.go diff --git a/cloudformation/all.go b/cloudformation/all.go index 20121cb50a..ad3f2ff59d 100644 --- a/cloudformation/all.go +++ b/cloudformation/all.go @@ -624,6 +624,7 @@ func AllResources() map[string]Resource { "AWS::Serverless::Function": &serverless.Function{}, "AWS::Serverless::LayerVersion": &serverless.LayerVersion{}, "AWS::Serverless::SimpleTable": &serverless.SimpleTable{}, + "AWS::Serverless::StateMachine": &serverless.StateMachine{}, "AWS::ServiceCatalog::AcceptedPortfolioShare": &servicecatalog.AcceptedPortfolioShare{}, "AWS::ServiceCatalog::CloudFormationProduct": &servicecatalog.CloudFormationProduct{}, "AWS::ServiceCatalog::CloudFormationProvisionedProduct": &servicecatalog.CloudFormationProvisionedProduct{}, @@ -12604,6 +12605,30 @@ func (t *Template) GetServerlessSimpleTableWithName(name string) (*serverless.Si return nil, fmt.Errorf("resource %q of type serverless.SimpleTable not found", name) } +// GetAllServerlessStateMachineResources retrieves all serverless.StateMachine items from an AWS CloudFormation template +func (t *Template) GetAllServerlessStateMachineResources() map[string]*serverless.StateMachine { + results := map[string]*serverless.StateMachine{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *serverless.StateMachine: + results[name] = resource + } + } + return results +} + +// GetServerlessStateMachineWithName retrieves all serverless.StateMachine items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetServerlessStateMachineWithName(name string) (*serverless.StateMachine, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *serverless.StateMachine: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type serverless.StateMachine not found", name) +} + // GetAllServiceCatalogAcceptedPortfolioShareResources retrieves all servicecatalog.AcceptedPortfolioShare items from an AWS CloudFormation template func (t *Template) GetAllServiceCatalogAcceptedPortfolioShareResources() map[string]*servicecatalog.AcceptedPortfolioShare { results := map[string]*servicecatalog.AcceptedPortfolioShare{} diff --git a/cloudformation/serverless/aws-serverless-function.go b/cloudformation/serverless/aws-serverless-function.go index 2de9541c8c..e1da3fc8bd 100644 --- a/cloudformation/serverless/aws-serverless-function.go +++ b/cloudformation/serverless/aws-serverless-function.go @@ -47,6 +47,11 @@ type Function struct { // See: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction Events map[string]Function_EventSource `json:"Events,omitempty"` + // FileSystemConfigs AWS CloudFormation Property + // Required: false + // See: https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-function.html + FileSystemConfigs []Function_FileSystemConfig `json:"FileSystemConfigs,omitempty"` + // FunctionName AWS CloudFormation Property // Required: false // See: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction diff --git a/cloudformation/serverless/aws-serverless-function_filesystemconfig.go b/cloudformation/serverless/aws-serverless-function_filesystemconfig.go new file mode 100644 index 0000000000..c0dad7de26 --- /dev/null +++ b/cloudformation/serverless/aws-serverless-function_filesystemconfig.go @@ -0,0 +1,40 @@ +package serverless + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Function_FileSystemConfig AWS CloudFormation Resource (AWS::Serverless::Function.FileSystemConfig) +// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-filesystemconfig.html#cfn-lambda-function-filesystemconfig-localmountpath +type Function_FileSystemConfig struct { + + // Arn AWS CloudFormation Property + // Required: false + // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-filesystemconfig.html#cfn-lambda-function-filesystemconfig-localmountpath + Arn string `json:"Arn,omitempty"` + + // LocalMountPath AWS CloudFormation Property + // Required: false + // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-filesystemconfig.html#cfn-lambda-function-filesystemconfig-localmountpath + LocalMountPath string `json:"LocalMountPath,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Function_FileSystemConfig) AWSCloudFormationType() string { + return "AWS::Serverless::Function.FileSystemConfig" +} diff --git a/cloudformation/serverless/aws-serverless-statemachine.go b/cloudformation/serverless/aws-serverless-statemachine.go new file mode 100644 index 0000000000..c2142aae33 --- /dev/null +++ b/cloudformation/serverless/aws-serverless-statemachine.go @@ -0,0 +1,151 @@ +package serverless + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// StateMachine AWS CloudFormation Resource (AWS::Serverless::StateMachine) +// See: https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-statemachine.html +type StateMachine struct { + + // Definition AWS CloudFormation Property + // Required: false + // See: https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-statemachine.html + Definition interface{} `json:"Definition,omitempty"` + + // DefinitionSubstitutions AWS CloudFormation Property + // Required: false + // See: https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-statemachine.html + DefinitionSubstitutions map[string]string `json:"DefinitionSubstitutions,omitempty"` + + // DefinitionUri AWS CloudFormation Property + // Required: false + // See: https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-statemachine.html + DefinitionUri *StateMachine_DefinitionUri `json:"DefinitionUri,omitempty"` + + // Events AWS CloudFormation Property + // Required: false + // See: https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-statemachine.html + Events map[string]StateMachine_EventSource `json:"Events,omitempty"` + + // Logging AWS CloudFormation Property + // Required: false + // See: https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-statemachine.html + Logging *StateMachine_LoggingConfiguration `json:"Logging,omitempty"` + + // Name AWS CloudFormation Property + // Required: false + // See: https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-statemachine.html + Name string `json:"Name,omitempty"` + + // Policies AWS CloudFormation Property + // Required: false + // See: https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-statemachine.html + Policies *StateMachine_Policies `json:"Policies,omitempty"` + + // Role AWS CloudFormation Property + // Required: false + // See: https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-statemachine.html + Role string `json:"Role,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-statemachine.html + Tags map[string]string `json:"Tags,omitempty"` + + // Type AWS CloudFormation Property + // Required: false + // See: https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-statemachine.html + Type string `json:"Type,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *StateMachine) AWSCloudFormationType() string { + return "AWS::Serverless::StateMachine" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r StateMachine) MarshalJSON() ([]byte, error) { + type Properties StateMachine + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *StateMachine) UnmarshalJSON(b []byte) error { + type Properties StateMachine + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = StateMachine(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/serverless/aws-serverless-statemachine_apievent.go b/cloudformation/serverless/aws-serverless-statemachine_apievent.go new file mode 100644 index 0000000000..ab3608f96d --- /dev/null +++ b/cloudformation/serverless/aws-serverless-statemachine_apievent.go @@ -0,0 +1,45 @@ +package serverless + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// StateMachine_ApiEvent AWS CloudFormation Resource (AWS::Serverless::StateMachine.ApiEvent) +// See: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#api +type StateMachine_ApiEvent struct { + + // Method AWS CloudFormation Property + // Required: true + // See: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#api + Method string `json:"Method,omitempty"` + + // Path AWS CloudFormation Property + // Required: true + // See: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#api + Path string `json:"Path,omitempty"` + + // RestApiId AWS CloudFormation Property + // Required: false + // See: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#api + RestApiId string `json:"RestApiId,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *StateMachine_ApiEvent) AWSCloudFormationType() string { + return "AWS::Serverless::StateMachine.ApiEvent" +} diff --git a/cloudformation/serverless/aws-serverless-statemachine_cloudwatcheventevent.go b/cloudformation/serverless/aws-serverless-statemachine_cloudwatcheventevent.go new file mode 100644 index 0000000000..f4dd806326 --- /dev/null +++ b/cloudformation/serverless/aws-serverless-statemachine_cloudwatcheventevent.go @@ -0,0 +1,50 @@ +package serverless + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// StateMachine_CloudWatchEventEvent AWS CloudFormation Resource (AWS::Serverless::StateMachine.CloudWatchEventEvent) +// See: https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-cloudwatchevent.html +type StateMachine_CloudWatchEventEvent struct { + + // EventBusName AWS CloudFormation Property + // Required: false + // See: https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-cloudwatchevent.html + EventBusName string `json:"EventBusName,omitempty"` + + // Input AWS CloudFormation Property + // Required: false + // See: https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-cloudwatchevent.html + Input string `json:"Input,omitempty"` + + // InputPath AWS CloudFormation Property + // Required: false + // See: https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-cloudwatchevent.html + InputPath string `json:"InputPath,omitempty"` + + // Pattern AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AmazonCloudWatch/latest/events/CloudWatchEventsandEventPatterns.html + Pattern interface{} `json:"Pattern,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *StateMachine_CloudWatchEventEvent) AWSCloudFormationType() string { + return "AWS::Serverless::StateMachine.CloudWatchEventEvent" +} diff --git a/cloudformation/serverless/aws-serverless-statemachine_cloudwatchlogsloggroup.go b/cloudformation/serverless/aws-serverless-statemachine_cloudwatchlogsloggroup.go new file mode 100644 index 0000000000..a84d7c7346 --- /dev/null +++ b/cloudformation/serverless/aws-serverless-statemachine_cloudwatchlogsloggroup.go @@ -0,0 +1,35 @@ +package serverless + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// StateMachine_CloudWatchLogsLogGroup AWS CloudFormation Resource (AWS::Serverless::StateMachine.CloudWatchLogsLogGroup) +// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-logdestination-cloudwatchlogsloggroup.html +type StateMachine_CloudWatchLogsLogGroup struct { + + // LogGroupArn AWS CloudFormation Property + // Required: true + // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-logdestination-cloudwatchlogsloggroup.html + LogGroupArn string `json:"LogGroupArn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *StateMachine_CloudWatchLogsLogGroup) AWSCloudFormationType() string { + return "AWS::Serverless::StateMachine.CloudWatchLogsLogGroup" +} diff --git a/cloudformation/serverless/aws-serverless-statemachine_eventbridgeruleevent.go b/cloudformation/serverless/aws-serverless-statemachine_eventbridgeruleevent.go new file mode 100644 index 0000000000..86b2cd2fc2 --- /dev/null +++ b/cloudformation/serverless/aws-serverless-statemachine_eventbridgeruleevent.go @@ -0,0 +1,50 @@ +package serverless + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// StateMachine_EventBridgeRuleEvent AWS CloudFormation Resource (AWS::Serverless::StateMachine.EventBridgeRuleEvent) +// See: https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-cloudwatchevent.html +type StateMachine_EventBridgeRuleEvent struct { + + // EventBusName AWS CloudFormation Property + // Required: false + // See: https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-cloudwatchevent.html + EventBusName string `json:"EventBusName,omitempty"` + + // Input AWS CloudFormation Property + // Required: false + // See: https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-cloudwatchevent.html + Input string `json:"Input,omitempty"` + + // InputPath AWS CloudFormation Property + // Required: false + // See: https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-cloudwatchevent.html + InputPath string `json:"InputPath,omitempty"` + + // Pattern AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AmazonCloudWatch/latest/events/CloudWatchEventsandEventPatterns.html + Pattern interface{} `json:"Pattern,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *StateMachine_EventBridgeRuleEvent) AWSCloudFormationType() string { + return "AWS::Serverless::StateMachine.EventBridgeRuleEvent" +} diff --git a/cloudformation/serverless/aws-serverless-statemachine_eventsource.go b/cloudformation/serverless/aws-serverless-statemachine_eventsource.go new file mode 100644 index 0000000000..bd39344068 --- /dev/null +++ b/cloudformation/serverless/aws-serverless-statemachine_eventsource.go @@ -0,0 +1,40 @@ +package serverless + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// StateMachine_EventSource AWS CloudFormation Resource (AWS::Serverless::StateMachine.EventSource) +// See: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#event-source-object +type StateMachine_EventSource struct { + + // Properties AWS CloudFormation Property + // Required: true + // See: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#event-source-types + Properties *StateMachine_Properties `json:"Properties,omitempty"` + + // Type AWS CloudFormation Property + // Required: true + // See: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#event-source-object + Type string `json:"Type,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *StateMachine_EventSource) AWSCloudFormationType() string { + return "AWS::Serverless::StateMachine.EventSource" +} diff --git a/cloudformation/serverless/aws-serverless-statemachine_functionsampt.go b/cloudformation/serverless/aws-serverless-statemachine_functionsampt.go new file mode 100644 index 0000000000..69f422d4e2 --- /dev/null +++ b/cloudformation/serverless/aws-serverless-statemachine_functionsampt.go @@ -0,0 +1,35 @@ +package serverless + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// StateMachine_FunctionSAMPT AWS CloudFormation Resource (AWS::Serverless::StateMachine.FunctionSAMPT) +// See: https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst +type StateMachine_FunctionSAMPT struct { + + // FunctionName AWS CloudFormation Property + // Required: true + // See: https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst + FunctionName string `json:"FunctionName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *StateMachine_FunctionSAMPT) AWSCloudFormationType() string { + return "AWS::Serverless::StateMachine.FunctionSAMPT" +} diff --git a/cloudformation/serverless/aws-serverless-statemachine_iampolicydocument.go b/cloudformation/serverless/aws-serverless-statemachine_iampolicydocument.go new file mode 100644 index 0000000000..bce863386d --- /dev/null +++ b/cloudformation/serverless/aws-serverless-statemachine_iampolicydocument.go @@ -0,0 +1,35 @@ +package serverless + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// StateMachine_IAMPolicyDocument AWS CloudFormation Resource (AWS::Serverless::StateMachine.IAMPolicyDocument) +// See: http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html +type StateMachine_IAMPolicyDocument struct { + + // Statement AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html + Statement interface{} `json:"Statement,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *StateMachine_IAMPolicyDocument) AWSCloudFormationType() string { + return "AWS::Serverless::StateMachine.IAMPolicyDocument" +} diff --git a/cloudformation/serverless/aws-serverless-statemachine_logdestination.go b/cloudformation/serverless/aws-serverless-statemachine_logdestination.go new file mode 100644 index 0000000000..381cf96400 --- /dev/null +++ b/cloudformation/serverless/aws-serverless-statemachine_logdestination.go @@ -0,0 +1,35 @@ +package serverless + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// StateMachine_LogDestination AWS CloudFormation Resource (AWS::Serverless::StateMachine.LogDestination) +// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-logdestination.html#cfn-stepfunctions-statemachine-logdestination-cloudwatchlogsloggroup +type StateMachine_LogDestination struct { + + // CloudWatchLogsLogGroup AWS CloudFormation Property + // Required: true + // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-logdestination.html#cfn-stepfunctions-statemachine-logdestination-cloudwatchlogsloggroup + CloudWatchLogsLogGroup *StateMachine_CloudWatchLogsLogGroup `json:"CloudWatchLogsLogGroup,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *StateMachine_LogDestination) AWSCloudFormationType() string { + return "AWS::Serverless::StateMachine.LogDestination" +} diff --git a/cloudformation/serverless/aws-serverless-statemachine_loggingconfiguration.go b/cloudformation/serverless/aws-serverless-statemachine_loggingconfiguration.go new file mode 100644 index 0000000000..96d578c580 --- /dev/null +++ b/cloudformation/serverless/aws-serverless-statemachine_loggingconfiguration.go @@ -0,0 +1,45 @@ +package serverless + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// StateMachine_LoggingConfiguration AWS CloudFormation Resource (AWS::Serverless::StateMachine.LoggingConfiguration) +// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-loggingconfiguration.html +type StateMachine_LoggingConfiguration struct { + + // Destinations AWS CloudFormation Property + // Required: true + // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-loggingconfiguration.html + Destinations []StateMachine_LogDestination `json:"Destinations,omitempty"` + + // IncludeExecutionData AWS CloudFormation Property + // Required: true + // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-loggingconfiguration.html + IncludeExecutionData bool `json:"IncludeExecutionData"` + + // Level AWS CloudFormation Property + // Required: true + // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-loggingconfiguration.html + Level string `json:"Level,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *StateMachine_LoggingConfiguration) AWSCloudFormationType() string { + return "AWS::Serverless::StateMachine.LoggingConfiguration" +} diff --git a/cloudformation/serverless/aws-serverless-statemachine_s3location.go b/cloudformation/serverless/aws-serverless-statemachine_s3location.go new file mode 100644 index 0000000000..5429d7c464 --- /dev/null +++ b/cloudformation/serverless/aws-serverless-statemachine_s3location.go @@ -0,0 +1,45 @@ +package serverless + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// StateMachine_S3Location AWS CloudFormation Resource (AWS::Serverless::StateMachine.S3Location) +// See: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#s3-location-object +type StateMachine_S3Location struct { + + // Bucket AWS CloudFormation Property + // Required: true + // See: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction + Bucket string `json:"Bucket,omitempty"` + + // Key AWS CloudFormation Property + // Required: true + // See: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction + Key string `json:"Key,omitempty"` + + // Version AWS CloudFormation Property + // Required: false + // See: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction + Version int `json:"Version,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *StateMachine_S3Location) AWSCloudFormationType() string { + return "AWS::Serverless::StateMachine.S3Location" +} diff --git a/cloudformation/serverless/aws-serverless-statemachine_sampolicytemplate.go b/cloudformation/serverless/aws-serverless-statemachine_sampolicytemplate.go new file mode 100644 index 0000000000..6fcda080c0 --- /dev/null +++ b/cloudformation/serverless/aws-serverless-statemachine_sampolicytemplate.go @@ -0,0 +1,40 @@ +package serverless + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// StateMachine_SAMPolicyTemplate AWS CloudFormation Resource (AWS::Serverless::StateMachine.SAMPolicyTemplate) +// See: https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst +type StateMachine_SAMPolicyTemplate struct { + + // LambdaInvokePolicy AWS CloudFormation Property + // Required: false + // See: https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst + LambdaInvokePolicy *StateMachine_FunctionSAMPT `json:"LambdaInvokePolicy,omitempty"` + + // StepFunctionsExecutionPolicy AWS CloudFormation Property + // Required: false + // See: https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst + StepFunctionsExecutionPolicy *StateMachine_StateMachineSAMPT `json:"StepFunctionsExecutionPolicy,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *StateMachine_SAMPolicyTemplate) AWSCloudFormationType() string { + return "AWS::Serverless::StateMachine.SAMPolicyTemplate" +} diff --git a/cloudformation/serverless/aws-serverless-statemachine_scheduleevent.go b/cloudformation/serverless/aws-serverless-statemachine_scheduleevent.go new file mode 100644 index 0000000000..6240211fe8 --- /dev/null +++ b/cloudformation/serverless/aws-serverless-statemachine_scheduleevent.go @@ -0,0 +1,40 @@ +package serverless + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// StateMachine_ScheduleEvent AWS CloudFormation Resource (AWS::Serverless::StateMachine.ScheduleEvent) +// See: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#schedule +type StateMachine_ScheduleEvent struct { + + // Input AWS CloudFormation Property + // Required: false + // See: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#schedule + Input string `json:"Input,omitempty"` + + // Schedule AWS CloudFormation Property + // Required: true + // See: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#schedule + Schedule string `json:"Schedule,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *StateMachine_ScheduleEvent) AWSCloudFormationType() string { + return "AWS::Serverless::StateMachine.ScheduleEvent" +} diff --git a/cloudformation/serverless/aws-serverless-statemachine_statemachinesampt.go b/cloudformation/serverless/aws-serverless-statemachine_statemachinesampt.go new file mode 100644 index 0000000000..f4cfef1456 --- /dev/null +++ b/cloudformation/serverless/aws-serverless-statemachine_statemachinesampt.go @@ -0,0 +1,35 @@ +package serverless + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// StateMachine_StateMachineSAMPT AWS CloudFormation Resource (AWS::Serverless::StateMachine.StateMachineSAMPT) +// See: https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst +type StateMachine_StateMachineSAMPT struct { + + // StateMachineName AWS CloudFormation Property + // Required: true + // See: https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst + StateMachineName string `json:"StateMachineName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *StateMachine_StateMachineSAMPT) AWSCloudFormationType() string { + return "AWS::Serverless::StateMachine.StateMachineSAMPT" +} diff --git a/cloudformation/serverless/statemachine_definitionuri.go b/cloudformation/serverless/statemachine_definitionuri.go new file mode 100644 index 0000000000..9aabbc39d7 --- /dev/null +++ b/cloudformation/serverless/statemachine_definitionuri.go @@ -0,0 +1,64 @@ +package serverless + +import ( + "encoding/json" + "sort" + + "github.com/awslabs/goformation/v4/cloudformation/utils" +) + +// StateMachine_DefinitionUri is a helper struct that can hold either a String or S3Location value +type StateMachine_DefinitionUri struct { + String *string + + S3Location *StateMachine_S3Location +} + +func (r StateMachine_DefinitionUri) value() interface{} { + ret := []interface{}{} + + if r.String != nil { + ret = append(ret, r.String) + } + + if r.S3Location != nil { + ret = append(ret, *r.S3Location) + } + + sort.Sort(utils.ByJSONLength(ret)) // Heuristic to select best attribute + if len(ret) > 0 { + return ret[0] + } + + return nil +} + +func (r StateMachine_DefinitionUri) MarshalJSON() ([]byte, error) { + return json.Marshal(r.value()) +} + +// Hook into the marshaller +func (r *StateMachine_DefinitionUri) UnmarshalJSON(b []byte) error { + + // Unmarshal into interface{} to check it's type + var typecheck interface{} + if err := json.Unmarshal(b, &typecheck); err != nil { + return err + } + + switch val := typecheck.(type) { + + case string: + r.String = &val + + case map[string]interface{}: + val = val // This ensures val is used to stop an error + + json.Unmarshal(b, &r.S3Location) + + case []interface{}: + + } + + return nil +} diff --git a/cloudformation/serverless/statemachine_policies.go b/cloudformation/serverless/statemachine_policies.go new file mode 100644 index 0000000000..b11867e3c1 --- /dev/null +++ b/cloudformation/serverless/statemachine_policies.go @@ -0,0 +1,90 @@ +package serverless + +import ( + "encoding/json" + "sort" + + "github.com/awslabs/goformation/v4/cloudformation/utils" +) + +// StateMachine_Policies is a helper struct that can hold either a String, String, IAMPolicyDocument, SAMPolicyTemplate, or IAMPolicyDocument value +type StateMachine_Policies struct { + String *string + + StringArray *[]string + + IAMPolicyDocument *StateMachine_IAMPolicyDocument + + IAMPolicyDocumentArray *[]StateMachine_IAMPolicyDocument + SAMPolicyTemplateArray *[]StateMachine_SAMPolicyTemplate +} + +func (r StateMachine_Policies) value() interface{} { + ret := []interface{}{} + + if r.String != nil { + ret = append(ret, r.String) + } + + if r.StringArray != nil { + ret = append(ret, r.StringArray) + } + + if r.IAMPolicyDocument != nil { + ret = append(ret, *r.IAMPolicyDocument) + } + + if r.IAMPolicyDocumentArray != nil { + ret = append(ret, r.IAMPolicyDocumentArray) + } + + if r.SAMPolicyTemplateArray != nil { + ret = append(ret, r.SAMPolicyTemplateArray) + } + + sort.Sort(utils.ByJSONLength(ret)) // Heuristic to select best attribute + if len(ret) > 0 { + return ret[0] + } + + return nil +} + +func (r StateMachine_Policies) MarshalJSON() ([]byte, error) { + return json.Marshal(r.value()) +} + +// Hook into the marshaller +func (r *StateMachine_Policies) UnmarshalJSON(b []byte) error { + + // Unmarshal into interface{} to check it's type + var typecheck interface{} + if err := json.Unmarshal(b, &typecheck); err != nil { + return err + } + + switch val := typecheck.(type) { + + case string: + r.String = &val + + case []string: + r.StringArray = &val + + case map[string]interface{}: + val = val // This ensures val is used to stop an error + + json.Unmarshal(b, &r.IAMPolicyDocument) + + case []interface{}: + + json.Unmarshal(b, &r.StringArray) + + json.Unmarshal(b, &r.IAMPolicyDocumentArray) + + json.Unmarshal(b, &r.SAMPolicyTemplateArray) + + } + + return nil +} diff --git a/cloudformation/serverless/statemachine_properties.go b/cloudformation/serverless/statemachine_properties.go new file mode 100644 index 0000000000..74f268b8af --- /dev/null +++ b/cloudformation/serverless/statemachine_properties.go @@ -0,0 +1,76 @@ +package serverless + +import ( + "encoding/json" + "sort" + + "github.com/awslabs/goformation/v4/cloudformation/utils" +) + +// StateMachine_Properties is a helper struct that can hold either a CloudWatchEventEvent, EventBridgeRuleEvent, ScheduleEvent, or ApiEvent value +type StateMachine_Properties struct { + CloudWatchEventEvent *StateMachine_CloudWatchEventEvent + EventBridgeRuleEvent *StateMachine_EventBridgeRuleEvent + ScheduleEvent *StateMachine_ScheduleEvent + ApiEvent *StateMachine_ApiEvent +} + +func (r StateMachine_Properties) value() interface{} { + ret := []interface{}{} + + if r.CloudWatchEventEvent != nil { + ret = append(ret, *r.CloudWatchEventEvent) + } + + if r.EventBridgeRuleEvent != nil { + ret = append(ret, *r.EventBridgeRuleEvent) + } + + if r.ScheduleEvent != nil { + ret = append(ret, *r.ScheduleEvent) + } + + if r.ApiEvent != nil { + ret = append(ret, *r.ApiEvent) + } + + sort.Sort(utils.ByJSONLength(ret)) // Heuristic to select best attribute + if len(ret) > 0 { + return ret[0] + } + + return nil +} + +func (r StateMachine_Properties) MarshalJSON() ([]byte, error) { + return json.Marshal(r.value()) +} + +// Hook into the marshaller +func (r *StateMachine_Properties) UnmarshalJSON(b []byte) error { + + // Unmarshal into interface{} to check it's type + var typecheck interface{} + if err := json.Unmarshal(b, &typecheck); err != nil { + return err + } + + switch val := typecheck.(type) { + + case map[string]interface{}: + val = val // This ensures val is used to stop an error + + json.Unmarshal(b, &r.CloudWatchEventEvent) + + json.Unmarshal(b, &r.EventBridgeRuleEvent) + + json.Unmarshal(b, &r.ScheduleEvent) + + json.Unmarshal(b, &r.ApiEvent) + + case []interface{}: + + } + + return nil +} diff --git a/generate/sam-2016-10-31.json b/generate/sam-2016-10-31.json index d73edf895a..1b0527d8c8 100644 --- a/generate/sam-2016-10-31.json +++ b/generate/sam-2016-10-31.json @@ -34,6 +34,13 @@ "PrimitiveType": "String", "UpdateType": "Immutable" }, + "FileSystemConfigs": { + "Documentation": "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-function.html", + "Required": false, + "Type": "List", + "ItemType": "FileSystemConfig", + "UpdateType": "Immutable" + }, "Description": { "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction", "Required": false, @@ -381,6 +388,91 @@ "UpdateType": "Immutable" } } + }, + "AWS::Serverless::StateMachine": { + "Documentation": "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-statemachine.html", + "Properties": { + "Definition": { + "Documentation": "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-statemachine.html", + "Required": false, + "PrimitiveType": "Json", + "UpdateType": "Immutable" + }, + "DefinitionSubstitutions": { + "Documentation": "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-statemachine.html", + "Required": false, + "Type": "Map", + "PrimitiveItemType": "String", + "UpdateType": "Immutable" + }, + "DefinitionUri": { + "Documentation": "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-statemachine.html", + "Required": false, + "PrimitiveTypes": [ + "String" + ], + "Types": [ + "S3Location" + ], + "UpdateType": "Immutable" + }, + "Events": { + "Documentation": "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-statemachine.html", + "Required": false, + "Type": "Map", + "ItemType": "EventSource", + "UpdateType": "Immutable" + }, + "Logging": { + "Documentation": "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-statemachine.html", + "Required": false, + "Type": "LoggingConfiguration", + "UpdateType": "Immutable" + }, + "Name": { + "Documentation": "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-statemachine.html", + "Required": false, + "PrimitiveType": "String", + "UpdateType": "Immutable" + }, + "Policies": { + "Documentation": "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-statemachine.html", + "Required": false, + "PrimitiveTypes": [ + "String" + ], + "PrimitiveItemTypes": [ + "String" + ], + "Types": [ + "IAMPolicyDocument" + ], + "ItemTypes": [ + "IAMPolicyDocument", + "SAMPolicyTemplate" + ], + "UpdateType": "Immutable" + }, + "Role": { + "Documentation": "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-statemachine.html", + "Required": false, + "PrimitiveType": "String", + "UpdateType": "Immutable" + }, + "Tags": { + "Documentation": "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-statemachine.html", + "Required": false, + "Type": "Map", + "PrimitiveItemType": "String", + "UpdateType": "Immutable" + }, + "Type": { + "Documentation": "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-statemachine.html", + "Required": false, + "PrimitiveType": "String", + "UpdateType": "Immutable" + } + } } }, "PropertyTypes": { @@ -424,6 +516,23 @@ } } }, + "AWS::Serverless::Function.FileSystemConfig": { + "Documentation": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-filesystemconfig.html#cfn-lambda-function-filesystemconfig-localmountpath", + "Properties": { + "Arn": { + "Documentation": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-filesystemconfig.html#cfn-lambda-function-filesystemconfig-localmountpath", + "Required": false, + "PrimitiveType": "String", + "UpdateType": "Immutable" + }, + "LocalMountPath": { + "Documentation": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-filesystemconfig.html#cfn-lambda-function-filesystemconfig-localmountpath", + "Required": false, + "PrimitiveType": "String", + "UpdateType": "Immutable" + } + } + }, "AWS::Serverless::Function.EventSource": { "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#event-source-object", "Properties": { @@ -1219,6 +1328,52 @@ } } }, + "AWS::Serverless::StateMachine.LoggingConfiguration": { + "Documentation": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-loggingconfiguration.html", + "Properties": { + "Destinations": { + "Documentation": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-loggingconfiguration.html", + "Required": true, + "Type": "List", + "ItemType": "LogDestination", + "UpdateType": "Immutable" + }, + "IncludeExecutionData": { + "Documentation": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-loggingconfiguration.html", + "Required": true, + "PrimitiveType": "Boolean", + "UpdateType": "Immutable" + }, + "Level": { + "Documentation": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-loggingconfiguration.html", + "Required": true, + "PrimitiveType": "String", + "UpdateType": "Immutable" + } + } + }, + "AWS::Serverless::StateMachine.LogDestination": { + "Documentation": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-logdestination.html#cfn-stepfunctions-statemachine-logdestination-cloudwatchlogsloggroup", + "Properties": { + "CloudWatchLogsLogGroup": { + "Documentation": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-logdestination.html#cfn-stepfunctions-statemachine-logdestination-cloudwatchlogsloggroup", + "Required": true, + "Type": "CloudWatchLogsLogGroup", + "UpdateType": "Immutable" + } + } + }, + "AWS::Serverless::StateMachine.CloudWatchLogsLogGroup": { + "Documentation": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-logdestination-cloudwatchlogsloggroup.html", + "Properties": { + "LogGroupArn": { + "Documentation": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-logdestination-cloudwatchlogsloggroup.html", + "Required": true, + "PrimitiveType": "String", + "UpdateType": "Immutable" + } + } + }, "AWS::Serverless::Api.S3Location": { "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#s3-location-object", "Properties": { @@ -1355,6 +1510,197 @@ "UpdateType": "Immutable" } } + }, + "AWS::Serverless::StateMachine.IAMPolicyDocument": { + "Documentation": "http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html", + "Properties": { + "Statement": { + "Documentation": "http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html", + "PrimitiveType": "Json", + "Required": true, + "UpdateType": "Immutable" + } + } + }, + "AWS::Serverless::StateMachine.SAMPolicyTemplate": { + "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst", + "Properties": { + "LambdaInvokePolicy": { + "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst", + "Type": "FunctionSAMPT", + "UpdateType": "Immutable" + }, + "StepFunctionsExecutionPolicy": { + "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst", + "Type": "StateMachineSAMPT", + "UpdateType": "Immutable" + } + } + }, + "AWS::Serverless::StateMachine.StateMachineSAMPT": { + "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst", + "Properties": { + "StateMachineName": { + "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst", + "Required": true, + "PrimitiveType": "String", + "UpdateType": "Immutable" + } + } + }, + "AWS::Serverless::StateMachine.FunctionSAMPT": { + "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst", + "Properties": { + "FunctionName": { + "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst", + "Required": true, + "PrimitiveType": "String", + "UpdateType": "Immutable" + } + } + }, + "AWS::Serverless::StateMachine.S3Location": { + "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#s3-location-object", + "Properties": { + "Bucket": { + "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction", + "Required": true, + "PrimitiveType": "String", + "UpdateType": "Immutable" + }, + "Key": { + "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction", + "Required": true, + "PrimitiveType": "String", + "UpdateType": "Immutable" + }, + "Version": { + "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction", + "Required": false, + "PrimitiveType": "Integer", + "UpdateType": "Immutable" + } + } + }, + "AWS::Serverless::StateMachine.EventSource": { + "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#event-source-object", + "Properties": { + "Type": { + "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#event-source-object", + "Required": true, + "PrimitiveType": "String", + "UpdateType": "Immutable" + }, + "Properties": { + "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#event-source-types", + "Required": true, + "Types": [ + "CloudWatchEventEvent", + "EventBridgeRuleEvent", + "ScheduleEvent", + "ApiEvent" + ], + "UpdateType": "Immutable" + } + } + }, + "AWS::Serverless::StateMachine.CloudWatchEventEvent": { + "Documentation": "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-cloudwatchevent.html", + "Properties": { + "Pattern": { + "Documentation": "http://docs.aws.amazon.com/AmazonCloudWatch/latest/events/CloudWatchEventsandEventPatterns.html", + "Required": true, + "PrimitiveType": "Json", + "UpdateType": "Immutable" + }, + "EventBusName": { + "Documentation": "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-cloudwatchevent.html", + "Required": false, + "PrimitiveType": "String", + "UpdateType": "Immutable" + }, + "Input": { + "Documentation": "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-cloudwatchevent.html", + "Required": false, + "PrimitiveType": "String", + "UpdateType": "Immutable" + }, + "InputPath": { + "Documentation": "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-cloudwatchevent.html", + "Required": false, + "PrimitiveType": "String", + "UpdateType": "Immutable" + } + } + }, + "AWS::Serverless::StateMachine.EventBridgeRuleEvent": { + "Documentation": "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-cloudwatchevent.html", + "Properties": { + "Pattern": { + "Documentation": "http://docs.aws.amazon.com/AmazonCloudWatch/latest/events/CloudWatchEventsandEventPatterns.html", + "Required": true, + "PrimitiveType": "Json", + "UpdateType": "Immutable" + }, + "EventBusName": { + "Documentation": "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-cloudwatchevent.html", + "Required": false, + "PrimitiveType": "String", + "UpdateType": "Immutable" + }, + "Input": { + "Documentation": "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-cloudwatchevent.html", + "Required": false, + "PrimitiveType": "String", + "UpdateType": "Immutable" + }, + "InputPath": { + "Documentation": "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-cloudwatchevent.html", + "Required": false, + "PrimitiveType": "String", + "UpdateType": "Immutable" + } + } + }, + "AWS::Serverless::StateMachine.ScheduleEvent": { + "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#schedule", + "Properties": { + "Schedule": { + "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#schedule", + "Required": true, + "PrimitiveType": "String", + "UpdateType": "Immutable" + }, + "Input": { + "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#schedule", + "Required": false, + "PrimitiveType": "String", + "UpdateType": "Immutable" + } + } + }, + "AWS::Serverless::StateMachine.ApiEvent": { + "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#api", + "Properties": { + "Path": { + "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#api", + "Required": true, + "PrimitiveType": "String", + "UpdateType": "Immutable" + }, + "Method": { + "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#api", + "Required": true, + "PrimitiveType": "String", + "UpdateType": "Immutable" + }, + "RestApiId": { + "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#api", + "Required": false, + "PrimitiveType": "String", + "UpdateType": "Immutable" + } + } } } } diff --git a/schema/sam.go b/schema/sam.go index 183ecfee30..ca5c7de88e 100644 --- a/schema/sam.go +++ b/schema/sam.go @@ -63523,6 +63523,12 @@ var SamSchema = `{ }, "type": "object" }, + "FileSystemConfigs": { + "items": { + "$ref": "#/definitions/AWS::Serverless::Function.FileSystemConfig" + }, + "type": "array" + }, "FunctionName": { "type": "string" }, @@ -63911,6 +63917,18 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::Serverless::Function.FileSystemConfig": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "LocalMountPath": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Serverless::Function.FunctionEnvironment": { "additionalProperties": false, "properties": { @@ -64564,6 +64582,364 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::Serverless::StateMachine": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Definition": { + "type": "object" + }, + "DefinitionSubstitutions": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "DefinitionUri": { + "anyOf": [ + { + "type": [ + "string" + ] + }, + { + "$ref": "#/definitions/AWS::Serverless::StateMachine.S3Location" + } + ] + }, + "Events": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::Serverless::StateMachine.EventSource" + } + }, + "type": "object" + }, + "Logging": { + "$ref": "#/definitions/AWS::Serverless::StateMachine.LoggingConfiguration" + }, + "Name": { + "type": "string" + }, + "Policies": { + "anyOf": [ + { + "type": [ + "string" + ] + }, + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "#/definitions/AWS::Serverless::StateMachine.IAMPolicyDocument" + }, + { + "items": { + "$ref": "#/definitions/AWS::Serverless::StateMachine.IAMPolicyDocument" + }, + "type": "array" + }, + { + "items": { + "$ref": "#/definitions/AWS::Serverless::StateMachine.SAMPolicyTemplate" + }, + "type": "array" + } + ] + }, + "Role": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Serverless::StateMachine" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.ApiEvent": { + "additionalProperties": false, + "properties": { + "Method": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "RestApiId": { + "type": "string" + } + }, + "required": [ + "Method", + "Path" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.CloudWatchEventEvent": { + "additionalProperties": false, + "properties": { + "EventBusName": { + "type": "string" + }, + "Input": { + "type": "string" + }, + "InputPath": { + "type": "string" + }, + "Pattern": { + "type": "object" + } + }, + "required": [ + "Pattern" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.CloudWatchLogsLogGroup": { + "additionalProperties": false, + "properties": { + "LogGroupArn": { + "type": "string" + } + }, + "required": [ + "LogGroupArn" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.EventBridgeRuleEvent": { + "additionalProperties": false, + "properties": { + "EventBusName": { + "type": "string" + }, + "Input": { + "type": "string" + }, + "InputPath": { + "type": "string" + }, + "Pattern": { + "type": "object" + } + }, + "required": [ + "Pattern" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.EventSource": { + "additionalProperties": false, + "properties": { + "Properties": { + "anyOf": [ + { + "$ref": "#/definitions/AWS::Serverless::StateMachine.CloudWatchEventEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::StateMachine.EventBridgeRuleEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::StateMachine.ScheduleEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::StateMachine.ApiEvent" + } + ] + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Properties", + "Type" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.FunctionSAMPT": { + "additionalProperties": false, + "properties": { + "FunctionName": { + "type": "string" + } + }, + "required": [ + "FunctionName" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.IAMPolicyDocument": { + "additionalProperties": false, + "properties": { + "Statement": { + "type": "object" + } + }, + "required": [ + "Statement" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.LogDestination": { + "additionalProperties": false, + "properties": { + "CloudWatchLogsLogGroup": { + "$ref": "#/definitions/AWS::Serverless::StateMachine.CloudWatchLogsLogGroup" + } + }, + "required": [ + "CloudWatchLogsLogGroup" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.LoggingConfiguration": { + "additionalProperties": false, + "properties": { + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::Serverless::StateMachine.LogDestination" + }, + "type": "array" + }, + "IncludeExecutionData": { + "type": "boolean" + }, + "Level": { + "type": "string" + } + }, + "required": [ + "Destinations", + "IncludeExecutionData", + "Level" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Version": { + "type": "number" + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.SAMPolicyTemplate": { + "additionalProperties": false, + "properties": { + "LambdaInvokePolicy": { + "$ref": "#/definitions/AWS::Serverless::StateMachine.FunctionSAMPT" + }, + "StepFunctionsExecutionPolicy": { + "$ref": "#/definitions/AWS::Serverless::StateMachine.StateMachineSAMPT" + } + }, + "type": "object" + }, + "AWS::Serverless::StateMachine.ScheduleEvent": { + "additionalProperties": false, + "properties": { + "Input": { + "type": "string" + }, + "Schedule": { + "type": "string" + } + }, + "required": [ + "Schedule" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.StateMachineSAMPT": { + "additionalProperties": false, + "properties": { + "StateMachineName": { + "type": "string" + } + }, + "required": [ + "StateMachineName" + ], + "type": "object" + }, "AWS::ServiceCatalog::AcceptedPortfolioShare": { "additionalProperties": false, "properties": { @@ -71892,6 +72268,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::Serverless::SimpleTable" }, + { + "$ref": "#/definitions/AWS::Serverless::StateMachine" + }, { "$ref": "#/definitions/AWS::ServiceCatalog::AcceptedPortfolioShare" }, diff --git a/schema/sam.schema.json b/schema/sam.schema.json index d7b07e2743..bc72528e3e 100644 --- a/schema/sam.schema.json +++ b/schema/sam.schema.json @@ -63520,6 +63520,12 @@ }, "type": "object" }, + "FileSystemConfigs": { + "items": { + "$ref": "#/definitions/AWS::Serverless::Function.FileSystemConfig" + }, + "type": "array" + }, "FunctionName": { "type": "string" }, @@ -63908,6 +63914,18 @@ ], "type": "object" }, + "AWS::Serverless::Function.FileSystemConfig": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "LocalMountPath": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Serverless::Function.FunctionEnvironment": { "additionalProperties": false, "properties": { @@ -64561,6 +64579,364 @@ }, "type": "object" }, + "AWS::Serverless::StateMachine": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Definition": { + "type": "object" + }, + "DefinitionSubstitutions": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "DefinitionUri": { + "anyOf": [ + { + "type": [ + "string" + ] + }, + { + "$ref": "#/definitions/AWS::Serverless::StateMachine.S3Location" + } + ] + }, + "Events": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::Serverless::StateMachine.EventSource" + } + }, + "type": "object" + }, + "Logging": { + "$ref": "#/definitions/AWS::Serverless::StateMachine.LoggingConfiguration" + }, + "Name": { + "type": "string" + }, + "Policies": { + "anyOf": [ + { + "type": [ + "string" + ] + }, + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "#/definitions/AWS::Serverless::StateMachine.IAMPolicyDocument" + }, + { + "items": { + "$ref": "#/definitions/AWS::Serverless::StateMachine.IAMPolicyDocument" + }, + "type": "array" + }, + { + "items": { + "$ref": "#/definitions/AWS::Serverless::StateMachine.SAMPolicyTemplate" + }, + "type": "array" + } + ] + }, + "Role": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Serverless::StateMachine" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.ApiEvent": { + "additionalProperties": false, + "properties": { + "Method": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "RestApiId": { + "type": "string" + } + }, + "required": [ + "Method", + "Path" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.CloudWatchEventEvent": { + "additionalProperties": false, + "properties": { + "EventBusName": { + "type": "string" + }, + "Input": { + "type": "string" + }, + "InputPath": { + "type": "string" + }, + "Pattern": { + "type": "object" + } + }, + "required": [ + "Pattern" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.CloudWatchLogsLogGroup": { + "additionalProperties": false, + "properties": { + "LogGroupArn": { + "type": "string" + } + }, + "required": [ + "LogGroupArn" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.EventBridgeRuleEvent": { + "additionalProperties": false, + "properties": { + "EventBusName": { + "type": "string" + }, + "Input": { + "type": "string" + }, + "InputPath": { + "type": "string" + }, + "Pattern": { + "type": "object" + } + }, + "required": [ + "Pattern" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.EventSource": { + "additionalProperties": false, + "properties": { + "Properties": { + "anyOf": [ + { + "$ref": "#/definitions/AWS::Serverless::StateMachine.CloudWatchEventEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::StateMachine.EventBridgeRuleEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::StateMachine.ScheduleEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::StateMachine.ApiEvent" + } + ] + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Properties", + "Type" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.FunctionSAMPT": { + "additionalProperties": false, + "properties": { + "FunctionName": { + "type": "string" + } + }, + "required": [ + "FunctionName" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.IAMPolicyDocument": { + "additionalProperties": false, + "properties": { + "Statement": { + "type": "object" + } + }, + "required": [ + "Statement" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.LogDestination": { + "additionalProperties": false, + "properties": { + "CloudWatchLogsLogGroup": { + "$ref": "#/definitions/AWS::Serverless::StateMachine.CloudWatchLogsLogGroup" + } + }, + "required": [ + "CloudWatchLogsLogGroup" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.LoggingConfiguration": { + "additionalProperties": false, + "properties": { + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::Serverless::StateMachine.LogDestination" + }, + "type": "array" + }, + "IncludeExecutionData": { + "type": "boolean" + }, + "Level": { + "type": "string" + } + }, + "required": [ + "Destinations", + "IncludeExecutionData", + "Level" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Version": { + "type": "number" + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.SAMPolicyTemplate": { + "additionalProperties": false, + "properties": { + "LambdaInvokePolicy": { + "$ref": "#/definitions/AWS::Serverless::StateMachine.FunctionSAMPT" + }, + "StepFunctionsExecutionPolicy": { + "$ref": "#/definitions/AWS::Serverless::StateMachine.StateMachineSAMPT" + } + }, + "type": "object" + }, + "AWS::Serverless::StateMachine.ScheduleEvent": { + "additionalProperties": false, + "properties": { + "Input": { + "type": "string" + }, + "Schedule": { + "type": "string" + } + }, + "required": [ + "Schedule" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.StateMachineSAMPT": { + "additionalProperties": false, + "properties": { + "StateMachineName": { + "type": "string" + } + }, + "required": [ + "StateMachineName" + ], + "type": "object" + }, "AWS::ServiceCatalog::AcceptedPortfolioShare": { "additionalProperties": false, "properties": { @@ -71889,6 +72265,9 @@ { "$ref": "#/definitions/AWS::Serverless::SimpleTable" }, + { + "$ref": "#/definitions/AWS::Serverless::StateMachine" + }, { "$ref": "#/definitions/AWS::ServiceCatalog::AcceptedPortfolioShare" }, From 7aec3d5f9fe64dfae3fdc7bc8549fa5deeaa959a Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Sun, 26 Jul 2020 10:53:18 +0000 Subject: [PATCH 12/57] chore(release): 4.13.0 [skip ci] # [4.13.0](https://github.com/awslabs/goformation/compare/v4.12.0...v4.13.0) (2020-07-26) ### Features * **schema:** adding AWS::Serverless::StateMachine and FileSystemConfigs to Function ([#284](https://github.com/awslabs/goformation/issues/284)) ([d2d23ca](https://github.com/awslabs/goformation/commit/d2d23cafba606a8ea40649cc666073fa0e2d5ad3)) --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 56af13c005..6a61ee8ab2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # GoFormation Versioning Changelog +# [4.13.0](https://github.com/awslabs/goformation/compare/v4.12.0...v4.13.0) (2020-07-26) + + +### Features + +* **schema:** adding AWS::Serverless::StateMachine and FileSystemConfigs to Function ([#284](https://github.com/awslabs/goformation/issues/284)) ([d2d23ca](https://github.com/awslabs/goformation/commit/d2d23cafba606a8ea40649cc666073fa0e2d5ad3)) + # [4.12.0](https://github.com/awslabs/goformation/compare/v4.11.0...v4.12.0) (2020-07-21) From 989b05fa78cb9e72f6d59298fb8bb287612f322e Mon Sep 17 00:00:00 2001 From: Graham Jenson Date: Sun, 26 Jul 2020 03:53:44 -0700 Subject: [PATCH 13/57] fix(schema): Add Change and Update policies to the Unmarshal method (#288) * add update and change policies to the outer json unmarshal * go generate * also fix intrinsics encoding improperly * fixing tests * making sure that the update and creation policies are rendered * fixing intrinsics for getAttr --- .../aws-autoscaling-autoscalinggroup.go | 10 +++ .../aws-cloudformation-waitcondition.go | 6 ++ cloudformation/ec2/aws-ec2-instance.go | 6 ++ cloudformation/intrinsics.go | 63 +++++++++++++------ cloudformation/intrinsics_test.go | 7 +++ cloudformation/lambda/aws-lambda-alias.go | 5 ++ generate/templates/resource.template | 10 ++- 7 files changed, 87 insertions(+), 20 deletions(-) diff --git a/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup.go b/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup.go index 0bcc07edbc..d65ec396ea 100644 --- a/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup.go +++ b/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup.go @@ -193,6 +193,8 @@ func (r *AutoScalingGroup) UnmarshalJSON(b []byte) error { DeletionPolicy string UpdateReplacePolicy string Condition string + UpdatePolicy *policies.UpdatePolicy + CreationPolicy *policies.CreationPolicy }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -222,5 +224,13 @@ func (r *AutoScalingGroup) UnmarshalJSON(b []byte) error { if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } + if res.UpdatePolicy != nil { + r.AWSCloudFormationUpdatePolicy = res.UpdatePolicy + } + + if res.CreationPolicy != nil { + r.AWSCloudFormationCreationPolicy = res.CreationPolicy + } + return nil } diff --git a/cloudformation/cloudformation/aws-cloudformation-waitcondition.go b/cloudformation/cloudformation/aws-cloudformation-waitcondition.go index 6202eab0f0..c9ca78f2b3 100644 --- a/cloudformation/cloudformation/aws-cloudformation-waitcondition.go +++ b/cloudformation/cloudformation/aws-cloudformation-waitcondition.go @@ -90,6 +90,8 @@ func (r *WaitCondition) UnmarshalJSON(b []byte) error { DeletionPolicy string UpdateReplacePolicy string Condition string + + CreationPolicy *policies.CreationPolicy }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -119,5 +121,9 @@ func (r *WaitCondition) UnmarshalJSON(b []byte) error { if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } + if res.CreationPolicy != nil { + r.AWSCloudFormationCreationPolicy = res.CreationPolicy + } + return nil } diff --git a/cloudformation/ec2/aws-ec2-instance.go b/cloudformation/ec2/aws-ec2-instance.go index 8c9e2779b9..e8fb297bbf 100644 --- a/cloudformation/ec2/aws-ec2-instance.go +++ b/cloudformation/ec2/aws-ec2-instance.go @@ -261,6 +261,8 @@ func (r *Instance) UnmarshalJSON(b []byte) error { DeletionPolicy string UpdateReplacePolicy string Condition string + + CreationPolicy *policies.CreationPolicy }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -290,5 +292,9 @@ func (r *Instance) UnmarshalJSON(b []byte) error { if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } + if res.CreationPolicy != nil { + r.AWSCloudFormationCreationPolicy = res.CreationPolicy + } + return nil } diff --git a/cloudformation/intrinsics.go b/cloudformation/intrinsics.go index 0ff0d3dfdc..ca65efac44 100644 --- a/cloudformation/intrinsics.go +++ b/cloudformation/intrinsics.go @@ -18,12 +18,29 @@ func strWrap(fn func(interface{}) string) intrinsics.IntrinsicHandler { func strSplit2Wrap(fn func(string, string) string) intrinsics.IntrinsicHandler { delim := "." return func(name string, input interface{}, template interface{}) interface{} { - if str, ok := input.(string); ok { - arr := strings.SplitN(str, delim, 2) + switch v := input.(type) { + case string: + arr := strings.SplitN(v, delim, 2) if len(arr) != 2 { return nil } return fn(arr[0], arr[1]) + case []interface{}: + if len(v) != 2 { + return nil + } + + str1, ok := v[0].(string) + if !ok { + return nil + } + + str2, ok := v[1].(string) + if !ok { + return nil + } + + return fn(str1, str2) } return nil } @@ -105,93 +122,93 @@ var EncoderIntrinsics = map[string]intrinsics.IntrinsicHandler{ // Ref creates a CloudFormation Reference to another resource in the template func Ref(logicalName interface{}) string { - return encode(fmt.Sprintf(`{ "Ref": "%v" }`, logicalName)) + return encode(fmt.Sprintf(`{ "Ref": %q }`, logicalName)) } // ImportValue returns the value of an output exported by another stack. You typically use this function to create cross-stack references. In the following example template snippets, Stack A exports VPC security group values and Stack B imports them. func ImportValue(name interface{}) string { - return encode(fmt.Sprintf(`{ "Fn::ImportValue": "%v" }`, name)) + return encode(fmt.Sprintf(`{ "Fn::ImportValue": %q }`, name)) } // Base64 returns the Base64 representation of the input string. This function is typically used to pass encoded data to Amazon EC2 instances by way of the UserData property func Base64(input interface{}) string { - return encode(fmt.Sprintf(`{ "Fn::Base64": "%v" }`, input)) + return encode(fmt.Sprintf(`{ "Fn::Base64": %q }`, input)) } // GetAZs returns an array that lists Availability Zones for a specified region. Because customers have access to different Availability Zones, the intrinsic function Fn::GetAZs enables template authors to write templates that adapt to the calling user's access. That way you don't have to hard-code a full list of Availability Zones for a specified region. func GetAZs(region interface{}) string { - return encode(fmt.Sprintf(`{ "Fn::GetAZs": "%v" }`, region)) + return encode(fmt.Sprintf(`{ "Fn::GetAZs": %q }`, region)) } // Sub substitutes variables in an input string with values that you specify. In your templates, you can use this function to construct commands or outputs that include values that aren't available until you create or update a stack. func Sub(value interface{}) string { - return encode(fmt.Sprintf(`{ "Fn::Sub" : "%v" }`, value)) + return encode(fmt.Sprintf(`{ "Fn::Sub" : %q }`, value)) } // (str, str) -> str // GetAtt returns the value of an attribute from a resource in the template. func GetAtt(logicalName string, attribute string) string { - return encode(fmt.Sprintf(`{ "Fn::GetAtt" : [ "%v", "%v" ] }`, logicalName, attribute)) + return encode(fmt.Sprintf(`{ "Fn::GetAtt" : [ %q, %q ] }`, logicalName, attribute)) } // Split splits a string into a list of string values so that you can select an element from the resulting string list, use the Fn::Split intrinsic function. Specify the location of splits with a delimiter, such as , (a comma). After you split a string, use the Fn::Select function to pick a specific element. func Split(delimiter, source interface{}) string { - return encode(fmt.Sprintf(`{ "Fn::Split" : [ "%v", "%v" ] }`, delimiter, source)) + return encode(fmt.Sprintf(`{ "Fn::Split" : [ %q, %q ] }`, delimiter, source)) } // Equals compares if two values are equal. Returns true if the two values are equal or false if they aren't. func Equals(value1, value2 interface{}) string { - return encode(fmt.Sprintf(`{ "Fn::Equals" : [ "%v", "%v" ] }`, value1, value2)) + return encode(fmt.Sprintf(`{ "Fn::Equals" : [ %q, %q ] }`, value1, value2)) } // (str, str, str) -> str // CIDR returns an array of CIDR address blocks. The number of CIDR blocks returned is dependent on the count parameter. func CIDR(ipBlock, count, cidrBits interface{}) string { - return encode(fmt.Sprintf(`{ "Fn::Cidr" : [ "%v", "%v", "%v" ] }`, ipBlock, count, cidrBits)) + return encode(fmt.Sprintf(`{ "Fn::Cidr" : [ %q, %q, %q ] }`, ipBlock, count, cidrBits)) } // FindInMap returns the value corresponding to keys in a two-level map that is declared in the Mappings section. func FindInMap(mapName, topLevelKey, secondLevelKey interface{}) string { - return encode(fmt.Sprintf(`{ "Fn::FindInMap" : [ "%v", "%v", "%v" ] }`, mapName, topLevelKey, secondLevelKey)) + return encode(fmt.Sprintf(`{ "Fn::FindInMap" : [ %q, %q, %q ] }`, mapName, topLevelKey, secondLevelKey)) } // If returns one value if the specified condition evaluates to true and another value if the specified condition evaluates to false. Currently, AWS CloudFormation supports the Fn::If intrinsic function in the metadata attribute, update policy attribute, and property values in the Resources section and Outputs sections of a template. You can use the AWS::NoValue pseudo parameter as a return value to remove the corresponding property. func If(value, ifEqual, ifNotEqual interface{}) string { - return encode(fmt.Sprintf(`{ "Fn::If" : [ "%v", "%v", "%v" ] }`, value, ifEqual, ifNotEqual)) + return encode(fmt.Sprintf(`{ "Fn::If" : [ %q, %q, %q ] }`, value, ifEqual, ifNotEqual)) } // (str, []str) -> str // Join appends a set of values into a single value, separated by the specified delimiter. If a delimiter is the empty string, the set of values are concatenated with no delimiter. func Join(delimiter interface{}, values []string) string { - return encode(fmt.Sprintf(`{ "Fn::Join": [ "%v", [ "%v" ] ] }`, delimiter, strings.Trim(strings.Join(values, `", "`), `, "`))) + return encode(fmt.Sprintf(`{ "Fn::Join": [ %q, [ %v ] ] }`, delimiter, printList(values))) } // Select returns a single object from a list of objects by index. func Select(index interface{}, list []string) string { if len(list) == 1 { - return encode(fmt.Sprintf(`{ "Fn::Select": [ "%v", "%v" ] }`, index, list[0])) + return encode(fmt.Sprintf(`{ "Fn::Select": [ %q, %q ] }`, index, list[0])) } - return encode(fmt.Sprintf(`{ "Fn::Select": [ "%v", [ "%v" ] ] }`, index, strings.Trim(strings.Join(list, `", "`), `, "`))) + return encode(fmt.Sprintf(`{ "Fn::Select": [ %q, [ %v ] ] }`, index, printList(list))) } // ([]str) -> str // And returns true if all the specified conditions evaluate to true, or returns false if any one of the conditions evaluates to false. Fn::And acts as an AND operator. The minimum number of conditions that you can include is 2, and the maximum is 10. func And(conditions []string) string { - return encode(fmt.Sprintf(`{ "Fn::And": [ "%v" ] }`, strings.Trim(strings.Join(conditions, `", "`), `, "`))) + return encode(fmt.Sprintf(`{ "Fn::And": [ %v ] }`, printList(conditions))) } // Not returns true for a condition that evaluates to false or returns false for a condition that evaluates to true. Fn::Not acts as a NOT operator. func Not(conditions []string) string { - return encode(fmt.Sprintf(`{ "Fn::Not": [ "%v" ] }`, strings.Trim(strings.Join(conditions, `", "`), `, "`))) + return encode(fmt.Sprintf(`{ "Fn::Not": [ %v ] }`, printList(conditions))) } // Or returns true if any one of the specified conditions evaluate to true, or returns false if all of the conditions evaluates to false. Fn::Or acts as an OR operator. The minimum number of conditions that you can include is 2, and the maximum is 10. func Or(conditions []string) string { - return encode(fmt.Sprintf(`{ "Fn::Or": [ "%v" ] }`, strings.Trim(strings.Join(conditions, `", "`), `, "`))) + return encode(fmt.Sprintf(`{ "Fn::Or": [ %v ] }`, printList(conditions))) } // encode takes a string representation of an intrinsic function, and base64 encodes it. @@ -200,6 +217,14 @@ func encode(value string) string { return base64.StdEncoding.EncodeToString([]byte(value)) } +func printList(values []string) string { + escaped := make([]string, len(values)) + for i := range values { + escaped[i] = fmt.Sprintf("%q", values[i]) + } + return strings.Join(escaped, `,`) +} + func interfaceAtostrA(values []interface{}) []string { converted := make([]string, len(values)) for i := range values { diff --git a/cloudformation/intrinsics_test.go b/cloudformation/intrinsics_test.go index ab93652f36..260a12955d 100644 --- a/cloudformation/intrinsics_test.go +++ b/cloudformation/intrinsics_test.go @@ -99,6 +99,13 @@ var _ = Describe("Goformation", func() { Input: `Description: !Or [a, b, c]`, Expected: `{"Description":{"Fn::Or":["a","b","c"]}}`, }, + { + Name: "JSON escaped", + Input: `Description: !Sub | + "quote" + newline`, + Expected: `{"Description":{"Fn::Sub":"\"quote\"\nnewline"}}`, + }, } for _, test := range tests { diff --git a/cloudformation/lambda/aws-lambda-alias.go b/cloudformation/lambda/aws-lambda-alias.go index 632716cc0c..4fd3185ad5 100644 --- a/cloudformation/lambda/aws-lambda-alias.go +++ b/cloudformation/lambda/aws-lambda-alias.go @@ -103,6 +103,7 @@ func (r *Alias) UnmarshalJSON(b []byte) error { DeletionPolicy string UpdateReplacePolicy string Condition string + UpdatePolicy *policies.UpdatePolicy }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -132,5 +133,9 @@ func (r *Alias) UnmarshalJSON(b []byte) error { if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition } + if res.UpdatePolicy != nil { + r.AWSCloudFormationUpdatePolicy = res.UpdatePolicy + } + return nil } diff --git a/generate/templates/resource.template b/generate/templates/resource.template index e9c545f5aa..a61801b7e4 100644 --- a/generate/templates/resource.template +++ b/generate/templates/resource.template @@ -83,6 +83,8 @@ func (r {{.StructName}}) MarshalJSON() ([]byte, error) { }) } + + // UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer // AWS CloudFormation resource object, and just keeps the 'Properties' field. func (r *{{.StructName}}) UnmarshalJSON(b []byte) error { @@ -95,6 +97,8 @@ func (r *{{.StructName}}) UnmarshalJSON(b []byte) error { DeletionPolicy string UpdateReplacePolicy string Condition string + {{if .HasUpdatePolicy}}UpdatePolicy *policies.UpdatePolicy {{end}} + {{if .HasCreationPolicy}}CreationPolicy *policies.CreationPolicy{{end}} }{} dec := json.NewDecoder(bytes.NewReader(b)) @@ -123,7 +127,11 @@ func (r *{{.StructName}}) UnmarshalJSON(b []byte) error { } if res.Condition != "" { r.AWSCloudFormationCondition = res.Condition - } + } {{if .HasUpdatePolicy }} + if res.UpdatePolicy != nil { r.AWSCloudFormationUpdatePolicy = res.UpdatePolicy } + {{end}} {{if .HasCreationPolicy}} + if res.CreationPolicy != nil { r.AWSCloudFormationCreationPolicy = res.CreationPolicy } + {{end}} return nil } From 21faab9f176cab49286d38952cd5744b8a1e0c41 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Sun, 26 Jul 2020 10:54:24 +0000 Subject: [PATCH 14/57] chore(release): 4.13.1 [skip ci] ## [4.13.1](https://github.com/awslabs/goformation/compare/v4.13.0...v4.13.1) (2020-07-26) ### Bug Fixes * **schema:** Add Change and Update policies to the Unmarshal method ([#288](https://github.com/awslabs/goformation/issues/288)) ([989b05f](https://github.com/awslabs/goformation/commit/989b05fa78cb9e72f6d59298fb8bb287612f322e)) --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6a61ee8ab2..fa26821a91 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # GoFormation Versioning Changelog +## [4.13.1](https://github.com/awslabs/goformation/compare/v4.13.0...v4.13.1) (2020-07-26) + + +### Bug Fixes + +* **schema:** Add Change and Update policies to the Unmarshal method ([#288](https://github.com/awslabs/goformation/issues/288)) ([989b05f](https://github.com/awslabs/goformation/commit/989b05fa78cb9e72f6d59298fb8bb287612f322e)) + # [4.13.0](https://github.com/awslabs/goformation/compare/v4.12.0...v4.13.0) (2020-07-26) From 6875c50d00d8e1af71d9bad5788446b29ab03513 Mon Sep 17 00:00:00 2001 From: Marcin Rabenda Date: Sun, 26 Jul 2020 12:55:05 +0200 Subject: [PATCH 15/57] feat(schema): Add support for Template Outputs (#291) * Add support for template output * fix default template * add export struct * Fix tests * Recover defualt value --- cloudformation/template.go | 46 ++++++++++++++++++++++++-------------- 1 file changed, 29 insertions(+), 17 deletions(-) diff --git a/cloudformation/template.go b/cloudformation/template.go index 1156e1b2ff..03b91f06f6 100644 --- a/cloudformation/template.go +++ b/cloudformation/template.go @@ -16,32 +16,44 @@ type Template struct { Transform *Transform `json:"Transform,omitempty"` Description string `json:"Description,omitempty"` Metadata map[string]interface{} `json:"Metadata,omitempty"` - Parameters map[string]interface{} `json:"Parameters,omitempty"` + Parameters Parameters `json:"Parameters,omitempty"` Mappings map[string]interface{} `json:"Mappings,omitempty"` Conditions map[string]interface{} `json:"Conditions,omitempty"` Resources Resources `json:"Resources,omitempty"` - Outputs map[string]interface{} `json:"Outputs,omitempty"` + Outputs Outputs `json:"Outputs,omitempty"` } type Parameter struct { - Type string `json:"Type"` - Description string `json:"Description,omitempty"` - Default string `json:"Default,omitempty"` - AllowedPattern string `json:"AllowedPattern,omitempty"` - AllowedValues []string `json:"AllowedValues,omitempty"` - ConstraintDescription string `json:"ConstraintDescription,omitempty"` - MaxLength int `json:"MaxLength,omitempty"` - MinLength int `json:"MinLength,omitempty"` - MaxValue float64 `json:"MaxValue,omitempty"` - MinValue float64 `json:"MinValue,omitempty"` - NoEcho bool `json:"NoEcho,omitempty"` + Type string `json:"Type"` + Description string `json:"Description,omitempty"` + Default interface{} `json:"Default,omitempty"` + AllowedPattern string `json:"AllowedPattern,omitempty"` + AllowedValues []string `json:"AllowedValues,omitempty"` + ConstraintDescription string `json:"ConstraintDescription,omitempty"` + MaxLength int `json:"MaxLength,omitempty"` + MinLength int `json:"MinLength,omitempty"` + MaxValue float64 `json:"MaxValue,omitempty"` + MinValue float64 `json:"MinValue,omitempty"` + NoEcho bool `json:"NoEcho,omitempty"` +} + +type Output struct { + Value interface{} `json:"Value"` + Description string `json:"Description,omitempty"` + Export Export `json:"Export,omitempty"` +} + +type Export struct { + Name string `json:"Name,omitempty"` } type Resource interface { AWSCloudFormationType() string } +type Parameters map[string]Parameter type Resources map[string]Resource +type Outputs map[string]Output func (resources *Resources) UnmarshalJSON(b []byte) error { // Resources @@ -139,8 +151,8 @@ func (t *Transform) UnmarshalJSON(b []byte) error { var strslice []string for _, i := range val { switch str := i.(type) { - case string: - strslice = append(strslice, str) + case string: + strslice = append(strslice, str) } } t.StringArray = &strslice @@ -155,11 +167,11 @@ func NewTemplate() *Template { AWSTemplateFormatVersion: "2010-09-09", Description: "", Metadata: map[string]interface{}{}, - Parameters: map[string]interface{}{}, + Parameters: Parameters{}, Mappings: map[string]interface{}{}, Conditions: map[string]interface{}{}, Resources: Resources{}, - Outputs: map[string]interface{}{}, + Outputs: Outputs{}, } } From 2e639c2b8f9ff4bf04e7e0833798276d01634107 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Sun, 26 Jul 2020 10:55:43 +0000 Subject: [PATCH 16/57] chore(release): 4.14.0 [skip ci] # [4.14.0](https://github.com/awslabs/goformation/compare/v4.13.1...v4.14.0) (2020-07-26) ### Features * **schema:** Add support for Template Outputs ([#291](https://github.com/awslabs/goformation/issues/291)) ([6875c50](https://github.com/awslabs/goformation/commit/6875c50d00d8e1af71d9bad5788446b29ab03513)) --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index fa26821a91..04938c48a5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # GoFormation Versioning Changelog +# [4.14.0](https://github.com/awslabs/goformation/compare/v4.13.1...v4.14.0) (2020-07-26) + + +### Features + +* **schema:** Add support for Template Outputs ([#291](https://github.com/awslabs/goformation/issues/291)) ([6875c50](https://github.com/awslabs/goformation/commit/6875c50d00d8e1af71d9bad5788446b29ab03513)) + ## [4.13.1](https://github.com/awslabs/goformation/compare/v4.13.0...v4.13.1) (2020-07-26) From 1c47f16432a0e6f3cd5b966571f3819fdbfd4860 Mon Sep 17 00:00:00 2001 From: Nicolas De loof Date: Fri, 14 Aug 2020 20:37:40 +0200 Subject: [PATCH 17/57] Update generated code (#296) Signed-off-by: Nicolas De Loof --- cloudformation/all.go | 251 ++ .../amazonmq/aws-amazonmq-broker.go | 15 + .../aws-amazonmq-broker_interbrokercred.go | 40 + .../aws-amazonmq-broker_ldapmetadata.go | 40 + .../aws-amazonmq-broker_ldapservermetadata.go | 85 + .../aws-amazonmq-broker_servermetadata.go | 85 + cloudformation/amplify/aws-amplify-app.go | 5 + cloudformation/amplify/aws-amplify-domain.go | 15 + .../apigateway/aws-apigateway-domainname.go | 2 +- ...apigatewayv2-apigatewaymanagedoverrides.go | 121 + ...tewaymanagedoverrides_accesslogsettings.go | 40 + ...aymanagedoverrides_integrationoverrides.go | 50 + ...igatewaymanagedoverrides_routeoverrides.go | 55 + ...pigatewaymanagedoverrides_routesettings.go | 55 + ...igatewaymanagedoverrides_stageoverrides.go | 60 + .../apigatewayv2/aws-apigatewayv2-vpclink.go | 121 + .../aws-applicationinsights-application.go | 147 + ...s-applicationinsights-application_alarm.go | 40 + ...icationinsights-application_alarmmetric.go | 35 + ...ghts-application_componentconfiguration.go | 40 + ...-application_componentmonitoringsetting.go | 60 + ...sights-application_configurationdetails.go | 50 + ...ioninsights-application_customcomponent.go | 40 + ...aws-applicationinsights-application_log.go | 55 + ...licationinsights-application_logpattern.go | 45 + ...ationinsights-application_logpatternset.go | 40 + ...cation_subcomponentconfigurationdetails.go | 45 + ...plication_subcomponenttypeconfiguration.go | 40 + ...cationinsights-application_windowsevent.go | 50 + .../appmesh/aws-appmesh-gatewayroute.go | 132 + ...s-appmesh-gatewayroute_gatewayroutespec.go | 45 + ...appmesh-gatewayroute_gatewayroutetarget.go | 35 + ...gatewayroute_gatewayroutevirtualservice.go | 35 + ...s-appmesh-gatewayroute_grpcgatewayroute.go | 40 + ...esh-gatewayroute_grpcgatewayrouteaction.go | 35 + ...mesh-gatewayroute_grpcgatewayroutematch.go | 35 + ...s-appmesh-gatewayroute_httpgatewayroute.go | 40 + ...esh-gatewayroute_httpgatewayrouteaction.go | 35 + ...mesh-gatewayroute_httpgatewayroutematch.go | 35 + .../appmesh/aws-appmesh-virtualgateway.go | 127 + ...-virtualgateway_virtualgatewayaccesslog.go | 35 + ...algateway_virtualgatewaybackenddefaults.go | 35 + ...rtualgateway_virtualgatewayclientpolicy.go | 35 + ...algateway_virtualgatewayclientpolicytls.go | 45 + ...tualgateway_virtualgatewayfileaccesslog.go | 35 + ...gateway_virtualgatewayhealthcheckpolicy.go | 65 + ...h-virtualgateway_virtualgatewaylistener.go | 45 + ...irtualgateway_virtualgatewaylistenertls.go | 40 + ...virtualgatewaylistenertlsacmcertificate.go | 35 + ...ay_virtualgatewaylistenertlscertificate.go | 40 + ...irtualgatewaylistenertlsfilecertificate.go | 40 + ...sh-virtualgateway_virtualgatewaylogging.go | 35 + ...irtualgateway_virtualgatewayportmapping.go | 40 + ...pmesh-virtualgateway_virtualgatewayspec.go | 45 + ...eway_virtualgatewaytlsvalidationcontext.go | 35 + ...tualgatewaytlsvalidationcontextacmtrust.go | 35 + ...ualgatewaytlsvalidationcontextfiletrust.go | 35 + ...virtualgatewaytlsvalidationcontexttrust.go | 40 + .../athena/aws-athena-datacatalog.go | 126 + .../athena/aws-athena-datacatalog_tags.go | 36 + .../aws-autoscaling-autoscalinggroup.go | 5 + ...s-cloudfront-distribution_cachebehavior.go | 12 +- ...front-distribution_defaultcachebehavior.go | 12 +- .../codebuild/aws-codebuild-project.go | 5 + ...aws-codebuild-project_batchrestrictions.go | 40 + ...aws-codebuild-project_buildstatusconfig.go | 40 + ...debuild-project_projectbuildbatchconfig.go | 50 + .../codebuild/aws-codebuild-project_source.go | 5 + .../aws-codecommit-repository_code.go | 5 + .../aws-codeguruprofiler-profilinggroup.go | 16 + ...codeguruprofiler-profilinggroup_channel.go | 40 + .../aws-codestarconnections-connection.go | 7 +- cloudformation/ec2/aws-ec2-carriergateway.go | 111 + .../ec2/aws-ec2-carriergateway_tags.go | 36 + cloudformation/ec2/aws-ec2-flowlog.go | 16 + cloudformation/ec2/aws-ec2-prefixlist.go | 127 + .../ec2/aws-ec2-prefixlist_entry.go | 40 + cloudformation/ec2/aws-ec2-transitgateway.go | 5 + cloudformation/ecr/aws-ecr-repository.go | 12 +- cloudformation/ecs/aws-ecs-taskdefinition.go | 5 + ...-ecs-taskdefinition_authorizationconfig.go | 40 + ...-ecs-taskdefinition_containerdefinition.go | 5 + ...-ecs-taskdefinition_containerdependency.go | 4 +- .../ecs/aws-ecs-taskdefinition_device.go | 2 +- ...s-taskdefinition_efsvolumeconfiguration.go | 55 + .../aws-ecs-taskdefinition_environmentfile.go | 40 + ...cs-taskdefinition_firelensconfiguration.go | 4 +- .../ecs/aws-ecs-taskdefinition_healthcheck.go | 2 +- .../ecs/aws-ecs-taskdefinition_hostentry.go | 4 +- ...aws-ecs-taskdefinition_logconfiguration.go | 2 +- .../ecs/aws-ecs-taskdefinition_options.go | 30 + .../aws-ecs-taskdefinition_systemcontrol.go | 4 +- .../ecs/aws-ecs-taskdefinition_volume.go | 5 + cloudformation/efs/aws-efs-filesystem.go | 5 + .../efs/aws-efs-filesystem_backuppolicy.go | 35 + cloudformation/eks/aws-eks-nodegroup.go | 5 + ...s-nodegroup_launchtemplatespecification.go | 45 + .../aws-elasticloadbalancingv2-listener.go | 5 + .../elasticsearch/aws-elasticsearch-domain.go | 10 + ...rch-domain_advancedsecurityoptionsinput.go | 45 + ...sticsearch-domain_domainendpointoptions.go | 40 + ...-elasticsearch-domain_masteruseroptions.go | 45 + .../aws-fsx-filesystem_lustreconfiguration.go | 25 + .../aws-imagebuilder-component.go | 5 + ...-distributionconfiguration_distribution.go | 2 +- .../imagebuilder/aws-imagebuilder-image.go | 5 + .../aws-imagebuilder-imagepipeline.go | 5 + .../aws-imagebuilder-imagerecipe.go | 5 + ...magebuilder-infrastructureconfiguration.go | 5 + cloudformation/iot/aws-iot-certificate.go | 17 +- .../iot/aws-iot-provisioningtemplate.go | 2 +- .../iot/aws-iot-provisioningtemplate_tags.go | 35 + .../aws-kinesisfirehose-deliverystream.go | 5 + ...iverystream_httpendpointcommonattribute.go | 40 + ...eliverystream_httpendpointconfiguration.go | 45 + ...am_httpendpointdestinationconfiguration.go | 75 + ...stream_httpendpointrequestconfiguration.go | 40 + ...sisfirehose-deliverystream_retryoptions.go | 35 + .../lambda/aws-lambda-eventsourcemapping.go | 5 + ...da-eventsourcemapping_destinationconfig.go | 2 +- ...aws-lambda-eventsourcemapping_onfailure.go | 2 +- cloudformation/lambda/aws-lambda-function.go | 5 + .../aws-lambda-function_filesystemconfig.go | 40 + cloudformation/qldb/aws-qldb-stream.go | 137 + .../aws-qldb-stream_kinesisconfiguration.go | 40 + .../rds/aws-rds-dbproxytargetgroup.go | 5 + .../sagemaker/aws-sagemaker-endpointconfig.go | 5 + ...endpointconfig_capturecontenttypeheader.go | 40 + ...-sagemaker-endpointconfig_captureoption.go | 35 + ...emaker-endpointconfig_datacaptureconfig.go | 60 + ...aws-sagemaker-model_containerdefinition.go | 7 +- .../aws-sagemaker-monitoringschedule.go | 152 + ...maker-monitoringschedule_baselineconfig.go | 40 + ...emaker-monitoringschedule_clusterconfig.go | 50 + ...-monitoringschedule_constraintsresource.go | 35 + ...emaker-monitoringschedule_endpointinput.go | 50 + ...agemaker-monitoringschedule_environment.go | 30 + ...ringschedule_monitoringappspecification.go | 55 + ...ringschedule_monitoringexecutionsummary.go | 70 + ...aker-monitoringschedule_monitoringinput.go | 35 + ...ker-monitoringschedule_monitoringinputs.go | 35 + ...itoringschedule_monitoringjobdefinition.go | 75 + ...ker-monitoringschedule_monitoringoutput.go | 35 + ...nitoringschedule_monitoringoutputconfig.go | 40 + ...-monitoringschedule_monitoringresources.go | 35 + ...toringschedule_monitoringscheduleconfig.go | 40 + ...emaker-monitoringschedule_networkconfig.go | 45 + ...s-sagemaker-monitoringschedule_s3output.go | 45 + ...maker-monitoringschedule_scheduleconfig.go | 35 + ...r-monitoringschedule_statisticsresource.go | 35 + ...er-monitoringschedule_stoppingcondition.go | 35 + ...-sagemaker-monitoringschedule_vpcconfig.go | 40 + .../aws-secretsmanager-rotationschedule.go | 5 + ...r-rotationschedule_hostedrotationlambda.go | 65 + ...rovisionedproduct_provisioningparameter.go | 4 +- cloudformation/sns/aws-sns-topic.go | 5 - cloudformation/ssm/aws-ssm-association.go | 5 + .../aws-stepfunctions-statemachine.go | 5 + ...ons-statemachine_cloudwatchlogsloggroup.go | 6 +- ...ns-statemachine_definitionsubstitutions.go | 2 +- ...tions-statemachine_tracingconfiguration.go | 35 + .../synthetics/aws-synthetics-canary.go | 2 +- .../aws-synthetics-canary_runconfig.go | 5 + .../aws-synthetics-canary_schedule.go | 2 +- .../transfer/aws-transfer-server.go | 5 + ...afv2-rulegroup_forwardedipconfiguration.go | 40 + .../aws-wafv2-rulegroup_geomatchstatement.go | 5 + ...rulegroup_ipsetforwardedipconfiguration.go | 45 + ...wafv2-rulegroup_ipsetreferencestatement.go | 5 + ...s-wafv2-rulegroup_ratebasedstatementone.go | 5 + ...s-wafv2-rulegroup_ratebasedstatementtwo.go | 5 + ...s-wafv2-webacl_forwardedipconfiguration.go | 40 + .../aws-wafv2-webacl_geomatchstatement.go | 5 + ...v2-webacl_ipsetforwardedipconfiguration.go | 45 + ...ws-wafv2-webacl_ipsetreferencestatement.go | 5 + .../aws-wafv2-webacl_ratebasedstatementone.go | 5 + .../aws-wafv2-webacl_ratebasedstatementtwo.go | 5 + schema/cloudformation.go | 3673 +++++++++++++-- schema/cloudformation.schema.json | 3673 +++++++++++++-- schema/sam.go | 3945 ++++++++++++++--- schema/sam.schema.json | 3945 ++++++++++++++--- 181 files changed, 19393 insertions(+), 2159 deletions(-) create mode 100644 cloudformation/amazonmq/aws-amazonmq-broker_interbrokercred.go create mode 100644 cloudformation/amazonmq/aws-amazonmq-broker_ldapmetadata.go create mode 100644 cloudformation/amazonmq/aws-amazonmq-broker_ldapservermetadata.go create mode 100644 cloudformation/amazonmq/aws-amazonmq-broker_servermetadata.go create mode 100644 cloudformation/apigatewayv2/aws-apigatewayv2-apigatewaymanagedoverrides.go create mode 100644 cloudformation/apigatewayv2/aws-apigatewayv2-apigatewaymanagedoverrides_accesslogsettings.go create mode 100644 cloudformation/apigatewayv2/aws-apigatewayv2-apigatewaymanagedoverrides_integrationoverrides.go create mode 100644 cloudformation/apigatewayv2/aws-apigatewayv2-apigatewaymanagedoverrides_routeoverrides.go create mode 100644 cloudformation/apigatewayv2/aws-apigatewayv2-apigatewaymanagedoverrides_routesettings.go create mode 100644 cloudformation/apigatewayv2/aws-apigatewayv2-apigatewaymanagedoverrides_stageoverrides.go create mode 100644 cloudformation/apigatewayv2/aws-apigatewayv2-vpclink.go create mode 100644 cloudformation/applicationinsights/aws-applicationinsights-application.go create mode 100644 cloudformation/applicationinsights/aws-applicationinsights-application_alarm.go create mode 100644 cloudformation/applicationinsights/aws-applicationinsights-application_alarmmetric.go create mode 100644 cloudformation/applicationinsights/aws-applicationinsights-application_componentconfiguration.go create mode 100644 cloudformation/applicationinsights/aws-applicationinsights-application_componentmonitoringsetting.go create mode 100644 cloudformation/applicationinsights/aws-applicationinsights-application_configurationdetails.go create mode 100644 cloudformation/applicationinsights/aws-applicationinsights-application_customcomponent.go create mode 100644 cloudformation/applicationinsights/aws-applicationinsights-application_log.go create mode 100644 cloudformation/applicationinsights/aws-applicationinsights-application_logpattern.go create mode 100644 cloudformation/applicationinsights/aws-applicationinsights-application_logpatternset.go create mode 100644 cloudformation/applicationinsights/aws-applicationinsights-application_subcomponentconfigurationdetails.go create mode 100644 cloudformation/applicationinsights/aws-applicationinsights-application_subcomponenttypeconfiguration.go create mode 100644 cloudformation/applicationinsights/aws-applicationinsights-application_windowsevent.go create mode 100644 cloudformation/appmesh/aws-appmesh-gatewayroute.go create mode 100644 cloudformation/appmesh/aws-appmesh-gatewayroute_gatewayroutespec.go create mode 100644 cloudformation/appmesh/aws-appmesh-gatewayroute_gatewayroutetarget.go create mode 100644 cloudformation/appmesh/aws-appmesh-gatewayroute_gatewayroutevirtualservice.go create mode 100644 cloudformation/appmesh/aws-appmesh-gatewayroute_grpcgatewayroute.go create mode 100644 cloudformation/appmesh/aws-appmesh-gatewayroute_grpcgatewayrouteaction.go create mode 100644 cloudformation/appmesh/aws-appmesh-gatewayroute_grpcgatewayroutematch.go create mode 100644 cloudformation/appmesh/aws-appmesh-gatewayroute_httpgatewayroute.go create mode 100644 cloudformation/appmesh/aws-appmesh-gatewayroute_httpgatewayrouteaction.go create mode 100644 cloudformation/appmesh/aws-appmesh-gatewayroute_httpgatewayroutematch.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualgateway.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewayaccesslog.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaybackenddefaults.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewayclientpolicy.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewayclientpolicytls.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewayfileaccesslog.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewayhealthcheckpolicy.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaylistener.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaylistenertls.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaylistenertlsacmcertificate.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaylistenertlscertificate.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaylistenertlsfilecertificate.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaylogging.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewayportmapping.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewayspec.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaytlsvalidationcontext.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaytlsvalidationcontextacmtrust.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaytlsvalidationcontextfiletrust.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaytlsvalidationcontexttrust.go create mode 100644 cloudformation/athena/aws-athena-datacatalog.go create mode 100644 cloudformation/athena/aws-athena-datacatalog_tags.go create mode 100644 cloudformation/codebuild/aws-codebuild-project_batchrestrictions.go create mode 100644 cloudformation/codebuild/aws-codebuild-project_buildstatusconfig.go create mode 100644 cloudformation/codebuild/aws-codebuild-project_projectbuildbatchconfig.go create mode 100644 cloudformation/codeguruprofiler/aws-codeguruprofiler-profilinggroup_channel.go create mode 100644 cloudformation/ec2/aws-ec2-carriergateway.go create mode 100644 cloudformation/ec2/aws-ec2-carriergateway_tags.go create mode 100644 cloudformation/ec2/aws-ec2-prefixlist.go create mode 100644 cloudformation/ec2/aws-ec2-prefixlist_entry.go create mode 100644 cloudformation/ecs/aws-ecs-taskdefinition_authorizationconfig.go create mode 100644 cloudformation/ecs/aws-ecs-taskdefinition_efsvolumeconfiguration.go create mode 100644 cloudformation/ecs/aws-ecs-taskdefinition_environmentfile.go create mode 100644 cloudformation/ecs/aws-ecs-taskdefinition_options.go create mode 100644 cloudformation/efs/aws-efs-filesystem_backuppolicy.go create mode 100644 cloudformation/eks/aws-eks-nodegroup_launchtemplatespecification.go create mode 100644 cloudformation/elasticsearch/aws-elasticsearch-domain_advancedsecurityoptionsinput.go create mode 100644 cloudformation/elasticsearch/aws-elasticsearch-domain_domainendpointoptions.go create mode 100644 cloudformation/elasticsearch/aws-elasticsearch-domain_masteruseroptions.go create mode 100644 cloudformation/iot/aws-iot-provisioningtemplate_tags.go create mode 100644 cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_httpendpointcommonattribute.go create mode 100644 cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_httpendpointconfiguration.go create mode 100644 cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_httpendpointdestinationconfiguration.go create mode 100644 cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_httpendpointrequestconfiguration.go create mode 100644 cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_retryoptions.go create mode 100644 cloudformation/lambda/aws-lambda-function_filesystemconfig.go create mode 100644 cloudformation/qldb/aws-qldb-stream.go create mode 100644 cloudformation/qldb/aws-qldb-stream_kinesisconfiguration.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-endpointconfig_capturecontenttypeheader.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-endpointconfig_captureoption.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-endpointconfig_datacaptureconfig.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-monitoringschedule.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-monitoringschedule_baselineconfig.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-monitoringschedule_clusterconfig.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-monitoringschedule_constraintsresource.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-monitoringschedule_endpointinput.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-monitoringschedule_environment.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-monitoringschedule_monitoringappspecification.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-monitoringschedule_monitoringexecutionsummary.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-monitoringschedule_monitoringinput.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-monitoringschedule_monitoringinputs.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-monitoringschedule_monitoringjobdefinition.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-monitoringschedule_monitoringoutput.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-monitoringschedule_monitoringoutputconfig.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-monitoringschedule_monitoringresources.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-monitoringschedule_monitoringscheduleconfig.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-monitoringschedule_networkconfig.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-monitoringschedule_s3output.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-monitoringschedule_scheduleconfig.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-monitoringschedule_statisticsresource.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-monitoringschedule_stoppingcondition.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-monitoringschedule_vpcconfig.go create mode 100644 cloudformation/secretsmanager/aws-secretsmanager-rotationschedule_hostedrotationlambda.go create mode 100644 cloudformation/stepfunctions/aws-stepfunctions-statemachine_tracingconfiguration.go create mode 100644 cloudformation/wafv2/aws-wafv2-rulegroup_forwardedipconfiguration.go create mode 100644 cloudformation/wafv2/aws-wafv2-rulegroup_ipsetforwardedipconfiguration.go create mode 100644 cloudformation/wafv2/aws-wafv2-webacl_forwardedipconfiguration.go create mode 100644 cloudformation/wafv2/aws-wafv2-webacl_ipsetforwardedipconfiguration.go diff --git a/cloudformation/all.go b/cloudformation/all.go index ad3f2ff59d..084f6029c9 100644 --- a/cloudformation/all.go +++ b/cloudformation/all.go @@ -10,6 +10,7 @@ import ( "github.com/awslabs/goformation/v4/cloudformation/apigatewayv2" "github.com/awslabs/goformation/v4/cloudformation/appconfig" "github.com/awslabs/goformation/v4/cloudformation/applicationautoscaling" + "github.com/awslabs/goformation/v4/cloudformation/applicationinsights" "github.com/awslabs/goformation/v4/cloudformation/appmesh" "github.com/awslabs/goformation/v4/cloudformation/appstream" "github.com/awslabs/goformation/v4/cloudformation/appsync" @@ -157,6 +158,7 @@ func AllResources() map[string]Resource { "AWS::ApiGateway::UsagePlanKey": &apigateway.UsagePlanKey{}, "AWS::ApiGateway::VpcLink": &apigateway.VpcLink{}, "AWS::ApiGatewayV2::Api": &apigatewayv2.Api{}, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides": &apigatewayv2.ApiGatewayManagedOverrides{}, "AWS::ApiGatewayV2::ApiMapping": &apigatewayv2.ApiMapping{}, "AWS::ApiGatewayV2::Authorizer": &apigatewayv2.Authorizer{}, "AWS::ApiGatewayV2::Deployment": &apigatewayv2.Deployment{}, @@ -167,14 +169,17 @@ func AllResources() map[string]Resource { "AWS::ApiGatewayV2::Route": &apigatewayv2.Route{}, "AWS::ApiGatewayV2::RouteResponse": &apigatewayv2.RouteResponse{}, "AWS::ApiGatewayV2::Stage": &apigatewayv2.Stage{}, + "AWS::ApiGatewayV2::VpcLink": &apigatewayv2.VpcLink{}, "AWS::AppConfig::Application": &appconfig.Application{}, "AWS::AppConfig::ConfigurationProfile": &appconfig.ConfigurationProfile{}, "AWS::AppConfig::Deployment": &appconfig.Deployment{}, "AWS::AppConfig::DeploymentStrategy": &appconfig.DeploymentStrategy{}, "AWS::AppConfig::Environment": &appconfig.Environment{}, "AWS::AppConfig::HostedConfigurationVersion": &appconfig.HostedConfigurationVersion{}, + "AWS::AppMesh::GatewayRoute": &appmesh.GatewayRoute{}, "AWS::AppMesh::Mesh": &appmesh.Mesh{}, "AWS::AppMesh::Route": &appmesh.Route{}, + "AWS::AppMesh::VirtualGateway": &appmesh.VirtualGateway{}, "AWS::AppMesh::VirtualNode": &appmesh.VirtualNode{}, "AWS::AppMesh::VirtualRouter": &appmesh.VirtualRouter{}, "AWS::AppMesh::VirtualService": &appmesh.VirtualService{}, @@ -194,6 +199,8 @@ func AllResources() map[string]Resource { "AWS::AppSync::Resolver": &appsync.Resolver{}, "AWS::ApplicationAutoScaling::ScalableTarget": &applicationautoscaling.ScalableTarget{}, "AWS::ApplicationAutoScaling::ScalingPolicy": &applicationautoscaling.ScalingPolicy{}, + "AWS::ApplicationInsights::Application": &applicationinsights.Application{}, + "AWS::Athena::DataCatalog": &athena.DataCatalog{}, "AWS::Athena::NamedQuery": &athena.NamedQuery{}, "AWS::Athena::WorkGroup": &athena.WorkGroup{}, "AWS::AutoScaling::AutoScalingGroup": &autoscaling.AutoScalingGroup{}, @@ -285,6 +292,7 @@ func AllResources() map[string]Resource { "AWS::DocDB::DBSubnetGroup": &docdb.DBSubnetGroup{}, "AWS::DynamoDB::Table": &dynamodb.Table{}, "AWS::EC2::CapacityReservation": &ec2.CapacityReservation{}, + "AWS::EC2::CarrierGateway": &ec2.CarrierGateway{}, "AWS::EC2::ClientVpnAuthorizationRule": &ec2.ClientVpnAuthorizationRule{}, "AWS::EC2::ClientVpnEndpoint": &ec2.ClientVpnEndpoint{}, "AWS::EC2::ClientVpnRoute": &ec2.ClientVpnRoute{}, @@ -310,6 +318,7 @@ func AllResources() map[string]Resource { "AWS::EC2::NetworkInterfaceAttachment": &ec2.NetworkInterfaceAttachment{}, "AWS::EC2::NetworkInterfacePermission": &ec2.NetworkInterfacePermission{}, "AWS::EC2::PlacementGroup": &ec2.PlacementGroup{}, + "AWS::EC2::PrefixList": &ec2.PrefixList{}, "AWS::EC2::Route": &ec2.Route{}, "AWS::EC2::RouteTable": &ec2.RouteTable{}, "AWS::EC2::SecurityGroup": &ec2.SecurityGroup{}, @@ -553,6 +562,7 @@ func AllResources() map[string]Resource { "AWS::PinpointEmail::DedicatedIpPool": &pinpointemail.DedicatedIpPool{}, "AWS::PinpointEmail::Identity": &pinpointemail.Identity{}, "AWS::QLDB::Ledger": &qldb.Ledger{}, + "AWS::QLDB::Stream": &qldb.Stream{}, "AWS::RAM::ResourceShare": &ram.ResourceShare{}, "AWS::RDS::DBCluster": &rds.DBCluster{}, "AWS::RDS::DBClusterParameterGroup": &rds.DBClusterParameterGroup{}, @@ -611,6 +621,7 @@ func AllResources() map[string]Resource { "AWS::SageMaker::Endpoint": &sagemaker.Endpoint{}, "AWS::SageMaker::EndpointConfig": &sagemaker.EndpointConfig{}, "AWS::SageMaker::Model": &sagemaker.Model{}, + "AWS::SageMaker::MonitoringSchedule": &sagemaker.MonitoringSchedule{}, "AWS::SageMaker::NotebookInstance": &sagemaker.NotebookInstance{}, "AWS::SageMaker::NotebookInstanceLifecycleConfig": &sagemaker.NotebookInstanceLifecycleConfig{}, "AWS::SageMaker::Workteam": &sagemaker.Workteam{}, @@ -1397,6 +1408,30 @@ func (t *Template) GetApiGatewayV2ApiWithName(name string) (*apigatewayv2.Api, e return nil, fmt.Errorf("resource %q of type apigatewayv2.Api not found", name) } +// GetAllApiGatewayV2ApiGatewayManagedOverridesResources retrieves all apigatewayv2.ApiGatewayManagedOverrides items from an AWS CloudFormation template +func (t *Template) GetAllApiGatewayV2ApiGatewayManagedOverridesResources() map[string]*apigatewayv2.ApiGatewayManagedOverrides { + results := map[string]*apigatewayv2.ApiGatewayManagedOverrides{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *apigatewayv2.ApiGatewayManagedOverrides: + results[name] = resource + } + } + return results +} + +// GetApiGatewayV2ApiGatewayManagedOverridesWithName retrieves all apigatewayv2.ApiGatewayManagedOverrides items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetApiGatewayV2ApiGatewayManagedOverridesWithName(name string) (*apigatewayv2.ApiGatewayManagedOverrides, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *apigatewayv2.ApiGatewayManagedOverrides: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type apigatewayv2.ApiGatewayManagedOverrides not found", name) +} + // GetAllApiGatewayV2ApiMappingResources retrieves all apigatewayv2.ApiMapping items from an AWS CloudFormation template func (t *Template) GetAllApiGatewayV2ApiMappingResources() map[string]*apigatewayv2.ApiMapping { results := map[string]*apigatewayv2.ApiMapping{} @@ -1637,6 +1672,30 @@ func (t *Template) GetApiGatewayV2StageWithName(name string) (*apigatewayv2.Stag return nil, fmt.Errorf("resource %q of type apigatewayv2.Stage not found", name) } +// GetAllApiGatewayV2VpcLinkResources retrieves all apigatewayv2.VpcLink items from an AWS CloudFormation template +func (t *Template) GetAllApiGatewayV2VpcLinkResources() map[string]*apigatewayv2.VpcLink { + results := map[string]*apigatewayv2.VpcLink{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *apigatewayv2.VpcLink: + results[name] = resource + } + } + return results +} + +// GetApiGatewayV2VpcLinkWithName retrieves all apigatewayv2.VpcLink items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetApiGatewayV2VpcLinkWithName(name string) (*apigatewayv2.VpcLink, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *apigatewayv2.VpcLink: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type apigatewayv2.VpcLink not found", name) +} + // GetAllAppConfigApplicationResources retrieves all appconfig.Application items from an AWS CloudFormation template func (t *Template) GetAllAppConfigApplicationResources() map[string]*appconfig.Application { results := map[string]*appconfig.Application{} @@ -1781,6 +1840,30 @@ func (t *Template) GetAppConfigHostedConfigurationVersionWithName(name string) ( return nil, fmt.Errorf("resource %q of type appconfig.HostedConfigurationVersion not found", name) } +// GetAllAppMeshGatewayRouteResources retrieves all appmesh.GatewayRoute items from an AWS CloudFormation template +func (t *Template) GetAllAppMeshGatewayRouteResources() map[string]*appmesh.GatewayRoute { + results := map[string]*appmesh.GatewayRoute{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *appmesh.GatewayRoute: + results[name] = resource + } + } + return results +} + +// GetAppMeshGatewayRouteWithName retrieves all appmesh.GatewayRoute items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetAppMeshGatewayRouteWithName(name string) (*appmesh.GatewayRoute, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *appmesh.GatewayRoute: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type appmesh.GatewayRoute not found", name) +} + // GetAllAppMeshMeshResources retrieves all appmesh.Mesh items from an AWS CloudFormation template func (t *Template) GetAllAppMeshMeshResources() map[string]*appmesh.Mesh { results := map[string]*appmesh.Mesh{} @@ -1829,6 +1912,30 @@ func (t *Template) GetAppMeshRouteWithName(name string) (*appmesh.Route, error) return nil, fmt.Errorf("resource %q of type appmesh.Route not found", name) } +// GetAllAppMeshVirtualGatewayResources retrieves all appmesh.VirtualGateway items from an AWS CloudFormation template +func (t *Template) GetAllAppMeshVirtualGatewayResources() map[string]*appmesh.VirtualGateway { + results := map[string]*appmesh.VirtualGateway{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *appmesh.VirtualGateway: + results[name] = resource + } + } + return results +} + +// GetAppMeshVirtualGatewayWithName retrieves all appmesh.VirtualGateway items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetAppMeshVirtualGatewayWithName(name string) (*appmesh.VirtualGateway, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *appmesh.VirtualGateway: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type appmesh.VirtualGateway not found", name) +} + // GetAllAppMeshVirtualNodeResources retrieves all appmesh.VirtualNode items from an AWS CloudFormation template func (t *Template) GetAllAppMeshVirtualNodeResources() map[string]*appmesh.VirtualNode { results := map[string]*appmesh.VirtualNode{} @@ -2285,6 +2392,54 @@ func (t *Template) GetApplicationAutoScalingScalingPolicyWithName(name string) ( return nil, fmt.Errorf("resource %q of type applicationautoscaling.ScalingPolicy not found", name) } +// GetAllApplicationInsightsApplicationResources retrieves all applicationinsights.Application items from an AWS CloudFormation template +func (t *Template) GetAllApplicationInsightsApplicationResources() map[string]*applicationinsights.Application { + results := map[string]*applicationinsights.Application{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *applicationinsights.Application: + results[name] = resource + } + } + return results +} + +// GetApplicationInsightsApplicationWithName retrieves all applicationinsights.Application items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetApplicationInsightsApplicationWithName(name string) (*applicationinsights.Application, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *applicationinsights.Application: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type applicationinsights.Application not found", name) +} + +// GetAllAthenaDataCatalogResources retrieves all athena.DataCatalog items from an AWS CloudFormation template +func (t *Template) GetAllAthenaDataCatalogResources() map[string]*athena.DataCatalog { + results := map[string]*athena.DataCatalog{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *athena.DataCatalog: + results[name] = resource + } + } + return results +} + +// GetAthenaDataCatalogWithName retrieves all athena.DataCatalog items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetAthenaDataCatalogWithName(name string) (*athena.DataCatalog, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *athena.DataCatalog: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type athena.DataCatalog not found", name) +} + // GetAllAthenaNamedQueryResources retrieves all athena.NamedQuery items from an AWS CloudFormation template func (t *Template) GetAllAthenaNamedQueryResources() map[string]*athena.NamedQuery { results := map[string]*athena.NamedQuery{} @@ -4469,6 +4624,30 @@ func (t *Template) GetEC2CapacityReservationWithName(name string) (*ec2.Capacity return nil, fmt.Errorf("resource %q of type ec2.CapacityReservation not found", name) } +// GetAllEC2CarrierGatewayResources retrieves all ec2.CarrierGateway items from an AWS CloudFormation template +func (t *Template) GetAllEC2CarrierGatewayResources() map[string]*ec2.CarrierGateway { + results := map[string]*ec2.CarrierGateway{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.CarrierGateway: + results[name] = resource + } + } + return results +} + +// GetEC2CarrierGatewayWithName retrieves all ec2.CarrierGateway items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2CarrierGatewayWithName(name string) (*ec2.CarrierGateway, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.CarrierGateway: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.CarrierGateway not found", name) +} + // GetAllEC2ClientVpnAuthorizationRuleResources retrieves all ec2.ClientVpnAuthorizationRule items from an AWS CloudFormation template func (t *Template) GetAllEC2ClientVpnAuthorizationRuleResources() map[string]*ec2.ClientVpnAuthorizationRule { results := map[string]*ec2.ClientVpnAuthorizationRule{} @@ -5069,6 +5248,30 @@ func (t *Template) GetEC2PlacementGroupWithName(name string) (*ec2.PlacementGrou return nil, fmt.Errorf("resource %q of type ec2.PlacementGroup not found", name) } +// GetAllEC2PrefixListResources retrieves all ec2.PrefixList items from an AWS CloudFormation template +func (t *Template) GetAllEC2PrefixListResources() map[string]*ec2.PrefixList { + results := map[string]*ec2.PrefixList{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.PrefixList: + results[name] = resource + } + } + return results +} + +// GetEC2PrefixListWithName retrieves all ec2.PrefixList items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2PrefixListWithName(name string) (*ec2.PrefixList, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.PrefixList: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.PrefixList not found", name) +} + // GetAllEC2RouteResources retrieves all ec2.Route items from an AWS CloudFormation template func (t *Template) GetAllEC2RouteResources() map[string]*ec2.Route { results := map[string]*ec2.Route{} @@ -10901,6 +11104,30 @@ func (t *Template) GetQLDBLedgerWithName(name string) (*qldb.Ledger, error) { return nil, fmt.Errorf("resource %q of type qldb.Ledger not found", name) } +// GetAllQLDBStreamResources retrieves all qldb.Stream items from an AWS CloudFormation template +func (t *Template) GetAllQLDBStreamResources() map[string]*qldb.Stream { + results := map[string]*qldb.Stream{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *qldb.Stream: + results[name] = resource + } + } + return results +} + +// GetQLDBStreamWithName retrieves all qldb.Stream items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetQLDBStreamWithName(name string) (*qldb.Stream, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *qldb.Stream: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type qldb.Stream not found", name) +} + // GetAllRAMResourceShareResources retrieves all ram.ResourceShare items from an AWS CloudFormation template func (t *Template) GetAllRAMResourceShareResources() map[string]*ram.ResourceShare { results := map[string]*ram.ResourceShare{} @@ -12293,6 +12520,30 @@ func (t *Template) GetSageMakerModelWithName(name string) (*sagemaker.Model, err return nil, fmt.Errorf("resource %q of type sagemaker.Model not found", name) } +// GetAllSageMakerMonitoringScheduleResources retrieves all sagemaker.MonitoringSchedule items from an AWS CloudFormation template +func (t *Template) GetAllSageMakerMonitoringScheduleResources() map[string]*sagemaker.MonitoringSchedule { + results := map[string]*sagemaker.MonitoringSchedule{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *sagemaker.MonitoringSchedule: + results[name] = resource + } + } + return results +} + +// GetSageMakerMonitoringScheduleWithName retrieves all sagemaker.MonitoringSchedule items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetSageMakerMonitoringScheduleWithName(name string) (*sagemaker.MonitoringSchedule, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *sagemaker.MonitoringSchedule: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type sagemaker.MonitoringSchedule not found", name) +} + // GetAllSageMakerNotebookInstanceResources retrieves all sagemaker.NotebookInstance items from an AWS CloudFormation template func (t *Template) GetAllSageMakerNotebookInstanceResources() map[string]*sagemaker.NotebookInstance { results := map[string]*sagemaker.NotebookInstance{} diff --git a/cloudformation/amazonmq/aws-amazonmq-broker.go b/cloudformation/amazonmq/aws-amazonmq-broker.go index d177330730..015c8619b0 100644 --- a/cloudformation/amazonmq/aws-amazonmq-broker.go +++ b/cloudformation/amazonmq/aws-amazonmq-broker.go @@ -12,6 +12,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html type Broker struct { + // AuthenticationStrategy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-authenticationstrategy + AuthenticationStrategy string `json:"AuthenticationStrategy,omitempty"` + // AutoMinorVersionUpgrade AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-autominorversionupgrade @@ -52,6 +57,16 @@ type Broker struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-hostinstancetype HostInstanceType string `json:"HostInstanceType,omitempty"` + // LdapMetadata AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-ldapmetadata + LdapMetadata *Broker_LdapMetadata `json:"LdapMetadata,omitempty"` + + // LdapServerMetadata AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-ldapservermetadata + LdapServerMetadata *Broker_LdapServerMetadata `json:"LdapServerMetadata,omitempty"` + // Logs AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-logs diff --git a/cloudformation/amazonmq/aws-amazonmq-broker_interbrokercred.go b/cloudformation/amazonmq/aws-amazonmq-broker_interbrokercred.go new file mode 100644 index 0000000000..f8e824c9ec --- /dev/null +++ b/cloudformation/amazonmq/aws-amazonmq-broker_interbrokercred.go @@ -0,0 +1,40 @@ +package amazonmq + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Broker_InterBrokerCred AWS CloudFormation Resource (AWS::AmazonMQ::Broker.InterBrokerCred) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-interbrokercred.html +type Broker_InterBrokerCred struct { + + // Password AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-interbrokercred.html#cfn-amazonmq-broker-interbrokercred-password + Password string `json:"Password,omitempty"` + + // Username AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-interbrokercred.html#cfn-amazonmq-broker-interbrokercred-username + Username string `json:"Username,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Broker_InterBrokerCred) AWSCloudFormationType() string { + return "AWS::AmazonMQ::Broker.InterBrokerCred" +} diff --git a/cloudformation/amazonmq/aws-amazonmq-broker_ldapmetadata.go b/cloudformation/amazonmq/aws-amazonmq-broker_ldapmetadata.go new file mode 100644 index 0000000000..b5ce165893 --- /dev/null +++ b/cloudformation/amazonmq/aws-amazonmq-broker_ldapmetadata.go @@ -0,0 +1,40 @@ +package amazonmq + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Broker_LdapMetadata AWS CloudFormation Resource (AWS::AmazonMQ::Broker.LdapMetadata) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-ldapmetadata.html +type Broker_LdapMetadata struct { + + // InterBrokerCreds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-ldapmetadata.html#cfn-amazonmq-broker-ldapmetadata-interbrokercreds + InterBrokerCreds []Broker_InterBrokerCred `json:"InterBrokerCreds,omitempty"` + + // ServerMetadata AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-ldapmetadata.html#cfn-amazonmq-broker-ldapmetadata-servermetadata + ServerMetadata *Broker_ServerMetadata `json:"ServerMetadata,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Broker_LdapMetadata) AWSCloudFormationType() string { + return "AWS::AmazonMQ::Broker.LdapMetadata" +} diff --git a/cloudformation/amazonmq/aws-amazonmq-broker_ldapservermetadata.go b/cloudformation/amazonmq/aws-amazonmq-broker_ldapservermetadata.go new file mode 100644 index 0000000000..ae12a44d63 --- /dev/null +++ b/cloudformation/amazonmq/aws-amazonmq-broker_ldapservermetadata.go @@ -0,0 +1,85 @@ +package amazonmq + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Broker_LdapServerMetadata AWS CloudFormation Resource (AWS::AmazonMQ::Broker.LdapServerMetadata) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-ldapservermetadata.html +type Broker_LdapServerMetadata struct { + + // Hosts AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-ldapservermetadata.html#cfn-amazonmq-broker-ldapservermetadata-hosts + Hosts []string `json:"Hosts,omitempty"` + + // RoleBase AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-ldapservermetadata.html#cfn-amazonmq-broker-ldapservermetadata-rolebase + RoleBase string `json:"RoleBase,omitempty"` + + // RoleName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-ldapservermetadata.html#cfn-amazonmq-broker-ldapservermetadata-rolename + RoleName string `json:"RoleName,omitempty"` + + // RoleSearchMatching AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-ldapservermetadata.html#cfn-amazonmq-broker-ldapservermetadata-rolesearchmatching + RoleSearchMatching string `json:"RoleSearchMatching,omitempty"` + + // RoleSearchSubtree AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-ldapservermetadata.html#cfn-amazonmq-broker-ldapservermetadata-rolesearchsubtree + RoleSearchSubtree bool `json:"RoleSearchSubtree,omitempty"` + + // ServiceAccountPassword AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-ldapservermetadata.html#cfn-amazonmq-broker-ldapservermetadata-serviceaccountpassword + ServiceAccountPassword string `json:"ServiceAccountPassword,omitempty"` + + // ServiceAccountUsername AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-ldapservermetadata.html#cfn-amazonmq-broker-ldapservermetadata-serviceaccountusername + ServiceAccountUsername string `json:"ServiceAccountUsername,omitempty"` + + // UserBase AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-ldapservermetadata.html#cfn-amazonmq-broker-ldapservermetadata-userbase + UserBase string `json:"UserBase,omitempty"` + + // UserRoleName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-ldapservermetadata.html#cfn-amazonmq-broker-ldapservermetadata-userrolename + UserRoleName string `json:"UserRoleName,omitempty"` + + // UserSearchMatching AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-ldapservermetadata.html#cfn-amazonmq-broker-ldapservermetadata-usersearchmatching + UserSearchMatching string `json:"UserSearchMatching,omitempty"` + + // UserSearchSubtree AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-ldapservermetadata.html#cfn-amazonmq-broker-ldapservermetadata-usersearchsubtree + UserSearchSubtree bool `json:"UserSearchSubtree,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Broker_LdapServerMetadata) AWSCloudFormationType() string { + return "AWS::AmazonMQ::Broker.LdapServerMetadata" +} diff --git a/cloudformation/amazonmq/aws-amazonmq-broker_servermetadata.go b/cloudformation/amazonmq/aws-amazonmq-broker_servermetadata.go new file mode 100644 index 0000000000..8893c0e48f --- /dev/null +++ b/cloudformation/amazonmq/aws-amazonmq-broker_servermetadata.go @@ -0,0 +1,85 @@ +package amazonmq + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Broker_ServerMetadata AWS CloudFormation Resource (AWS::AmazonMQ::Broker.ServerMetadata) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-servermetadata.html +type Broker_ServerMetadata struct { + + // Hosts AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-servermetadata.html#cfn-amazonmq-broker-servermetadata-hosts + Hosts []string `json:"Hosts,omitempty"` + + // RoleBase AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-servermetadata.html#cfn-amazonmq-broker-servermetadata-rolebase + RoleBase string `json:"RoleBase,omitempty"` + + // RoleName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-servermetadata.html#cfn-amazonmq-broker-servermetadata-rolename + RoleName string `json:"RoleName,omitempty"` + + // RoleSearchMatching AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-servermetadata.html#cfn-amazonmq-broker-servermetadata-rolesearchmatching + RoleSearchMatching string `json:"RoleSearchMatching,omitempty"` + + // RoleSearchSubtree AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-servermetadata.html#cfn-amazonmq-broker-servermetadata-rolesearchsubtree + RoleSearchSubtree bool `json:"RoleSearchSubtree,omitempty"` + + // ServiceAccountPassword AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-servermetadata.html#cfn-amazonmq-broker-servermetadata-serviceaccountpassword + ServiceAccountPassword string `json:"ServiceAccountPassword,omitempty"` + + // ServiceAccountUsername AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-servermetadata.html#cfn-amazonmq-broker-servermetadata-serviceaccountusername + ServiceAccountUsername string `json:"ServiceAccountUsername,omitempty"` + + // UserBase AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-servermetadata.html#cfn-amazonmq-broker-servermetadata-userbase + UserBase string `json:"UserBase,omitempty"` + + // UserRoleName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-servermetadata.html#cfn-amazonmq-broker-servermetadata-userrolename + UserRoleName string `json:"UserRoleName,omitempty"` + + // UserSearchMatching AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-servermetadata.html#cfn-amazonmq-broker-servermetadata-usersearchmatching + UserSearchMatching string `json:"UserSearchMatching,omitempty"` + + // UserSearchSubtree AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-servermetadata.html#cfn-amazonmq-broker-servermetadata-usersearchsubtree + UserSearchSubtree bool `json:"UserSearchSubtree,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Broker_ServerMetadata) AWSCloudFormationType() string { + return "AWS::AmazonMQ::Broker.ServerMetadata" +} diff --git a/cloudformation/amplify/aws-amplify-app.go b/cloudformation/amplify/aws-amplify-app.go index b6966a67b3..d14060470d 100644 --- a/cloudformation/amplify/aws-amplify-app.go +++ b/cloudformation/amplify/aws-amplify-app.go @@ -43,6 +43,11 @@ type App struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html#cfn-amplify-app-description Description string `json:"Description,omitempty"` + // EnableBranchAutoDeletion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html#cfn-amplify-app-enablebranchautodeletion + EnableBranchAutoDeletion bool `json:"EnableBranchAutoDeletion,omitempty"` + // EnvironmentVariables AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html#cfn-amplify-app-environmentvariables diff --git a/cloudformation/amplify/aws-amplify-domain.go b/cloudformation/amplify/aws-amplify-domain.go index dd0c82b737..bb139def6f 100644 --- a/cloudformation/amplify/aws-amplify-domain.go +++ b/cloudformation/amplify/aws-amplify-domain.go @@ -17,11 +17,26 @@ type Domain struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-domain.html#cfn-amplify-domain-appid AppId string `json:"AppId,omitempty"` + // AutoSubDomainCreationPatterns AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-domain.html#cfn-amplify-domain-autosubdomaincreationpatterns + AutoSubDomainCreationPatterns []string `json:"AutoSubDomainCreationPatterns,omitempty"` + + // AutoSubDomainIAMRole AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-domain.html#cfn-amplify-domain-autosubdomainiamrole + AutoSubDomainIAMRole string `json:"AutoSubDomainIAMRole,omitempty"` + // DomainName AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-domain.html#cfn-amplify-domain-domainname DomainName string `json:"DomainName,omitempty"` + // EnableAutoSubDomain AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-domain.html#cfn-amplify-domain-enableautosubdomain + EnableAutoSubDomain bool `json:"EnableAutoSubDomain,omitempty"` + // SubDomainSettings AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-domain.html#cfn-amplify-domain-subdomainsettings diff --git a/cloudformation/apigateway/aws-apigateway-domainname.go b/cloudformation/apigateway/aws-apigateway-domainname.go index 77846ba0e5..3bdc85e5dc 100644 --- a/cloudformation/apigateway/aws-apigateway-domainname.go +++ b/cloudformation/apigateway/aws-apigateway-domainname.go @@ -19,7 +19,7 @@ type DomainName struct { CertificateArn string `json:"CertificateArn,omitempty"` // DomainName AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-domainname DomainName string `json:"DomainName,omitempty"` diff --git a/cloudformation/apigatewayv2/aws-apigatewayv2-apigatewaymanagedoverrides.go b/cloudformation/apigatewayv2/aws-apigatewayv2-apigatewaymanagedoverrides.go new file mode 100644 index 0000000000..3f4d4ad55e --- /dev/null +++ b/cloudformation/apigatewayv2/aws-apigatewayv2-apigatewaymanagedoverrides.go @@ -0,0 +1,121 @@ +package apigatewayv2 + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ApiGatewayManagedOverrides AWS CloudFormation Resource (AWS::ApiGatewayV2::ApiGatewayManagedOverrides) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apigatewaymanagedoverrides.html +type ApiGatewayManagedOverrides struct { + + // ApiId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apigatewaymanagedoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-apiid + ApiId string `json:"ApiId,omitempty"` + + // Integration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apigatewaymanagedoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-integration + Integration *ApiGatewayManagedOverrides_IntegrationOverrides `json:"Integration,omitempty"` + + // Route AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apigatewaymanagedoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-route + Route *ApiGatewayManagedOverrides_RouteOverrides `json:"Route,omitempty"` + + // Stage AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apigatewaymanagedoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-stage + Stage *ApiGatewayManagedOverrides_StageOverrides `json:"Stage,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ApiGatewayManagedOverrides) AWSCloudFormationType() string { + return "AWS::ApiGatewayV2::ApiGatewayManagedOverrides" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r ApiGatewayManagedOverrides) MarshalJSON() ([]byte, error) { + type Properties ApiGatewayManagedOverrides + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *ApiGatewayManagedOverrides) UnmarshalJSON(b []byte) error { + type Properties ApiGatewayManagedOverrides + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = ApiGatewayManagedOverrides(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/apigatewayv2/aws-apigatewayv2-apigatewaymanagedoverrides_accesslogsettings.go b/cloudformation/apigatewayv2/aws-apigatewayv2-apigatewaymanagedoverrides_accesslogsettings.go new file mode 100644 index 0000000000..7174cdc867 --- /dev/null +++ b/cloudformation/apigatewayv2/aws-apigatewayv2-apigatewaymanagedoverrides_accesslogsettings.go @@ -0,0 +1,40 @@ +package apigatewayv2 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ApiGatewayManagedOverrides_AccessLogSettings AWS CloudFormation Resource (AWS::ApiGatewayV2::ApiGatewayManagedOverrides.AccessLogSettings) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-accesslogsettings.html +type ApiGatewayManagedOverrides_AccessLogSettings struct { + + // DestinationArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-accesslogsettings.html#cfn-apigatewayv2-apigatewaymanagedoverrides-accesslogsettings-destinationarn + DestinationArn string `json:"DestinationArn,omitempty"` + + // Format AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-accesslogsettings.html#cfn-apigatewayv2-apigatewaymanagedoverrides-accesslogsettings-format + Format string `json:"Format,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ApiGatewayManagedOverrides_AccessLogSettings) AWSCloudFormationType() string { + return "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.AccessLogSettings" +} diff --git a/cloudformation/apigatewayv2/aws-apigatewayv2-apigatewaymanagedoverrides_integrationoverrides.go b/cloudformation/apigatewayv2/aws-apigatewayv2-apigatewaymanagedoverrides_integrationoverrides.go new file mode 100644 index 0000000000..f6adbd2957 --- /dev/null +++ b/cloudformation/apigatewayv2/aws-apigatewayv2-apigatewaymanagedoverrides_integrationoverrides.go @@ -0,0 +1,50 @@ +package apigatewayv2 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ApiGatewayManagedOverrides_IntegrationOverrides AWS CloudFormation Resource (AWS::ApiGatewayV2::ApiGatewayManagedOverrides.IntegrationOverrides) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-integrationoverrides.html +type ApiGatewayManagedOverrides_IntegrationOverrides struct { + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-integrationoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-integrationoverrides-description + Description string `json:"Description,omitempty"` + + // IntegrationMethod AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-integrationoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-integrationoverrides-integrationmethod + IntegrationMethod string `json:"IntegrationMethod,omitempty"` + + // PayloadFormatVersion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-integrationoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-integrationoverrides-payloadformatversion + PayloadFormatVersion string `json:"PayloadFormatVersion,omitempty"` + + // TimeoutInMillis AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-integrationoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-integrationoverrides-timeoutinmillis + TimeoutInMillis int `json:"TimeoutInMillis,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ApiGatewayManagedOverrides_IntegrationOverrides) AWSCloudFormationType() string { + return "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.IntegrationOverrides" +} diff --git a/cloudformation/apigatewayv2/aws-apigatewayv2-apigatewaymanagedoverrides_routeoverrides.go b/cloudformation/apigatewayv2/aws-apigatewayv2-apigatewaymanagedoverrides_routeoverrides.go new file mode 100644 index 0000000000..5f57c8139a --- /dev/null +++ b/cloudformation/apigatewayv2/aws-apigatewayv2-apigatewaymanagedoverrides_routeoverrides.go @@ -0,0 +1,55 @@ +package apigatewayv2 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ApiGatewayManagedOverrides_RouteOverrides AWS CloudFormation Resource (AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteOverrides) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-routeoverrides.html +type ApiGatewayManagedOverrides_RouteOverrides struct { + + // AuthorizationScopes AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-routeoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-routeoverrides-authorizationscopes + AuthorizationScopes []string `json:"AuthorizationScopes,omitempty"` + + // AuthorizationType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-routeoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-routeoverrides-authorizationtype + AuthorizationType string `json:"AuthorizationType,omitempty"` + + // AuthorizerId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-routeoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-routeoverrides-authorizerid + AuthorizerId string `json:"AuthorizerId,omitempty"` + + // OperationName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-routeoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-routeoverrides-operationname + OperationName string `json:"OperationName,omitempty"` + + // Target AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-routeoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-routeoverrides-target + Target string `json:"Target,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ApiGatewayManagedOverrides_RouteOverrides) AWSCloudFormationType() string { + return "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteOverrides" +} diff --git a/cloudformation/apigatewayv2/aws-apigatewayv2-apigatewaymanagedoverrides_routesettings.go b/cloudformation/apigatewayv2/aws-apigatewayv2-apigatewaymanagedoverrides_routesettings.go new file mode 100644 index 0000000000..f1c4a8db54 --- /dev/null +++ b/cloudformation/apigatewayv2/aws-apigatewayv2-apigatewaymanagedoverrides_routesettings.go @@ -0,0 +1,55 @@ +package apigatewayv2 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ApiGatewayManagedOverrides_RouteSettings AWS CloudFormation Resource (AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteSettings) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-routesettings.html +type ApiGatewayManagedOverrides_RouteSettings struct { + + // DataTraceEnabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-routesettings.html#cfn-apigatewayv2-apigatewaymanagedoverrides-routesettings-datatraceenabled + DataTraceEnabled bool `json:"DataTraceEnabled,omitempty"` + + // DetailedMetricsEnabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-routesettings.html#cfn-apigatewayv2-apigatewaymanagedoverrides-routesettings-detailedmetricsenabled + DetailedMetricsEnabled bool `json:"DetailedMetricsEnabled,omitempty"` + + // LoggingLevel AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-routesettings.html#cfn-apigatewayv2-apigatewaymanagedoverrides-routesettings-logginglevel + LoggingLevel string `json:"LoggingLevel,omitempty"` + + // ThrottlingBurstLimit AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-routesettings.html#cfn-apigatewayv2-apigatewaymanagedoverrides-routesettings-throttlingburstlimit + ThrottlingBurstLimit int `json:"ThrottlingBurstLimit,omitempty"` + + // ThrottlingRateLimit AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-routesettings.html#cfn-apigatewayv2-apigatewaymanagedoverrides-routesettings-throttlingratelimit + ThrottlingRateLimit float64 `json:"ThrottlingRateLimit,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ApiGatewayManagedOverrides_RouteSettings) AWSCloudFormationType() string { + return "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteSettings" +} diff --git a/cloudformation/apigatewayv2/aws-apigatewayv2-apigatewaymanagedoverrides_stageoverrides.go b/cloudformation/apigatewayv2/aws-apigatewayv2-apigatewaymanagedoverrides_stageoverrides.go new file mode 100644 index 0000000000..583dd3f570 --- /dev/null +++ b/cloudformation/apigatewayv2/aws-apigatewayv2-apigatewaymanagedoverrides_stageoverrides.go @@ -0,0 +1,60 @@ +package apigatewayv2 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ApiGatewayManagedOverrides_StageOverrides AWS CloudFormation Resource (AWS::ApiGatewayV2::ApiGatewayManagedOverrides.StageOverrides) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-stageoverrides.html +type ApiGatewayManagedOverrides_StageOverrides struct { + + // AccessLogSettings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-stageoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-stageoverrides-accesslogsettings + AccessLogSettings *ApiGatewayManagedOverrides_AccessLogSettings `json:"AccessLogSettings,omitempty"` + + // AutoDeploy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-stageoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-stageoverrides-autodeploy + AutoDeploy bool `json:"AutoDeploy,omitempty"` + + // DefaultRouteSettings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-stageoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-stageoverrides-defaultroutesettings + DefaultRouteSettings *ApiGatewayManagedOverrides_RouteSettings `json:"DefaultRouteSettings,omitempty"` + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-stageoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-stageoverrides-description + Description string `json:"Description,omitempty"` + + // RouteSettings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-stageoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-stageoverrides-routesettings + RouteSettings interface{} `json:"RouteSettings,omitempty"` + + // StageVariables AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-stageoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-stageoverrides-stagevariables + StageVariables interface{} `json:"StageVariables,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ApiGatewayManagedOverrides_StageOverrides) AWSCloudFormationType() string { + return "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.StageOverrides" +} diff --git a/cloudformation/apigatewayv2/aws-apigatewayv2-vpclink.go b/cloudformation/apigatewayv2/aws-apigatewayv2-vpclink.go new file mode 100644 index 0000000000..9ec219d6d5 --- /dev/null +++ b/cloudformation/apigatewayv2/aws-apigatewayv2-vpclink.go @@ -0,0 +1,121 @@ +package apigatewayv2 + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VpcLink AWS CloudFormation Resource (AWS::ApiGatewayV2::VpcLink) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-vpclink.html +type VpcLink struct { + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-vpclink.html#cfn-apigatewayv2-vpclink-name + Name string `json:"Name,omitempty"` + + // SecurityGroupIds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-vpclink.html#cfn-apigatewayv2-vpclink-securitygroupids + SecurityGroupIds []string `json:"SecurityGroupIds,omitempty"` + + // SubnetIds AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-vpclink.html#cfn-apigatewayv2-vpclink-subnetids + SubnetIds []string `json:"SubnetIds,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-vpclink.html#cfn-apigatewayv2-vpclink-tags + Tags interface{} `json:"Tags,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VpcLink) AWSCloudFormationType() string { + return "AWS::ApiGatewayV2::VpcLink" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r VpcLink) MarshalJSON() ([]byte, error) { + type Properties VpcLink + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *VpcLink) UnmarshalJSON(b []byte) error { + type Properties VpcLink + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = VpcLink(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/applicationinsights/aws-applicationinsights-application.go b/cloudformation/applicationinsights/aws-applicationinsights-application.go new file mode 100644 index 0000000000..ea384b32dd --- /dev/null +++ b/cloudformation/applicationinsights/aws-applicationinsights-application.go @@ -0,0 +1,147 @@ +package applicationinsights + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// Application AWS CloudFormation Resource (AWS::ApplicationInsights::Application) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationinsights-application.html +type Application struct { + + // AutoConfigurationEnabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationinsights-application.html#cfn-applicationinsights-application-autoconfigurationenabled + AutoConfigurationEnabled bool `json:"AutoConfigurationEnabled,omitempty"` + + // CWEMonitorEnabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationinsights-application.html#cfn-applicationinsights-application-cwemonitorenabled + CWEMonitorEnabled bool `json:"CWEMonitorEnabled,omitempty"` + + // ComponentMonitoringSettings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationinsights-application.html#cfn-applicationinsights-application-componentmonitoringsettings + ComponentMonitoringSettings []Application_ComponentMonitoringSetting `json:"ComponentMonitoringSettings,omitempty"` + + // CustomComponents AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationinsights-application.html#cfn-applicationinsights-application-customcomponents + CustomComponents []Application_CustomComponent `json:"CustomComponents,omitempty"` + + // LogPatternSets AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationinsights-application.html#cfn-applicationinsights-application-logpatternsets + LogPatternSets []Application_LogPatternSet `json:"LogPatternSets,omitempty"` + + // OpsCenterEnabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationinsights-application.html#cfn-applicationinsights-application-opscenterenabled + OpsCenterEnabled bool `json:"OpsCenterEnabled,omitempty"` + + // OpsItemSNSTopicArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationinsights-application.html#cfn-applicationinsights-application-opsitemsnstopicarn + OpsItemSNSTopicArn string `json:"OpsItemSNSTopicArn,omitempty"` + + // ResourceGroupName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationinsights-application.html#cfn-applicationinsights-application-resourcegroupname + ResourceGroupName string `json:"ResourceGroupName,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationinsights-application.html#cfn-applicationinsights-application-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Application) AWSCloudFormationType() string { + return "AWS::ApplicationInsights::Application" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r Application) MarshalJSON() ([]byte, error) { + type Properties Application + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *Application) UnmarshalJSON(b []byte) error { + type Properties Application + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = Application(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/applicationinsights/aws-applicationinsights-application_alarm.go b/cloudformation/applicationinsights/aws-applicationinsights-application_alarm.go new file mode 100644 index 0000000000..6c82accd22 --- /dev/null +++ b/cloudformation/applicationinsights/aws-applicationinsights-application_alarm.go @@ -0,0 +1,40 @@ +package applicationinsights + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Application_Alarm AWS CloudFormation Resource (AWS::ApplicationInsights::Application.Alarm) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-alarm.html +type Application_Alarm struct { + + // AlarmName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-alarm.html#cfn-applicationinsights-application-alarm-alarmname + AlarmName string `json:"AlarmName,omitempty"` + + // Severity AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-alarm.html#cfn-applicationinsights-application-alarm-severity + Severity string `json:"Severity,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Application_Alarm) AWSCloudFormationType() string { + return "AWS::ApplicationInsights::Application.Alarm" +} diff --git a/cloudformation/applicationinsights/aws-applicationinsights-application_alarmmetric.go b/cloudformation/applicationinsights/aws-applicationinsights-application_alarmmetric.go new file mode 100644 index 0000000000..f344c97f84 --- /dev/null +++ b/cloudformation/applicationinsights/aws-applicationinsights-application_alarmmetric.go @@ -0,0 +1,35 @@ +package applicationinsights + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Application_AlarmMetric AWS CloudFormation Resource (AWS::ApplicationInsights::Application.AlarmMetric) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-alarmmetric.html +type Application_AlarmMetric struct { + + // AlarmMetricName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-alarmmetric.html#cfn-applicationinsights-application-alarmmetric-alarmmetricname + AlarmMetricName string `json:"AlarmMetricName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Application_AlarmMetric) AWSCloudFormationType() string { + return "AWS::ApplicationInsights::Application.AlarmMetric" +} diff --git a/cloudformation/applicationinsights/aws-applicationinsights-application_componentconfiguration.go b/cloudformation/applicationinsights/aws-applicationinsights-application_componentconfiguration.go new file mode 100644 index 0000000000..1087c89741 --- /dev/null +++ b/cloudformation/applicationinsights/aws-applicationinsights-application_componentconfiguration.go @@ -0,0 +1,40 @@ +package applicationinsights + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Application_ComponentConfiguration AWS CloudFormation Resource (AWS::ApplicationInsights::Application.ComponentConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-componentconfiguration.html +type Application_ComponentConfiguration struct { + + // ConfigurationDetails AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-componentconfiguration.html#cfn-applicationinsights-application-componentconfiguration-configurationdetails + ConfigurationDetails *Application_ConfigurationDetails `json:"ConfigurationDetails,omitempty"` + + // SubComponentTypeConfigurations AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-componentconfiguration.html#cfn-applicationinsights-application-componentconfiguration-subcomponenttypeconfigurations + SubComponentTypeConfigurations []Application_SubComponentTypeConfiguration `json:"SubComponentTypeConfigurations,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Application_ComponentConfiguration) AWSCloudFormationType() string { + return "AWS::ApplicationInsights::Application.ComponentConfiguration" +} diff --git a/cloudformation/applicationinsights/aws-applicationinsights-application_componentmonitoringsetting.go b/cloudformation/applicationinsights/aws-applicationinsights-application_componentmonitoringsetting.go new file mode 100644 index 0000000000..d458259738 --- /dev/null +++ b/cloudformation/applicationinsights/aws-applicationinsights-application_componentmonitoringsetting.go @@ -0,0 +1,60 @@ +package applicationinsights + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Application_ComponentMonitoringSetting AWS CloudFormation Resource (AWS::ApplicationInsights::Application.ComponentMonitoringSetting) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-componentmonitoringsetting.html +type Application_ComponentMonitoringSetting struct { + + // ComponentARN AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-componentmonitoringsetting.html#cfn-applicationinsights-application-componentmonitoringsetting-componentarn + ComponentARN string `json:"ComponentARN,omitempty"` + + // ComponentConfigurationMode AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-componentmonitoringsetting.html#cfn-applicationinsights-application-componentmonitoringsetting-componentconfigurationmode + ComponentConfigurationMode string `json:"ComponentConfigurationMode,omitempty"` + + // ComponentName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-componentmonitoringsetting.html#cfn-applicationinsights-application-componentmonitoringsetting-componentname + ComponentName string `json:"ComponentName,omitempty"` + + // CustomComponentConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-componentmonitoringsetting.html#cfn-applicationinsights-application-componentmonitoringsetting-customcomponentconfiguration + CustomComponentConfiguration *Application_ComponentConfiguration `json:"CustomComponentConfiguration,omitempty"` + + // DefaultOverwriteComponentConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-componentmonitoringsetting.html#cfn-applicationinsights-application-componentmonitoringsetting-defaultoverwritecomponentconfiguration + DefaultOverwriteComponentConfiguration *Application_ComponentConfiguration `json:"DefaultOverwriteComponentConfiguration,omitempty"` + + // Tier AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-componentmonitoringsetting.html#cfn-applicationinsights-application-componentmonitoringsetting-tier + Tier string `json:"Tier,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Application_ComponentMonitoringSetting) AWSCloudFormationType() string { + return "AWS::ApplicationInsights::Application.ComponentMonitoringSetting" +} diff --git a/cloudformation/applicationinsights/aws-applicationinsights-application_configurationdetails.go b/cloudformation/applicationinsights/aws-applicationinsights-application_configurationdetails.go new file mode 100644 index 0000000000..90c7d9c558 --- /dev/null +++ b/cloudformation/applicationinsights/aws-applicationinsights-application_configurationdetails.go @@ -0,0 +1,50 @@ +package applicationinsights + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Application_ConfigurationDetails AWS CloudFormation Resource (AWS::ApplicationInsights::Application.ConfigurationDetails) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-configurationdetails.html +type Application_ConfigurationDetails struct { + + // AlarmMetrics AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-configurationdetails.html#cfn-applicationinsights-application-configurationdetails-alarmmetrics + AlarmMetrics []Application_AlarmMetric `json:"AlarmMetrics,omitempty"` + + // Alarms AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-configurationdetails.html#cfn-applicationinsights-application-configurationdetails-alarms + Alarms []Application_Alarm `json:"Alarms,omitempty"` + + // Logs AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-configurationdetails.html#cfn-applicationinsights-application-configurationdetails-logs + Logs []Application_Log `json:"Logs,omitempty"` + + // WindowsEvents AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-configurationdetails.html#cfn-applicationinsights-application-configurationdetails-windowsevents + WindowsEvents []Application_WindowsEvent `json:"WindowsEvents,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Application_ConfigurationDetails) AWSCloudFormationType() string { + return "AWS::ApplicationInsights::Application.ConfigurationDetails" +} diff --git a/cloudformation/applicationinsights/aws-applicationinsights-application_customcomponent.go b/cloudformation/applicationinsights/aws-applicationinsights-application_customcomponent.go new file mode 100644 index 0000000000..6282272fae --- /dev/null +++ b/cloudformation/applicationinsights/aws-applicationinsights-application_customcomponent.go @@ -0,0 +1,40 @@ +package applicationinsights + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Application_CustomComponent AWS CloudFormation Resource (AWS::ApplicationInsights::Application.CustomComponent) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-customcomponent.html +type Application_CustomComponent struct { + + // ComponentName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-customcomponent.html#cfn-applicationinsights-application-customcomponent-componentname + ComponentName string `json:"ComponentName,omitempty"` + + // ResourceList AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-customcomponent.html#cfn-applicationinsights-application-customcomponent-resourcelist + ResourceList []string `json:"ResourceList,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Application_CustomComponent) AWSCloudFormationType() string { + return "AWS::ApplicationInsights::Application.CustomComponent" +} diff --git a/cloudformation/applicationinsights/aws-applicationinsights-application_log.go b/cloudformation/applicationinsights/aws-applicationinsights-application_log.go new file mode 100644 index 0000000000..0abbabb79b --- /dev/null +++ b/cloudformation/applicationinsights/aws-applicationinsights-application_log.go @@ -0,0 +1,55 @@ +package applicationinsights + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Application_Log AWS CloudFormation Resource (AWS::ApplicationInsights::Application.Log) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-log.html +type Application_Log struct { + + // Encoding AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-log.html#cfn-applicationinsights-application-log-encoding + Encoding string `json:"Encoding,omitempty"` + + // LogGroupName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-log.html#cfn-applicationinsights-application-log-loggroupname + LogGroupName string `json:"LogGroupName,omitempty"` + + // LogPath AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-log.html#cfn-applicationinsights-application-log-logpath + LogPath string `json:"LogPath,omitempty"` + + // LogType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-log.html#cfn-applicationinsights-application-log-logtype + LogType string `json:"LogType,omitempty"` + + // PatternSet AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-log.html#cfn-applicationinsights-application-log-patternset + PatternSet string `json:"PatternSet,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Application_Log) AWSCloudFormationType() string { + return "AWS::ApplicationInsights::Application.Log" +} diff --git a/cloudformation/applicationinsights/aws-applicationinsights-application_logpattern.go b/cloudformation/applicationinsights/aws-applicationinsights-application_logpattern.go new file mode 100644 index 0000000000..21c5694322 --- /dev/null +++ b/cloudformation/applicationinsights/aws-applicationinsights-application_logpattern.go @@ -0,0 +1,45 @@ +package applicationinsights + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Application_LogPattern AWS CloudFormation Resource (AWS::ApplicationInsights::Application.LogPattern) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-logpattern.html +type Application_LogPattern struct { + + // Pattern AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-logpattern.html#cfn-applicationinsights-application-logpattern-pattern + Pattern string `json:"Pattern,omitempty"` + + // PatternName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-logpattern.html#cfn-applicationinsights-application-logpattern-patternname + PatternName string `json:"PatternName,omitempty"` + + // Rank AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-logpattern.html#cfn-applicationinsights-application-logpattern-rank + Rank int `json:"Rank"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Application_LogPattern) AWSCloudFormationType() string { + return "AWS::ApplicationInsights::Application.LogPattern" +} diff --git a/cloudformation/applicationinsights/aws-applicationinsights-application_logpatternset.go b/cloudformation/applicationinsights/aws-applicationinsights-application_logpatternset.go new file mode 100644 index 0000000000..2e6a1cadf4 --- /dev/null +++ b/cloudformation/applicationinsights/aws-applicationinsights-application_logpatternset.go @@ -0,0 +1,40 @@ +package applicationinsights + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Application_LogPatternSet AWS CloudFormation Resource (AWS::ApplicationInsights::Application.LogPatternSet) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-logpatternset.html +type Application_LogPatternSet struct { + + // LogPatterns AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-logpatternset.html#cfn-applicationinsights-application-logpatternset-logpatterns + LogPatterns []Application_LogPattern `json:"LogPatterns,omitempty"` + + // PatternSetName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-logpatternset.html#cfn-applicationinsights-application-logpatternset-patternsetname + PatternSetName string `json:"PatternSetName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Application_LogPatternSet) AWSCloudFormationType() string { + return "AWS::ApplicationInsights::Application.LogPatternSet" +} diff --git a/cloudformation/applicationinsights/aws-applicationinsights-application_subcomponentconfigurationdetails.go b/cloudformation/applicationinsights/aws-applicationinsights-application_subcomponentconfigurationdetails.go new file mode 100644 index 0000000000..6b928ff26f --- /dev/null +++ b/cloudformation/applicationinsights/aws-applicationinsights-application_subcomponentconfigurationdetails.go @@ -0,0 +1,45 @@ +package applicationinsights + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Application_SubComponentConfigurationDetails AWS CloudFormation Resource (AWS::ApplicationInsights::Application.SubComponentConfigurationDetails) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-subcomponentconfigurationdetails.html +type Application_SubComponentConfigurationDetails struct { + + // AlarmMetrics AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-subcomponentconfigurationdetails.html#cfn-applicationinsights-application-subcomponentconfigurationdetails-alarmmetrics + AlarmMetrics []Application_AlarmMetric `json:"AlarmMetrics,omitempty"` + + // Logs AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-subcomponentconfigurationdetails.html#cfn-applicationinsights-application-subcomponentconfigurationdetails-logs + Logs []Application_Log `json:"Logs,omitempty"` + + // WindowsEvents AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-subcomponentconfigurationdetails.html#cfn-applicationinsights-application-subcomponentconfigurationdetails-windowsevents + WindowsEvents []Application_WindowsEvent `json:"WindowsEvents,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Application_SubComponentConfigurationDetails) AWSCloudFormationType() string { + return "AWS::ApplicationInsights::Application.SubComponentConfigurationDetails" +} diff --git a/cloudformation/applicationinsights/aws-applicationinsights-application_subcomponenttypeconfiguration.go b/cloudformation/applicationinsights/aws-applicationinsights-application_subcomponenttypeconfiguration.go new file mode 100644 index 0000000000..f02012dac8 --- /dev/null +++ b/cloudformation/applicationinsights/aws-applicationinsights-application_subcomponenttypeconfiguration.go @@ -0,0 +1,40 @@ +package applicationinsights + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Application_SubComponentTypeConfiguration AWS CloudFormation Resource (AWS::ApplicationInsights::Application.SubComponentTypeConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-subcomponenttypeconfiguration.html +type Application_SubComponentTypeConfiguration struct { + + // SubComponentConfigurationDetails AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-subcomponenttypeconfiguration.html#cfn-applicationinsights-application-subcomponenttypeconfiguration-subcomponentconfigurationdetails + SubComponentConfigurationDetails *Application_SubComponentConfigurationDetails `json:"SubComponentConfigurationDetails,omitempty"` + + // SubComponentType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-subcomponenttypeconfiguration.html#cfn-applicationinsights-application-subcomponenttypeconfiguration-subcomponenttype + SubComponentType string `json:"SubComponentType,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Application_SubComponentTypeConfiguration) AWSCloudFormationType() string { + return "AWS::ApplicationInsights::Application.SubComponentTypeConfiguration" +} diff --git a/cloudformation/applicationinsights/aws-applicationinsights-application_windowsevent.go b/cloudformation/applicationinsights/aws-applicationinsights-application_windowsevent.go new file mode 100644 index 0000000000..846eafc714 --- /dev/null +++ b/cloudformation/applicationinsights/aws-applicationinsights-application_windowsevent.go @@ -0,0 +1,50 @@ +package applicationinsights + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Application_WindowsEvent AWS CloudFormation Resource (AWS::ApplicationInsights::Application.WindowsEvent) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-windowsevent.html +type Application_WindowsEvent struct { + + // EventLevels AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-windowsevent.html#cfn-applicationinsights-application-windowsevent-eventlevels + EventLevels []string `json:"EventLevels,omitempty"` + + // EventName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-windowsevent.html#cfn-applicationinsights-application-windowsevent-eventname + EventName string `json:"EventName,omitempty"` + + // LogGroupName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-windowsevent.html#cfn-applicationinsights-application-windowsevent-loggroupname + LogGroupName string `json:"LogGroupName,omitempty"` + + // PatternSet AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-windowsevent.html#cfn-applicationinsights-application-windowsevent-patternset + PatternSet string `json:"PatternSet,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Application_WindowsEvent) AWSCloudFormationType() string { + return "AWS::ApplicationInsights::Application.WindowsEvent" +} diff --git a/cloudformation/appmesh/aws-appmesh-gatewayroute.go b/cloudformation/appmesh/aws-appmesh-gatewayroute.go new file mode 100644 index 0000000000..055a388be3 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-gatewayroute.go @@ -0,0 +1,132 @@ +package appmesh + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// GatewayRoute AWS CloudFormation Resource (AWS::AppMesh::GatewayRoute) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-gatewayroute.html +type GatewayRoute struct { + + // GatewayRouteName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-gatewayroute.html#cfn-appmesh-gatewayroute-gatewayroutename + GatewayRouteName string `json:"GatewayRouteName,omitempty"` + + // MeshName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-gatewayroute.html#cfn-appmesh-gatewayroute-meshname + MeshName string `json:"MeshName,omitempty"` + + // MeshOwner AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-gatewayroute.html#cfn-appmesh-gatewayroute-meshowner + MeshOwner string `json:"MeshOwner,omitempty"` + + // Spec AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-gatewayroute.html#cfn-appmesh-gatewayroute-spec + Spec *GatewayRoute_GatewayRouteSpec `json:"Spec,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-gatewayroute.html#cfn-appmesh-gatewayroute-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // VirtualGatewayName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-gatewayroute.html#cfn-appmesh-gatewayroute-virtualgatewayname + VirtualGatewayName string `json:"VirtualGatewayName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *GatewayRoute) AWSCloudFormationType() string { + return "AWS::AppMesh::GatewayRoute" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r GatewayRoute) MarshalJSON() ([]byte, error) { + type Properties GatewayRoute + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *GatewayRoute) UnmarshalJSON(b []byte) error { + type Properties GatewayRoute + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = GatewayRoute(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/appmesh/aws-appmesh-gatewayroute_gatewayroutespec.go b/cloudformation/appmesh/aws-appmesh-gatewayroute_gatewayroutespec.go new file mode 100644 index 0000000000..34c662bf06 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-gatewayroute_gatewayroutespec.go @@ -0,0 +1,45 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// GatewayRoute_GatewayRouteSpec AWS CloudFormation Resource (AWS::AppMesh::GatewayRoute.GatewayRouteSpec) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutespec.html +type GatewayRoute_GatewayRouteSpec struct { + + // GrpcRoute AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutespec.html#cfn-appmesh-gatewayroute-gatewayroutespec-grpcroute + GrpcRoute *GatewayRoute_GrpcGatewayRoute `json:"GrpcRoute,omitempty"` + + // Http2Route AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutespec.html#cfn-appmesh-gatewayroute-gatewayroutespec-http2route + Http2Route *GatewayRoute_HttpGatewayRoute `json:"Http2Route,omitempty"` + + // HttpRoute AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutespec.html#cfn-appmesh-gatewayroute-gatewayroutespec-httproute + HttpRoute *GatewayRoute_HttpGatewayRoute `json:"HttpRoute,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *GatewayRoute_GatewayRouteSpec) AWSCloudFormationType() string { + return "AWS::AppMesh::GatewayRoute.GatewayRouteSpec" +} diff --git a/cloudformation/appmesh/aws-appmesh-gatewayroute_gatewayroutetarget.go b/cloudformation/appmesh/aws-appmesh-gatewayroute_gatewayroutetarget.go new file mode 100644 index 0000000000..441d8be295 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-gatewayroute_gatewayroutetarget.go @@ -0,0 +1,35 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// GatewayRoute_GatewayRouteTarget AWS CloudFormation Resource (AWS::AppMesh::GatewayRoute.GatewayRouteTarget) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutetarget.html +type GatewayRoute_GatewayRouteTarget struct { + + // VirtualService AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutetarget.html#cfn-appmesh-gatewayroute-gatewayroutetarget-virtualservice + VirtualService *GatewayRoute_GatewayRouteVirtualService `json:"VirtualService,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *GatewayRoute_GatewayRouteTarget) AWSCloudFormationType() string { + return "AWS::AppMesh::GatewayRoute.GatewayRouteTarget" +} diff --git a/cloudformation/appmesh/aws-appmesh-gatewayroute_gatewayroutevirtualservice.go b/cloudformation/appmesh/aws-appmesh-gatewayroute_gatewayroutevirtualservice.go new file mode 100644 index 0000000000..962a479be8 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-gatewayroute_gatewayroutevirtualservice.go @@ -0,0 +1,35 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// GatewayRoute_GatewayRouteVirtualService AWS CloudFormation Resource (AWS::AppMesh::GatewayRoute.GatewayRouteVirtualService) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutevirtualservice.html +type GatewayRoute_GatewayRouteVirtualService struct { + + // VirtualServiceName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutevirtualservice.html#cfn-appmesh-gatewayroute-gatewayroutevirtualservice-virtualservicename + VirtualServiceName string `json:"VirtualServiceName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *GatewayRoute_GatewayRouteVirtualService) AWSCloudFormationType() string { + return "AWS::AppMesh::GatewayRoute.GatewayRouteVirtualService" +} diff --git a/cloudformation/appmesh/aws-appmesh-gatewayroute_grpcgatewayroute.go b/cloudformation/appmesh/aws-appmesh-gatewayroute_grpcgatewayroute.go new file mode 100644 index 0000000000..bea47bef9a --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-gatewayroute_grpcgatewayroute.go @@ -0,0 +1,40 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// GatewayRoute_GrpcGatewayRoute AWS CloudFormation Resource (AWS::AppMesh::GatewayRoute.GrpcGatewayRoute) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayroute.html +type GatewayRoute_GrpcGatewayRoute struct { + + // Action AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayroute.html#cfn-appmesh-gatewayroute-grpcgatewayroute-action + Action *GatewayRoute_GrpcGatewayRouteAction `json:"Action,omitempty"` + + // Match AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayroute.html#cfn-appmesh-gatewayroute-grpcgatewayroute-match + Match *GatewayRoute_GrpcGatewayRouteMatch `json:"Match,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *GatewayRoute_GrpcGatewayRoute) AWSCloudFormationType() string { + return "AWS::AppMesh::GatewayRoute.GrpcGatewayRoute" +} diff --git a/cloudformation/appmesh/aws-appmesh-gatewayroute_grpcgatewayrouteaction.go b/cloudformation/appmesh/aws-appmesh-gatewayroute_grpcgatewayrouteaction.go new file mode 100644 index 0000000000..d1bf150680 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-gatewayroute_grpcgatewayrouteaction.go @@ -0,0 +1,35 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// GatewayRoute_GrpcGatewayRouteAction AWS CloudFormation Resource (AWS::AppMesh::GatewayRoute.GrpcGatewayRouteAction) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayrouteaction.html +type GatewayRoute_GrpcGatewayRouteAction struct { + + // Target AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayrouteaction.html#cfn-appmesh-gatewayroute-grpcgatewayrouteaction-target + Target *GatewayRoute_GatewayRouteTarget `json:"Target,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *GatewayRoute_GrpcGatewayRouteAction) AWSCloudFormationType() string { + return "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteAction" +} diff --git a/cloudformation/appmesh/aws-appmesh-gatewayroute_grpcgatewayroutematch.go b/cloudformation/appmesh/aws-appmesh-gatewayroute_grpcgatewayroutematch.go new file mode 100644 index 0000000000..dc9ddb3362 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-gatewayroute_grpcgatewayroutematch.go @@ -0,0 +1,35 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// GatewayRoute_GrpcGatewayRouteMatch AWS CloudFormation Resource (AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMatch) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayroutematch.html +type GatewayRoute_GrpcGatewayRouteMatch struct { + + // ServiceName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayroutematch.html#cfn-appmesh-gatewayroute-grpcgatewayroutematch-servicename + ServiceName string `json:"ServiceName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *GatewayRoute_GrpcGatewayRouteMatch) AWSCloudFormationType() string { + return "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMatch" +} diff --git a/cloudformation/appmesh/aws-appmesh-gatewayroute_httpgatewayroute.go b/cloudformation/appmesh/aws-appmesh-gatewayroute_httpgatewayroute.go new file mode 100644 index 0000000000..3f8866fe92 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-gatewayroute_httpgatewayroute.go @@ -0,0 +1,40 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// GatewayRoute_HttpGatewayRoute AWS CloudFormation Resource (AWS::AppMesh::GatewayRoute.HttpGatewayRoute) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayroute.html +type GatewayRoute_HttpGatewayRoute struct { + + // Action AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayroute.html#cfn-appmesh-gatewayroute-httpgatewayroute-action + Action *GatewayRoute_HttpGatewayRouteAction `json:"Action,omitempty"` + + // Match AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayroute.html#cfn-appmesh-gatewayroute-httpgatewayroute-match + Match *GatewayRoute_HttpGatewayRouteMatch `json:"Match,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *GatewayRoute_HttpGatewayRoute) AWSCloudFormationType() string { + return "AWS::AppMesh::GatewayRoute.HttpGatewayRoute" +} diff --git a/cloudformation/appmesh/aws-appmesh-gatewayroute_httpgatewayrouteaction.go b/cloudformation/appmesh/aws-appmesh-gatewayroute_httpgatewayrouteaction.go new file mode 100644 index 0000000000..b061f2399a --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-gatewayroute_httpgatewayrouteaction.go @@ -0,0 +1,35 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// GatewayRoute_HttpGatewayRouteAction AWS CloudFormation Resource (AWS::AppMesh::GatewayRoute.HttpGatewayRouteAction) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayrouteaction.html +type GatewayRoute_HttpGatewayRouteAction struct { + + // Target AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayrouteaction.html#cfn-appmesh-gatewayroute-httpgatewayrouteaction-target + Target *GatewayRoute_GatewayRouteTarget `json:"Target,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *GatewayRoute_HttpGatewayRouteAction) AWSCloudFormationType() string { + return "AWS::AppMesh::GatewayRoute.HttpGatewayRouteAction" +} diff --git a/cloudformation/appmesh/aws-appmesh-gatewayroute_httpgatewayroutematch.go b/cloudformation/appmesh/aws-appmesh-gatewayroute_httpgatewayroutematch.go new file mode 100644 index 0000000000..0a5f768d1e --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-gatewayroute_httpgatewayroutematch.go @@ -0,0 +1,35 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// GatewayRoute_HttpGatewayRouteMatch AWS CloudFormation Resource (AWS::AppMesh::GatewayRoute.HttpGatewayRouteMatch) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayroutematch.html +type GatewayRoute_HttpGatewayRouteMatch struct { + + // Prefix AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayroutematch.html#cfn-appmesh-gatewayroute-httpgatewayroutematch-prefix + Prefix string `json:"Prefix,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *GatewayRoute_HttpGatewayRouteMatch) AWSCloudFormationType() string { + return "AWS::AppMesh::GatewayRoute.HttpGatewayRouteMatch" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualgateway.go b/cloudformation/appmesh/aws-appmesh-virtualgateway.go new file mode 100644 index 0000000000..792696fbf0 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualgateway.go @@ -0,0 +1,127 @@ +package appmesh + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// VirtualGateway AWS CloudFormation Resource (AWS::AppMesh::VirtualGateway) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualgateway.html +type VirtualGateway struct { + + // MeshName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualgateway.html#cfn-appmesh-virtualgateway-meshname + MeshName string `json:"MeshName,omitempty"` + + // MeshOwner AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualgateway.html#cfn-appmesh-virtualgateway-meshowner + MeshOwner string `json:"MeshOwner,omitempty"` + + // Spec AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualgateway.html#cfn-appmesh-virtualgateway-spec + Spec *VirtualGateway_VirtualGatewaySpec `json:"Spec,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualgateway.html#cfn-appmesh-virtualgateway-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // VirtualGatewayName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualgateway.html#cfn-appmesh-virtualgateway-virtualgatewayname + VirtualGatewayName string `json:"VirtualGatewayName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualGateway) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualGateway" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r VirtualGateway) MarshalJSON() ([]byte, error) { + type Properties VirtualGateway + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *VirtualGateway) UnmarshalJSON(b []byte) error { + type Properties VirtualGateway + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = VirtualGateway(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewayaccesslog.go b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewayaccesslog.go new file mode 100644 index 0000000000..6b01a950e8 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewayaccesslog.go @@ -0,0 +1,35 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualGateway_VirtualGatewayAccessLog AWS CloudFormation Resource (AWS::AppMesh::VirtualGateway.VirtualGatewayAccessLog) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayaccesslog.html +type VirtualGateway_VirtualGatewayAccessLog struct { + + // File AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayaccesslog.html#cfn-appmesh-virtualgateway-virtualgatewayaccesslog-file + File *VirtualGateway_VirtualGatewayFileAccessLog `json:"File,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualGateway_VirtualGatewayAccessLog) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualGateway.VirtualGatewayAccessLog" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaybackenddefaults.go b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaybackenddefaults.go new file mode 100644 index 0000000000..823cdd5813 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaybackenddefaults.go @@ -0,0 +1,35 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualGateway_VirtualGatewayBackendDefaults AWS CloudFormation Resource (AWS::AppMesh::VirtualGateway.VirtualGatewayBackendDefaults) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaybackenddefaults.html +type VirtualGateway_VirtualGatewayBackendDefaults struct { + + // ClientPolicy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaybackenddefaults.html#cfn-appmesh-virtualgateway-virtualgatewaybackenddefaults-clientpolicy + ClientPolicy *VirtualGateway_VirtualGatewayClientPolicy `json:"ClientPolicy,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualGateway_VirtualGatewayBackendDefaults) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualGateway.VirtualGatewayBackendDefaults" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewayclientpolicy.go b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewayclientpolicy.go new file mode 100644 index 0000000000..5363c89b2b --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewayclientpolicy.go @@ -0,0 +1,35 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualGateway_VirtualGatewayClientPolicy AWS CloudFormation Resource (AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicy) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayclientpolicy.html +type VirtualGateway_VirtualGatewayClientPolicy struct { + + // TLS AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayclientpolicy.html#cfn-appmesh-virtualgateway-virtualgatewayclientpolicy-tls + TLS *VirtualGateway_VirtualGatewayClientPolicyTls `json:"TLS,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualGateway_VirtualGatewayClientPolicy) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicy" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewayclientpolicytls.go b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewayclientpolicytls.go new file mode 100644 index 0000000000..8c0e80d1b4 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewayclientpolicytls.go @@ -0,0 +1,45 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualGateway_VirtualGatewayClientPolicyTls AWS CloudFormation Resource (AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicyTls) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayclientpolicytls.html +type VirtualGateway_VirtualGatewayClientPolicyTls struct { + + // Enforce AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayclientpolicytls.html#cfn-appmesh-virtualgateway-virtualgatewayclientpolicytls-enforce + Enforce bool `json:"Enforce,omitempty"` + + // Ports AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayclientpolicytls.html#cfn-appmesh-virtualgateway-virtualgatewayclientpolicytls-ports + Ports []int `json:"Ports,omitempty"` + + // Validation AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayclientpolicytls.html#cfn-appmesh-virtualgateway-virtualgatewayclientpolicytls-validation + Validation *VirtualGateway_VirtualGatewayTlsValidationContext `json:"Validation,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualGateway_VirtualGatewayClientPolicyTls) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicyTls" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewayfileaccesslog.go b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewayfileaccesslog.go new file mode 100644 index 0000000000..360f459b25 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewayfileaccesslog.go @@ -0,0 +1,35 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualGateway_VirtualGatewayFileAccessLog AWS CloudFormation Resource (AWS::AppMesh::VirtualGateway.VirtualGatewayFileAccessLog) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayfileaccesslog.html +type VirtualGateway_VirtualGatewayFileAccessLog struct { + + // Path AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayfileaccesslog.html#cfn-appmesh-virtualgateway-virtualgatewayfileaccesslog-path + Path string `json:"Path,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualGateway_VirtualGatewayFileAccessLog) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualGateway.VirtualGatewayFileAccessLog" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewayhealthcheckpolicy.go b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewayhealthcheckpolicy.go new file mode 100644 index 0000000000..e8f201d64c --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewayhealthcheckpolicy.go @@ -0,0 +1,65 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualGateway_VirtualGatewayHealthCheckPolicy AWS CloudFormation Resource (AWS::AppMesh::VirtualGateway.VirtualGatewayHealthCheckPolicy) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy.html +type VirtualGateway_VirtualGatewayHealthCheckPolicy struct { + + // HealthyThreshold AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy.html#cfn-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy-healthythreshold + HealthyThreshold int `json:"HealthyThreshold"` + + // IntervalMillis AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy.html#cfn-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy-intervalmillis + IntervalMillis int `json:"IntervalMillis"` + + // Path AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy.html#cfn-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy-path + Path string `json:"Path,omitempty"` + + // Port AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy.html#cfn-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy-port + Port int `json:"Port,omitempty"` + + // Protocol AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy.html#cfn-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy-protocol + Protocol string `json:"Protocol,omitempty"` + + // TimeoutMillis AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy.html#cfn-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy-timeoutmillis + TimeoutMillis int `json:"TimeoutMillis"` + + // UnhealthyThreshold AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy.html#cfn-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy-unhealthythreshold + UnhealthyThreshold int `json:"UnhealthyThreshold"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualGateway_VirtualGatewayHealthCheckPolicy) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualGateway.VirtualGatewayHealthCheckPolicy" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaylistener.go b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaylistener.go new file mode 100644 index 0000000000..22dfa37c88 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaylistener.go @@ -0,0 +1,45 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualGateway_VirtualGatewayListener AWS CloudFormation Resource (AWS::AppMesh::VirtualGateway.VirtualGatewayListener) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistener.html +type VirtualGateway_VirtualGatewayListener struct { + + // HealthCheck AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistener.html#cfn-appmesh-virtualgateway-virtualgatewaylistener-healthcheck + HealthCheck *VirtualGateway_VirtualGatewayHealthCheckPolicy `json:"HealthCheck,omitempty"` + + // PortMapping AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistener.html#cfn-appmesh-virtualgateway-virtualgatewaylistener-portmapping + PortMapping *VirtualGateway_VirtualGatewayPortMapping `json:"PortMapping,omitempty"` + + // TLS AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistener.html#cfn-appmesh-virtualgateway-virtualgatewaylistener-tls + TLS *VirtualGateway_VirtualGatewayListenerTls `json:"TLS,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualGateway_VirtualGatewayListener) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualGateway.VirtualGatewayListener" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaylistenertls.go b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaylistenertls.go new file mode 100644 index 0000000000..19681c5715 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaylistenertls.go @@ -0,0 +1,40 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualGateway_VirtualGatewayListenerTls AWS CloudFormation Resource (AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTls) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertls.html +type VirtualGateway_VirtualGatewayListenerTls struct { + + // Certificate AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertls.html#cfn-appmesh-virtualgateway-virtualgatewaylistenertls-certificate + Certificate *VirtualGateway_VirtualGatewayListenerTlsCertificate `json:"Certificate,omitempty"` + + // Mode AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertls.html#cfn-appmesh-virtualgateway-virtualgatewaylistenertls-mode + Mode string `json:"Mode,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualGateway_VirtualGatewayListenerTls) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTls" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaylistenertlsacmcertificate.go b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaylistenertlsacmcertificate.go new file mode 100644 index 0000000000..c29d5c61c5 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaylistenertlsacmcertificate.go @@ -0,0 +1,35 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualGateway_VirtualGatewayListenerTlsAcmCertificate AWS CloudFormation Resource (AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsAcmCertificate) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlsacmcertificate.html +type VirtualGateway_VirtualGatewayListenerTlsAcmCertificate struct { + + // CertificateArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlsacmcertificate.html#cfn-appmesh-virtualgateway-virtualgatewaylistenertlsacmcertificate-certificatearn + CertificateArn string `json:"CertificateArn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualGateway_VirtualGatewayListenerTlsAcmCertificate) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsAcmCertificate" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaylistenertlscertificate.go b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaylistenertlscertificate.go new file mode 100644 index 0000000000..348f413ffd --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaylistenertlscertificate.go @@ -0,0 +1,40 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualGateway_VirtualGatewayListenerTlsCertificate AWS CloudFormation Resource (AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsCertificate) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlscertificate.html +type VirtualGateway_VirtualGatewayListenerTlsCertificate struct { + + // ACM AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlscertificate.html#cfn-appmesh-virtualgateway-virtualgatewaylistenertlscertificate-acm + ACM *VirtualGateway_VirtualGatewayListenerTlsAcmCertificate `json:"ACM,omitempty"` + + // File AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlscertificate.html#cfn-appmesh-virtualgateway-virtualgatewaylistenertlscertificate-file + File *VirtualGateway_VirtualGatewayListenerTlsFileCertificate `json:"File,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualGateway_VirtualGatewayListenerTlsCertificate) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsCertificate" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaylistenertlsfilecertificate.go b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaylistenertlsfilecertificate.go new file mode 100644 index 0000000000..9161f94cc4 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaylistenertlsfilecertificate.go @@ -0,0 +1,40 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualGateway_VirtualGatewayListenerTlsFileCertificate AWS CloudFormation Resource (AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsFileCertificate) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlsfilecertificate.html +type VirtualGateway_VirtualGatewayListenerTlsFileCertificate struct { + + // CertificateChain AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlsfilecertificate.html#cfn-appmesh-virtualgateway-virtualgatewaylistenertlsfilecertificate-certificatechain + CertificateChain string `json:"CertificateChain,omitempty"` + + // PrivateKey AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlsfilecertificate.html#cfn-appmesh-virtualgateway-virtualgatewaylistenertlsfilecertificate-privatekey + PrivateKey string `json:"PrivateKey,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualGateway_VirtualGatewayListenerTlsFileCertificate) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsFileCertificate" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaylogging.go b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaylogging.go new file mode 100644 index 0000000000..fc0995df12 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaylogging.go @@ -0,0 +1,35 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualGateway_VirtualGatewayLogging AWS CloudFormation Resource (AWS::AppMesh::VirtualGateway.VirtualGatewayLogging) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylogging.html +type VirtualGateway_VirtualGatewayLogging struct { + + // AccessLog AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylogging.html#cfn-appmesh-virtualgateway-virtualgatewaylogging-accesslog + AccessLog *VirtualGateway_VirtualGatewayAccessLog `json:"AccessLog,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualGateway_VirtualGatewayLogging) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualGateway.VirtualGatewayLogging" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewayportmapping.go b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewayportmapping.go new file mode 100644 index 0000000000..f4405f76f8 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewayportmapping.go @@ -0,0 +1,40 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualGateway_VirtualGatewayPortMapping AWS CloudFormation Resource (AWS::AppMesh::VirtualGateway.VirtualGatewayPortMapping) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayportmapping.html +type VirtualGateway_VirtualGatewayPortMapping struct { + + // Port AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayportmapping.html#cfn-appmesh-virtualgateway-virtualgatewayportmapping-port + Port int `json:"Port"` + + // Protocol AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayportmapping.html#cfn-appmesh-virtualgateway-virtualgatewayportmapping-protocol + Protocol string `json:"Protocol,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualGateway_VirtualGatewayPortMapping) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualGateway.VirtualGatewayPortMapping" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewayspec.go b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewayspec.go new file mode 100644 index 0000000000..45bea2bc70 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewayspec.go @@ -0,0 +1,45 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualGateway_VirtualGatewaySpec AWS CloudFormation Resource (AWS::AppMesh::VirtualGateway.VirtualGatewaySpec) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayspec.html +type VirtualGateway_VirtualGatewaySpec struct { + + // BackendDefaults AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayspec.html#cfn-appmesh-virtualgateway-virtualgatewayspec-backenddefaults + BackendDefaults *VirtualGateway_VirtualGatewayBackendDefaults `json:"BackendDefaults,omitempty"` + + // Listeners AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayspec.html#cfn-appmesh-virtualgateway-virtualgatewayspec-listeners + Listeners []VirtualGateway_VirtualGatewayListener `json:"Listeners,omitempty"` + + // Logging AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayspec.html#cfn-appmesh-virtualgateway-virtualgatewayspec-logging + Logging *VirtualGateway_VirtualGatewayLogging `json:"Logging,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualGateway_VirtualGatewaySpec) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualGateway.VirtualGatewaySpec" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaytlsvalidationcontext.go b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaytlsvalidationcontext.go new file mode 100644 index 0000000000..10ad7afe0d --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaytlsvalidationcontext.go @@ -0,0 +1,35 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualGateway_VirtualGatewayTlsValidationContext AWS CloudFormation Resource (AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContext) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaytlsvalidationcontext.html +type VirtualGateway_VirtualGatewayTlsValidationContext struct { + + // Trust AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaytlsvalidationcontext.html#cfn-appmesh-virtualgateway-virtualgatewaytlsvalidationcontext-trust + Trust *VirtualGateway_VirtualGatewayTlsValidationContextTrust `json:"Trust,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualGateway_VirtualGatewayTlsValidationContext) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContext" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaytlsvalidationcontextacmtrust.go b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaytlsvalidationcontextacmtrust.go new file mode 100644 index 0000000000..7f48b0df88 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaytlsvalidationcontextacmtrust.go @@ -0,0 +1,35 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualGateway_VirtualGatewayTlsValidationContextAcmTrust AWS CloudFormation Resource (AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextAcmTrust) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaytlsvalidationcontextacmtrust.html +type VirtualGateway_VirtualGatewayTlsValidationContextAcmTrust struct { + + // CertificateAuthorityArns AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaytlsvalidationcontextacmtrust.html#cfn-appmesh-virtualgateway-virtualgatewaytlsvalidationcontextacmtrust-certificateauthorityarns + CertificateAuthorityArns []string `json:"CertificateAuthorityArns,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualGateway_VirtualGatewayTlsValidationContextAcmTrust) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextAcmTrust" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaytlsvalidationcontextfiletrust.go b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaytlsvalidationcontextfiletrust.go new file mode 100644 index 0000000000..4cffc42f0d --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaytlsvalidationcontextfiletrust.go @@ -0,0 +1,35 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualGateway_VirtualGatewayTlsValidationContextFileTrust AWS CloudFormation Resource (AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextFileTrust) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaytlsvalidationcontextfiletrust.html +type VirtualGateway_VirtualGatewayTlsValidationContextFileTrust struct { + + // CertificateChain AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaytlsvalidationcontextfiletrust.html#cfn-appmesh-virtualgateway-virtualgatewaytlsvalidationcontextfiletrust-certificatechain + CertificateChain string `json:"CertificateChain,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualGateway_VirtualGatewayTlsValidationContextFileTrust) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextFileTrust" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaytlsvalidationcontexttrust.go b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaytlsvalidationcontexttrust.go new file mode 100644 index 0000000000..eddc36674b --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaytlsvalidationcontexttrust.go @@ -0,0 +1,40 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualGateway_VirtualGatewayTlsValidationContextTrust AWS CloudFormation Resource (AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextTrust) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaytlsvalidationcontexttrust.html +type VirtualGateway_VirtualGatewayTlsValidationContextTrust struct { + + // ACM AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaytlsvalidationcontexttrust.html#cfn-appmesh-virtualgateway-virtualgatewaytlsvalidationcontexttrust-acm + ACM *VirtualGateway_VirtualGatewayTlsValidationContextAcmTrust `json:"ACM,omitempty"` + + // File AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaytlsvalidationcontexttrust.html#cfn-appmesh-virtualgateway-virtualgatewaytlsvalidationcontexttrust-file + File *VirtualGateway_VirtualGatewayTlsValidationContextFileTrust `json:"File,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualGateway_VirtualGatewayTlsValidationContextTrust) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextTrust" +} diff --git a/cloudformation/athena/aws-athena-datacatalog.go b/cloudformation/athena/aws-athena-datacatalog.go new file mode 100644 index 0000000000..d43f0e935e --- /dev/null +++ b/cloudformation/athena/aws-athena-datacatalog.go @@ -0,0 +1,126 @@ +package athena + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DataCatalog AWS CloudFormation Resource (AWS::Athena::DataCatalog) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-datacatalog.html +type DataCatalog struct { + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-datacatalog.html#cfn-athena-datacatalog-description + Description string `json:"Description,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-datacatalog.html#cfn-athena-datacatalog-name + Name string `json:"Name,omitempty"` + + // Parameters AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-datacatalog.html#cfn-athena-datacatalog-parameters + Parameters map[string]string `json:"Parameters,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-datacatalog.html#cfn-athena-datacatalog-tags + Tags *DataCatalog_Tags `json:"Tags,omitempty"` + + // Type AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-datacatalog.html#cfn-athena-datacatalog-type + Type string `json:"Type,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DataCatalog) AWSCloudFormationType() string { + return "AWS::Athena::DataCatalog" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r DataCatalog) MarshalJSON() ([]byte, error) { + type Properties DataCatalog + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *DataCatalog) UnmarshalJSON(b []byte) error { + type Properties DataCatalog + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = DataCatalog(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/athena/aws-athena-datacatalog_tags.go b/cloudformation/athena/aws-athena-datacatalog_tags.go new file mode 100644 index 0000000000..8eaaedcf45 --- /dev/null +++ b/cloudformation/athena/aws-athena-datacatalog_tags.go @@ -0,0 +1,36 @@ +package athena + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// DataCatalog_Tags AWS CloudFormation Resource (AWS::Athena::DataCatalog.Tags) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-datacatalog-tags.html +type DataCatalog_Tags struct { + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-datacatalog-tags.html#cfn-athena-datacatalog-tags-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DataCatalog_Tags) AWSCloudFormationType() string { + return "AWS::Athena::DataCatalog.Tags" +} diff --git a/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup.go b/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup.go index d65ec396ea..4f389adab7 100644 --- a/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup.go +++ b/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup.go @@ -92,6 +92,11 @@ type AutoScalingGroup struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-mixedinstancespolicy MixedInstancesPolicy *AutoScalingGroup_MixedInstancesPolicy `json:"MixedInstancesPolicy,omitempty"` + // NewInstancesProtectedFromScaleIn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-newinstancesprotectedfromscalein + NewInstancesProtectedFromScaleIn bool `json:"NewInstancesProtectedFromScaleIn,omitempty"` + // NotificationConfigurations AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-notificationconfigurations diff --git a/cloudformation/cloudfront/aws-cloudfront-distribution_cachebehavior.go b/cloudformation/cloudfront/aws-cloudfront-distribution_cachebehavior.go index 26e445769c..6072bdabb8 100644 --- a/cloudformation/cloudfront/aws-cloudfront-distribution_cachebehavior.go +++ b/cloudformation/cloudfront/aws-cloudfront-distribution_cachebehavior.go @@ -13,6 +13,11 @@ type Distribution_CacheBehavior struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-allowedmethods AllowedMethods []string `json:"AllowedMethods,omitempty"` + // CachePolicyId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-cachepolicyid + CachePolicyId string `json:"CachePolicyId,omitempty"` + // CachedMethods AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-cachedmethods @@ -34,7 +39,7 @@ type Distribution_CacheBehavior struct { FieldLevelEncryptionId string `json:"FieldLevelEncryptionId,omitempty"` // ForwardedValues AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-forwardedvalues ForwardedValues *Distribution_ForwardedValues `json:"ForwardedValues,omitempty"` @@ -53,6 +58,11 @@ type Distribution_CacheBehavior struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-minttl MinTTL float64 `json:"MinTTL,omitempty"` + // OriginRequestPolicyId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-originrequestpolicyid + OriginRequestPolicyId string `json:"OriginRequestPolicyId,omitempty"` + // PathPattern AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-pathpattern diff --git a/cloudformation/cloudfront/aws-cloudfront-distribution_defaultcachebehavior.go b/cloudformation/cloudfront/aws-cloudfront-distribution_defaultcachebehavior.go index 411eb7bab3..1b2f322e64 100644 --- a/cloudformation/cloudfront/aws-cloudfront-distribution_defaultcachebehavior.go +++ b/cloudformation/cloudfront/aws-cloudfront-distribution_defaultcachebehavior.go @@ -13,6 +13,11 @@ type Distribution_DefaultCacheBehavior struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-allowedmethods AllowedMethods []string `json:"AllowedMethods,omitempty"` + // CachePolicyId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-cachepolicyid + CachePolicyId string `json:"CachePolicyId,omitempty"` + // CachedMethods AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-cachedmethods @@ -34,7 +39,7 @@ type Distribution_DefaultCacheBehavior struct { FieldLevelEncryptionId string `json:"FieldLevelEncryptionId,omitempty"` // ForwardedValues AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-forwardedvalues ForwardedValues *Distribution_ForwardedValues `json:"ForwardedValues,omitempty"` @@ -53,6 +58,11 @@ type Distribution_DefaultCacheBehavior struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-minttl MinTTL float64 `json:"MinTTL,omitempty"` + // OriginRequestPolicyId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-originrequestpolicyid + OriginRequestPolicyId string `json:"OriginRequestPolicyId,omitempty"` + // SmoothStreaming AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-smoothstreaming diff --git a/cloudformation/codebuild/aws-codebuild-project.go b/cloudformation/codebuild/aws-codebuild-project.go index a0bc94a1a6..23d247d8f6 100644 --- a/cloudformation/codebuild/aws-codebuild-project.go +++ b/cloudformation/codebuild/aws-codebuild-project.go @@ -23,6 +23,11 @@ type Project struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-badgeenabled BadgeEnabled bool `json:"BadgeEnabled,omitempty"` + // BuildBatchConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-buildbatchconfig + BuildBatchConfig *Project_ProjectBuildBatchConfig `json:"BuildBatchConfig,omitempty"` + // Cache AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-cache diff --git a/cloudformation/codebuild/aws-codebuild-project_batchrestrictions.go b/cloudformation/codebuild/aws-codebuild-project_batchrestrictions.go new file mode 100644 index 0000000000..70fc4b2e2a --- /dev/null +++ b/cloudformation/codebuild/aws-codebuild-project_batchrestrictions.go @@ -0,0 +1,40 @@ +package codebuild + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Project_BatchRestrictions AWS CloudFormation Resource (AWS::CodeBuild::Project.BatchRestrictions) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-batchrestrictions.html +type Project_BatchRestrictions struct { + + // ComputeTypesAllowed AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-batchrestrictions.html#cfn-codebuild-project-batchrestrictions-computetypesallowed + ComputeTypesAllowed []string `json:"ComputeTypesAllowed,omitempty"` + + // MaximumBuildsAllowed AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-batchrestrictions.html#cfn-codebuild-project-batchrestrictions-maximumbuildsallowed + MaximumBuildsAllowed int `json:"MaximumBuildsAllowed,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Project_BatchRestrictions) AWSCloudFormationType() string { + return "AWS::CodeBuild::Project.BatchRestrictions" +} diff --git a/cloudformation/codebuild/aws-codebuild-project_buildstatusconfig.go b/cloudformation/codebuild/aws-codebuild-project_buildstatusconfig.go new file mode 100644 index 0000000000..cb9a6ede81 --- /dev/null +++ b/cloudformation/codebuild/aws-codebuild-project_buildstatusconfig.go @@ -0,0 +1,40 @@ +package codebuild + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Project_BuildStatusConfig AWS CloudFormation Resource (AWS::CodeBuild::Project.BuildStatusConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-buildstatusconfig.html +type Project_BuildStatusConfig struct { + + // Context AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-buildstatusconfig.html#cfn-codebuild-project-buildstatusconfig-context + Context string `json:"Context,omitempty"` + + // TargetUrl AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-buildstatusconfig.html#cfn-codebuild-project-buildstatusconfig-targeturl + TargetUrl string `json:"TargetUrl,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Project_BuildStatusConfig) AWSCloudFormationType() string { + return "AWS::CodeBuild::Project.BuildStatusConfig" +} diff --git a/cloudformation/codebuild/aws-codebuild-project_projectbuildbatchconfig.go b/cloudformation/codebuild/aws-codebuild-project_projectbuildbatchconfig.go new file mode 100644 index 0000000000..c6ef9ef2e3 --- /dev/null +++ b/cloudformation/codebuild/aws-codebuild-project_projectbuildbatchconfig.go @@ -0,0 +1,50 @@ +package codebuild + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Project_ProjectBuildBatchConfig AWS CloudFormation Resource (AWS::CodeBuild::Project.ProjectBuildBatchConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projectbuildbatchconfig.html +type Project_ProjectBuildBatchConfig struct { + + // CombineArtifacts AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projectbuildbatchconfig.html#cfn-codebuild-project-projectbuildbatchconfig-combineartifacts + CombineArtifacts bool `json:"CombineArtifacts,omitempty"` + + // Restrictions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projectbuildbatchconfig.html#cfn-codebuild-project-projectbuildbatchconfig-restrictions + Restrictions *Project_BatchRestrictions `json:"Restrictions,omitempty"` + + // ServiceRole AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projectbuildbatchconfig.html#cfn-codebuild-project-projectbuildbatchconfig-servicerole + ServiceRole string `json:"ServiceRole,omitempty"` + + // TimeoutInMins AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projectbuildbatchconfig.html#cfn-codebuild-project-projectbuildbatchconfig-timeoutinmins + TimeoutInMins int `json:"TimeoutInMins,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Project_ProjectBuildBatchConfig) AWSCloudFormationType() string { + return "AWS::CodeBuild::Project.ProjectBuildBatchConfig" +} diff --git a/cloudformation/codebuild/aws-codebuild-project_source.go b/cloudformation/codebuild/aws-codebuild-project_source.go index 1ffcc33859..4feea3757d 100644 --- a/cloudformation/codebuild/aws-codebuild-project_source.go +++ b/cloudformation/codebuild/aws-codebuild-project_source.go @@ -18,6 +18,11 @@ type Project_Source struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-source.html#cfn-codebuild-project-source-buildspec BuildSpec string `json:"BuildSpec,omitempty"` + // BuildStatusConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-source.html#cfn-codebuild-project-source-buildstatusconfig + BuildStatusConfig *Project_BuildStatusConfig `json:"BuildStatusConfig,omitempty"` + // GitCloneDepth AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-source.html#cfn-codebuild-project-source-gitclonedepth diff --git a/cloudformation/codecommit/aws-codecommit-repository_code.go b/cloudformation/codecommit/aws-codecommit-repository_code.go index 0a9089b037..cc2aeb6d51 100644 --- a/cloudformation/codecommit/aws-codecommit-repository_code.go +++ b/cloudformation/codecommit/aws-codecommit-repository_code.go @@ -8,6 +8,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-code.html type Repository_Code struct { + // BranchName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-code.html#cfn-codecommit-repository-code-branchname + BranchName string `json:"BranchName,omitempty"` + // S3 AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-code.html#cfn-codecommit-repository-code-s3 diff --git a/cloudformation/codeguruprofiler/aws-codeguruprofiler-profilinggroup.go b/cloudformation/codeguruprofiler/aws-codeguruprofiler-profilinggroup.go index a9607aebe0..f1d717e518 100644 --- a/cloudformation/codeguruprofiler/aws-codeguruprofiler-profilinggroup.go +++ b/cloudformation/codeguruprofiler/aws-codeguruprofiler-profilinggroup.go @@ -6,6 +6,7 @@ import ( "fmt" "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" ) // ProfilingGroup AWS CloudFormation Resource (AWS::CodeGuruProfiler::ProfilingGroup) @@ -17,11 +18,26 @@ type ProfilingGroup struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeguruprofiler-profilinggroup.html#cfn-codeguruprofiler-profilinggroup-agentpermissions AgentPermissions interface{} `json:"AgentPermissions,omitempty"` + // AnomalyDetectionNotificationConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeguruprofiler-profilinggroup.html#cfn-codeguruprofiler-profilinggroup-anomalydetectionnotificationconfiguration + AnomalyDetectionNotificationConfiguration []ProfilingGroup_Channel `json:"AnomalyDetectionNotificationConfiguration,omitempty"` + + // ComputePlatform AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeguruprofiler-profilinggroup.html#cfn-codeguruprofiler-profilinggroup-computeplatform + ComputePlatform string `json:"ComputePlatform,omitempty"` + // ProfilingGroupName AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeguruprofiler-profilinggroup.html#cfn-codeguruprofiler-profilinggroup-profilinggroupname ProfilingGroupName string `json:"ProfilingGroupName,omitempty"` + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeguruprofiler-profilinggroup.html#cfn-codeguruprofiler-profilinggroup-tags + Tags []tags.Tag `json:"Tags,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/codeguruprofiler/aws-codeguruprofiler-profilinggroup_channel.go b/cloudformation/codeguruprofiler/aws-codeguruprofiler-profilinggroup_channel.go new file mode 100644 index 0000000000..348156c619 --- /dev/null +++ b/cloudformation/codeguruprofiler/aws-codeguruprofiler-profilinggroup_channel.go @@ -0,0 +1,40 @@ +package codeguruprofiler + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ProfilingGroup_Channel AWS CloudFormation Resource (AWS::CodeGuruProfiler::ProfilingGroup.Channel) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codeguruprofiler-profilinggroup-channel.html +type ProfilingGroup_Channel struct { + + // channelId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codeguruprofiler-profilinggroup-channel.html#cfn-codeguruprofiler-profilinggroup-channel-channelid + channelId string `json:"channelId,omitempty"` + + // channelUri AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codeguruprofiler-profilinggroup-channel.html#cfn-codeguruprofiler-profilinggroup-channel-channeluri + channelUri string `json:"channelUri,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ProfilingGroup_Channel) AWSCloudFormationType() string { + return "AWS::CodeGuruProfiler::ProfilingGroup.Channel" +} diff --git a/cloudformation/codestarconnections/aws-codestarconnections-connection.go b/cloudformation/codestarconnections/aws-codestarconnections-connection.go index a174883343..2465f1d0c1 100644 --- a/cloudformation/codestarconnections/aws-codestarconnections-connection.go +++ b/cloudformation/codestarconnections/aws-codestarconnections-connection.go @@ -18,8 +18,13 @@ type Connection struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-connection.html#cfn-codestarconnections-connection-connectionname ConnectionName string `json:"ConnectionName,omitempty"` + // HostArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-connection.html#cfn-codestarconnections-connection-hostarn + HostArn string `json:"HostArn,omitempty"` + // ProviderType AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-connection.html#cfn-codestarconnections-connection-providertype ProviderType string `json:"ProviderType,omitempty"` diff --git a/cloudformation/ec2/aws-ec2-carriergateway.go b/cloudformation/ec2/aws-ec2-carriergateway.go new file mode 100644 index 0000000000..406be746ab --- /dev/null +++ b/cloudformation/ec2/aws-ec2-carriergateway.go @@ -0,0 +1,111 @@ +package ec2 + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// CarrierGateway AWS CloudFormation Resource (AWS::EC2::CarrierGateway) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-carriergateway.html +type CarrierGateway struct { + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-carriergateway.html#cfn-ec2-carriergateway-tags + Tags *CarrierGateway_Tags `json:"Tags,omitempty"` + + // VpcId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-carriergateway.html#cfn-ec2-carriergateway-vpcid + VpcId string `json:"VpcId,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *CarrierGateway) AWSCloudFormationType() string { + return "AWS::EC2::CarrierGateway" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r CarrierGateway) MarshalJSON() ([]byte, error) { + type Properties CarrierGateway + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *CarrierGateway) UnmarshalJSON(b []byte) error { + type Properties CarrierGateway + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = CarrierGateway(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/ec2/aws-ec2-carriergateway_tags.go b/cloudformation/ec2/aws-ec2-carriergateway_tags.go new file mode 100644 index 0000000000..4b57f8eb06 --- /dev/null +++ b/cloudformation/ec2/aws-ec2-carriergateway_tags.go @@ -0,0 +1,36 @@ +package ec2 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// CarrierGateway_Tags AWS CloudFormation Resource (AWS::EC2::CarrierGateway.Tags) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-carriergateway-tags.html +type CarrierGateway_Tags struct { + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-carriergateway-tags.html#cfn-ec2-carriergateway-tags-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *CarrierGateway_Tags) AWSCloudFormationType() string { + return "AWS::EC2::CarrierGateway.Tags" +} diff --git a/cloudformation/ec2/aws-ec2-flowlog.go b/cloudformation/ec2/aws-ec2-flowlog.go index 56c85763c4..32eb54fb75 100644 --- a/cloudformation/ec2/aws-ec2-flowlog.go +++ b/cloudformation/ec2/aws-ec2-flowlog.go @@ -6,6 +6,7 @@ import ( "fmt" "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" ) // FlowLog AWS CloudFormation Resource (AWS::EC2::FlowLog) @@ -27,11 +28,21 @@ type FlowLog struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html#cfn-ec2-flowlog-logdestinationtype LogDestinationType string `json:"LogDestinationType,omitempty"` + // LogFormat AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html#cfn-ec2-flowlog-logformat + LogFormat string `json:"LogFormat,omitempty"` + // LogGroupName AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html#cfn-ec2-flowlog-loggroupname LogGroupName string `json:"LogGroupName,omitempty"` + // MaxAggregationInterval AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html#cfn-ec2-flowlog-maxaggregationinterval + MaxAggregationInterval int `json:"MaxAggregationInterval,omitempty"` + // ResourceId AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html#cfn-ec2-flowlog-resourceid @@ -42,6 +53,11 @@ type FlowLog struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html#cfn-ec2-flowlog-resourcetype ResourceType string `json:"ResourceType,omitempty"` + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html#cfn-ec2-flowlog-tags + Tags []tags.Tag `json:"Tags,omitempty"` + // TrafficType AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html#cfn-ec2-flowlog-traffictype diff --git a/cloudformation/ec2/aws-ec2-prefixlist.go b/cloudformation/ec2/aws-ec2-prefixlist.go new file mode 100644 index 0000000000..e922985c06 --- /dev/null +++ b/cloudformation/ec2/aws-ec2-prefixlist.go @@ -0,0 +1,127 @@ +package ec2 + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// PrefixList AWS CloudFormation Resource (AWS::EC2::PrefixList) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-prefixlist.html +type PrefixList struct { + + // AddressFamily AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-prefixlist.html#cfn-ec2-prefixlist-addressfamily + AddressFamily string `json:"AddressFamily,omitempty"` + + // Entries AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-prefixlist.html#cfn-ec2-prefixlist-entries + Entries []PrefixList_Entry `json:"Entries,omitempty"` + + // MaxEntries AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-prefixlist.html#cfn-ec2-prefixlist-maxentries + MaxEntries int `json:"MaxEntries"` + + // PrefixListName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-prefixlist.html#cfn-ec2-prefixlist-prefixlistname + PrefixListName string `json:"PrefixListName,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-prefixlist.html#cfn-ec2-prefixlist-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *PrefixList) AWSCloudFormationType() string { + return "AWS::EC2::PrefixList" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r PrefixList) MarshalJSON() ([]byte, error) { + type Properties PrefixList + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *PrefixList) UnmarshalJSON(b []byte) error { + type Properties PrefixList + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = PrefixList(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/ec2/aws-ec2-prefixlist_entry.go b/cloudformation/ec2/aws-ec2-prefixlist_entry.go new file mode 100644 index 0000000000..6acfa96ff0 --- /dev/null +++ b/cloudformation/ec2/aws-ec2-prefixlist_entry.go @@ -0,0 +1,40 @@ +package ec2 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// PrefixList_Entry AWS CloudFormation Resource (AWS::EC2::PrefixList.Entry) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-prefixlist-entry.html +type PrefixList_Entry struct { + + // Cidr AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-prefixlist-entry.html#cfn-ec2-prefixlist-entry-cidr + Cidr string `json:"Cidr,omitempty"` + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-prefixlist-entry.html#cfn-ec2-prefixlist-entry-description + Description string `json:"Description,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *PrefixList_Entry) AWSCloudFormationType() string { + return "AWS::EC2::PrefixList.Entry" +} diff --git a/cloudformation/ec2/aws-ec2-transitgateway.go b/cloudformation/ec2/aws-ec2-transitgateway.go index 65f8333632..b35072ef2a 100644 --- a/cloudformation/ec2/aws-ec2-transitgateway.go +++ b/cloudformation/ec2/aws-ec2-transitgateway.go @@ -43,6 +43,11 @@ type TransitGateway struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html#cfn-ec2-transitgateway-dnssupport DnsSupport string `json:"DnsSupport,omitempty"` + // MulticastSupport AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html#cfn-ec2-transitgateway-multicastsupport + MulticastSupport string `json:"MulticastSupport,omitempty"` + // Tags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html#cfn-ec2-transitgateway-tags diff --git a/cloudformation/ecr/aws-ecr-repository.go b/cloudformation/ecr/aws-ecr-repository.go index ff4375c029..e1f555ad0a 100644 --- a/cloudformation/ecr/aws-ecr-repository.go +++ b/cloudformation/ecr/aws-ecr-repository.go @@ -13,10 +13,20 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html type Repository struct { + // ImageScanningConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html#cfn-ecr-repository-imagescanningconfiguration + ImageScanningConfiguration interface{} `json:"ImageScanningConfiguration,omitempty"` + + // ImageTagMutability AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html#cfn-ecr-repository-imagetagmutability + ImageTagMutability string `json:"ImageTagMutability,omitempty"` + // LifecyclePolicy AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html#cfn-ecr-repository-lifecyclepolicy - LifecyclePolicy *Repository_LifecyclePolicy `json:"LifecyclePolicy,omitempty"` + LifecyclePolicy interface{} `json:"LifecyclePolicy,omitempty"` // RepositoryName AWS CloudFormation Property // Required: false diff --git a/cloudformation/ecs/aws-ecs-taskdefinition.go b/cloudformation/ecs/aws-ecs-taskdefinition.go index a11f48efc3..5eec87979c 100644 --- a/cloudformation/ecs/aws-ecs-taskdefinition.go +++ b/cloudformation/ecs/aws-ecs-taskdefinition.go @@ -78,6 +78,11 @@ type TaskDefinition struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-tags Tags []tags.Tag `json:"Tags,omitempty"` + // TaskDefinitionStatus AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-taskdefinitionstatus + TaskDefinitionStatus string `json:"TaskDefinitionStatus,omitempty"` + // TaskRoleArn AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-taskrolearn diff --git a/cloudformation/ecs/aws-ecs-taskdefinition_authorizationconfig.go b/cloudformation/ecs/aws-ecs-taskdefinition_authorizationconfig.go new file mode 100644 index 0000000000..98ec3313df --- /dev/null +++ b/cloudformation/ecs/aws-ecs-taskdefinition_authorizationconfig.go @@ -0,0 +1,40 @@ +package ecs + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// TaskDefinition_AuthorizationConfig AWS CloudFormation Resource (AWS::ECS::TaskDefinition.AuthorizationConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-authorizationconfig.html +type TaskDefinition_AuthorizationConfig struct { + + // AccessPointId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-authorizationconfig.html#cfn-ecs-taskdefinition-authorizationconfig-accesspointid + AccessPointId string `json:"AccessPointId,omitempty"` + + // IAM AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-authorizationconfig.html#cfn-ecs-taskdefinition-authorizationconfig-iam + IAM string `json:"IAM,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *TaskDefinition_AuthorizationConfig) AWSCloudFormationType() string { + return "AWS::ECS::TaskDefinition.AuthorizationConfig" +} diff --git a/cloudformation/ecs/aws-ecs-taskdefinition_containerdefinition.go b/cloudformation/ecs/aws-ecs-taskdefinition_containerdefinition.go index e8f3cae410..d1de0635d5 100644 --- a/cloudformation/ecs/aws-ecs-taskdefinition_containerdefinition.go +++ b/cloudformation/ecs/aws-ecs-taskdefinition_containerdefinition.go @@ -58,6 +58,11 @@ type TaskDefinition_ContainerDefinition struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-environment Environment []TaskDefinition_KeyValuePair `json:"Environment,omitempty"` + // EnvironmentFiles AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-environmentfiles + EnvironmentFiles []TaskDefinition_EnvironmentFile `json:"EnvironmentFiles,omitempty"` + // Essential AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-essential diff --git a/cloudformation/ecs/aws-ecs-taskdefinition_containerdependency.go b/cloudformation/ecs/aws-ecs-taskdefinition_containerdependency.go index 1520990d8e..610876956a 100644 --- a/cloudformation/ecs/aws-ecs-taskdefinition_containerdependency.go +++ b/cloudformation/ecs/aws-ecs-taskdefinition_containerdependency.go @@ -9,12 +9,12 @@ import ( type TaskDefinition_ContainerDependency struct { // Condition AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdependency.html#cfn-ecs-taskdefinition-containerdependency-condition Condition string `json:"Condition,omitempty"` // ContainerName AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdependency.html#cfn-ecs-taskdefinition-containerdependency-containername ContainerName string `json:"ContainerName,omitempty"` diff --git a/cloudformation/ecs/aws-ecs-taskdefinition_device.go b/cloudformation/ecs/aws-ecs-taskdefinition_device.go index 19cd5e778f..7c3dd2dc25 100644 --- a/cloudformation/ecs/aws-ecs-taskdefinition_device.go +++ b/cloudformation/ecs/aws-ecs-taskdefinition_device.go @@ -14,7 +14,7 @@ type TaskDefinition_Device struct { ContainerPath string `json:"ContainerPath,omitempty"` // HostPath AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-device.html#cfn-ecs-taskdefinition-device-hostpath HostPath string `json:"HostPath,omitempty"` diff --git a/cloudformation/ecs/aws-ecs-taskdefinition_efsvolumeconfiguration.go b/cloudformation/ecs/aws-ecs-taskdefinition_efsvolumeconfiguration.go new file mode 100644 index 0000000000..c68632b379 --- /dev/null +++ b/cloudformation/ecs/aws-ecs-taskdefinition_efsvolumeconfiguration.go @@ -0,0 +1,55 @@ +package ecs + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// TaskDefinition_EFSVolumeConfiguration AWS CloudFormation Resource (AWS::ECS::TaskDefinition.EFSVolumeConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-efsvolumeconfiguration.html +type TaskDefinition_EFSVolumeConfiguration struct { + + // AuthorizationConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-efsvolumeconfiguration.html#cfn-ecs-taskdefinition-efsvolumeconfiguration-authorizationconfig + AuthorizationConfig interface{} `json:"AuthorizationConfig,omitempty"` + + // FilesystemId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-efsvolumeconfiguration.html#cfn-ecs-taskdefinition-efsvolumeconfiguration-filesystemid + FilesystemId string `json:"FilesystemId,omitempty"` + + // RootDirectory AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-efsvolumeconfiguration.html#cfn-ecs-taskdefinition-efsvolumeconfiguration-rootdirectory + RootDirectory string `json:"RootDirectory,omitempty"` + + // TransitEncryption AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-efsvolumeconfiguration.html#cfn-ecs-taskdefinition-efsvolumeconfiguration-transitencryption + TransitEncryption string `json:"TransitEncryption,omitempty"` + + // TransitEncryptionPort AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-efsvolumeconfiguration.html#cfn-ecs-taskdefinition-efsvolumeconfiguration-transitencryptionport + TransitEncryptionPort int `json:"TransitEncryptionPort,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *TaskDefinition_EFSVolumeConfiguration) AWSCloudFormationType() string { + return "AWS::ECS::TaskDefinition.EFSVolumeConfiguration" +} diff --git a/cloudformation/ecs/aws-ecs-taskdefinition_environmentfile.go b/cloudformation/ecs/aws-ecs-taskdefinition_environmentfile.go new file mode 100644 index 0000000000..0d9b0a2fbb --- /dev/null +++ b/cloudformation/ecs/aws-ecs-taskdefinition_environmentfile.go @@ -0,0 +1,40 @@ +package ecs + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// TaskDefinition_EnvironmentFile AWS CloudFormation Resource (AWS::ECS::TaskDefinition.EnvironmentFile) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-environmentfile.html +type TaskDefinition_EnvironmentFile struct { + + // Type AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-environmentfile.html#cfn-ecs-taskdefinition-environmentfile-type + Type string `json:"Type,omitempty"` + + // Value AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-environmentfile.html#cfn-ecs-taskdefinition-environmentfile-value + Value string `json:"Value,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *TaskDefinition_EnvironmentFile) AWSCloudFormationType() string { + return "AWS::ECS::TaskDefinition.EnvironmentFile" +} diff --git a/cloudformation/ecs/aws-ecs-taskdefinition_firelensconfiguration.go b/cloudformation/ecs/aws-ecs-taskdefinition_firelensconfiguration.go index c431713662..80c54075f8 100644 --- a/cloudformation/ecs/aws-ecs-taskdefinition_firelensconfiguration.go +++ b/cloudformation/ecs/aws-ecs-taskdefinition_firelensconfiguration.go @@ -11,10 +11,10 @@ type TaskDefinition_FirelensConfiguration struct { // Options AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-firelensconfiguration.html#cfn-ecs-taskdefinition-firelensconfiguration-options - Options map[string]string `json:"Options,omitempty"` + Options *TaskDefinition_Options `json:"Options,omitempty"` // Type AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-firelensconfiguration.html#cfn-ecs-taskdefinition-firelensconfiguration-type Type string `json:"Type,omitempty"` diff --git a/cloudformation/ecs/aws-ecs-taskdefinition_healthcheck.go b/cloudformation/ecs/aws-ecs-taskdefinition_healthcheck.go index 6ff8a1db4f..348d268ece 100644 --- a/cloudformation/ecs/aws-ecs-taskdefinition_healthcheck.go +++ b/cloudformation/ecs/aws-ecs-taskdefinition_healthcheck.go @@ -9,7 +9,7 @@ import ( type TaskDefinition_HealthCheck struct { // Command AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-healthcheck.html#cfn-ecs-taskdefinition-healthcheck-command Command []string `json:"Command,omitempty"` diff --git a/cloudformation/ecs/aws-ecs-taskdefinition_hostentry.go b/cloudformation/ecs/aws-ecs-taskdefinition_hostentry.go index f1a0e3edcd..1cf07eb2bb 100644 --- a/cloudformation/ecs/aws-ecs-taskdefinition_hostentry.go +++ b/cloudformation/ecs/aws-ecs-taskdefinition_hostentry.go @@ -9,12 +9,12 @@ import ( type TaskDefinition_HostEntry struct { // Hostname AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-hostentry.html#cfn-ecs-taskdefinition-containerdefinition-hostentry-hostname Hostname string `json:"Hostname,omitempty"` // IpAddress AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-hostentry.html#cfn-ecs-taskdefinition-containerdefinition-hostentry-ipaddress IpAddress string `json:"IpAddress,omitempty"` diff --git a/cloudformation/ecs/aws-ecs-taskdefinition_logconfiguration.go b/cloudformation/ecs/aws-ecs-taskdefinition_logconfiguration.go index 73a85b4a3b..1232c5fba2 100644 --- a/cloudformation/ecs/aws-ecs-taskdefinition_logconfiguration.go +++ b/cloudformation/ecs/aws-ecs-taskdefinition_logconfiguration.go @@ -16,7 +16,7 @@ type TaskDefinition_LogConfiguration struct { // Options AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-logconfiguration.html#cfn-ecs-taskdefinition-containerdefinition-logconfiguration-options - Options map[string]string `json:"Options,omitempty"` + Options *TaskDefinition_Options `json:"Options,omitempty"` // SecretOptions AWS CloudFormation Property // Required: false diff --git a/cloudformation/ecs/aws-ecs-taskdefinition_options.go b/cloudformation/ecs/aws-ecs-taskdefinition_options.go new file mode 100644 index 0000000000..3a99c4aaa6 --- /dev/null +++ b/cloudformation/ecs/aws-ecs-taskdefinition_options.go @@ -0,0 +1,30 @@ +package ecs + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// TaskDefinition_Options AWS CloudFormation Resource (AWS::ECS::TaskDefinition.Options) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-options.html +type TaskDefinition_Options struct { + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *TaskDefinition_Options) AWSCloudFormationType() string { + return "AWS::ECS::TaskDefinition.Options" +} diff --git a/cloudformation/ecs/aws-ecs-taskdefinition_systemcontrol.go b/cloudformation/ecs/aws-ecs-taskdefinition_systemcontrol.go index cd8ed72d8f..45ff91e1aa 100644 --- a/cloudformation/ecs/aws-ecs-taskdefinition_systemcontrol.go +++ b/cloudformation/ecs/aws-ecs-taskdefinition_systemcontrol.go @@ -9,12 +9,12 @@ import ( type TaskDefinition_SystemControl struct { // Namespace AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-systemcontrol.html#cfn-ecs-taskdefinition-systemcontrol-namespace Namespace string `json:"Namespace,omitempty"` // Value AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-systemcontrol.html#cfn-ecs-taskdefinition-systemcontrol-value Value string `json:"Value,omitempty"` diff --git a/cloudformation/ecs/aws-ecs-taskdefinition_volume.go b/cloudformation/ecs/aws-ecs-taskdefinition_volume.go index 9b4cad863d..c234e606bf 100644 --- a/cloudformation/ecs/aws-ecs-taskdefinition_volume.go +++ b/cloudformation/ecs/aws-ecs-taskdefinition_volume.go @@ -13,6 +13,11 @@ type TaskDefinition_Volume struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-volumes.html#cfn-ecs-taskdefinition-volume-dockervolumeconfiguration DockerVolumeConfiguration *TaskDefinition_DockerVolumeConfiguration `json:"DockerVolumeConfiguration,omitempty"` + // EFSVolumeConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-volumes.html#cfn-ecs-taskdefinition-volume-efsvolumeconfiguration + EFSVolumeConfiguration *TaskDefinition_EFSVolumeConfiguration `json:"EFSVolumeConfiguration,omitempty"` + // Host AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-volumes.html#cfn-ecs-taskdefinition-volumes-host diff --git a/cloudformation/efs/aws-efs-filesystem.go b/cloudformation/efs/aws-efs-filesystem.go index 76271495dc..191159a566 100644 --- a/cloudformation/efs/aws-efs-filesystem.go +++ b/cloudformation/efs/aws-efs-filesystem.go @@ -12,6 +12,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html type FileSystem struct { + // BackupPolicy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-efs-filesystem-backuppolicy + BackupPolicy *FileSystem_BackupPolicy `json:"BackupPolicy,omitempty"` + // Encrypted AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-efs-filesystem-encrypted diff --git a/cloudformation/efs/aws-efs-filesystem_backuppolicy.go b/cloudformation/efs/aws-efs-filesystem_backuppolicy.go new file mode 100644 index 0000000000..88e50bc8a4 --- /dev/null +++ b/cloudformation/efs/aws-efs-filesystem_backuppolicy.go @@ -0,0 +1,35 @@ +package efs + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// FileSystem_BackupPolicy AWS CloudFormation Resource (AWS::EFS::FileSystem.BackupPolicy) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-backuppolicy.html +type FileSystem_BackupPolicy struct { + + // Status AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-backuppolicy.html#cfn-efs-filesystem-backuppolicy-status + Status string `json:"Status,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *FileSystem_BackupPolicy) AWSCloudFormationType() string { + return "AWS::EFS::FileSystem.BackupPolicy" +} diff --git a/cloudformation/eks/aws-eks-nodegroup.go b/cloudformation/eks/aws-eks-nodegroup.go index 661e421efb..85828eef69 100644 --- a/cloudformation/eks/aws-eks-nodegroup.go +++ b/cloudformation/eks/aws-eks-nodegroup.go @@ -42,6 +42,11 @@ type Nodegroup struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-labels Labels interface{} `json:"Labels,omitempty"` + // LaunchTemplate AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-launchtemplate + LaunchTemplate *Nodegroup_LaunchTemplateSpecification `json:"LaunchTemplate,omitempty"` + // NodeRole AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-noderole diff --git a/cloudformation/eks/aws-eks-nodegroup_launchtemplatespecification.go b/cloudformation/eks/aws-eks-nodegroup_launchtemplatespecification.go new file mode 100644 index 0000000000..67004a96cf --- /dev/null +++ b/cloudformation/eks/aws-eks-nodegroup_launchtemplatespecification.go @@ -0,0 +1,45 @@ +package eks + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Nodegroup_LaunchTemplateSpecification AWS CloudFormation Resource (AWS::EKS::Nodegroup.LaunchTemplateSpecification) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-nodegroup-launchtemplatespecification.html +type Nodegroup_LaunchTemplateSpecification struct { + + // Id AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-nodegroup-launchtemplatespecification.html#cfn-eks-nodegroup-launchtemplatespecification-id + Id string `json:"Id,omitempty"` + + // Name AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-nodegroup-launchtemplatespecification.html#cfn-eks-nodegroup-launchtemplatespecification-name + Name string `json:"Name,omitempty"` + + // Version AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-nodegroup-launchtemplatespecification.html#cfn-eks-nodegroup-launchtemplatespecification-version + Version string `json:"Version,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Nodegroup_LaunchTemplateSpecification) AWSCloudFormationType() string { + return "AWS::EKS::Nodegroup.LaunchTemplateSpecification" +} diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener.go index c72c263569..f43bf028e3 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener.go @@ -12,6 +12,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listener.html type Listener struct { + // AlpnPolicy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listener.html#cfn-elasticloadbalancingv2-listener-alpnpolicy + AlpnPolicy []string `json:"AlpnPolicy,omitempty"` + // Certificates AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listener.html#cfn-elasticloadbalancingv2-listener-certificates diff --git a/cloudformation/elasticsearch/aws-elasticsearch-domain.go b/cloudformation/elasticsearch/aws-elasticsearch-domain.go index 15ef6d2478..bda79592b8 100644 --- a/cloudformation/elasticsearch/aws-elasticsearch-domain.go +++ b/cloudformation/elasticsearch/aws-elasticsearch-domain.go @@ -23,11 +23,21 @@ type Domain struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html#cfn-elasticsearch-domain-advancedoptions AdvancedOptions map[string]string `json:"AdvancedOptions,omitempty"` + // AdvancedSecurityOptions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html#cfn-elasticsearch-domain-advancedsecurityoptions + AdvancedSecurityOptions *Domain_AdvancedSecurityOptionsInput `json:"AdvancedSecurityOptions,omitempty"` + // CognitoOptions AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html#cfn-elasticsearch-domain-cognitooptions CognitoOptions *Domain_CognitoOptions `json:"CognitoOptions,omitempty"` + // DomainEndpointOptions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html#cfn-elasticsearch-domain-domainendpointoptions + DomainEndpointOptions *Domain_DomainEndpointOptions `json:"DomainEndpointOptions,omitempty"` + // DomainName AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html#cfn-elasticsearch-domain-domainname diff --git a/cloudformation/elasticsearch/aws-elasticsearch-domain_advancedsecurityoptionsinput.go b/cloudformation/elasticsearch/aws-elasticsearch-domain_advancedsecurityoptionsinput.go new file mode 100644 index 0000000000..a4000d35f0 --- /dev/null +++ b/cloudformation/elasticsearch/aws-elasticsearch-domain_advancedsecurityoptionsinput.go @@ -0,0 +1,45 @@ +package elasticsearch + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Domain_AdvancedSecurityOptionsInput AWS CloudFormation Resource (AWS::Elasticsearch::Domain.AdvancedSecurityOptionsInput) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-advancedsecurityoptionsinput.html +type Domain_AdvancedSecurityOptionsInput struct { + + // Enabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-advancedsecurityoptionsinput.html#cfn-elasticsearch-domain-advancedsecurityoptionsinput-enabled + Enabled bool `json:"Enabled,omitempty"` + + // InternalUserDatabaseEnabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-advancedsecurityoptionsinput.html#cfn-elasticsearch-domain-advancedsecurityoptionsinput-internaluserdatabaseenabled + InternalUserDatabaseEnabled bool `json:"InternalUserDatabaseEnabled,omitempty"` + + // MasterUserOptions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-advancedsecurityoptionsinput.html#cfn-elasticsearch-domain-advancedsecurityoptionsinput-masteruseroptions + MasterUserOptions *Domain_MasterUserOptions `json:"MasterUserOptions,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Domain_AdvancedSecurityOptionsInput) AWSCloudFormationType() string { + return "AWS::Elasticsearch::Domain.AdvancedSecurityOptionsInput" +} diff --git a/cloudformation/elasticsearch/aws-elasticsearch-domain_domainendpointoptions.go b/cloudformation/elasticsearch/aws-elasticsearch-domain_domainendpointoptions.go new file mode 100644 index 0000000000..4461fcc052 --- /dev/null +++ b/cloudformation/elasticsearch/aws-elasticsearch-domain_domainendpointoptions.go @@ -0,0 +1,40 @@ +package elasticsearch + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Domain_DomainEndpointOptions AWS CloudFormation Resource (AWS::Elasticsearch::Domain.DomainEndpointOptions) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-domainendpointoptions.html +type Domain_DomainEndpointOptions struct { + + // EnforceHTTPS AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-domainendpointoptions.html#cfn-elasticsearch-domain-domainendpointoptions-enforcehttps + EnforceHTTPS bool `json:"EnforceHTTPS,omitempty"` + + // TLSSecurityPolicy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-domainendpointoptions.html#cfn-elasticsearch-domain-domainendpointoptions-tlssecuritypolicy + TLSSecurityPolicy string `json:"TLSSecurityPolicy,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Domain_DomainEndpointOptions) AWSCloudFormationType() string { + return "AWS::Elasticsearch::Domain.DomainEndpointOptions" +} diff --git a/cloudformation/elasticsearch/aws-elasticsearch-domain_masteruseroptions.go b/cloudformation/elasticsearch/aws-elasticsearch-domain_masteruseroptions.go new file mode 100644 index 0000000000..56a491f9dd --- /dev/null +++ b/cloudformation/elasticsearch/aws-elasticsearch-domain_masteruseroptions.go @@ -0,0 +1,45 @@ +package elasticsearch + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Domain_MasterUserOptions AWS CloudFormation Resource (AWS::Elasticsearch::Domain.MasterUserOptions) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-masteruseroptions.html +type Domain_MasterUserOptions struct { + + // MasterUserARN AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-masteruseroptions.html#cfn-elasticsearch-domain-masteruseroptions-masteruserarn + MasterUserARN string `json:"MasterUserARN,omitempty"` + + // MasterUserName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-masteruseroptions.html#cfn-elasticsearch-domain-masteruseroptions-masterusername + MasterUserName string `json:"MasterUserName,omitempty"` + + // MasterUserPassword AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-masteruseroptions.html#cfn-elasticsearch-domain-masteruseroptions-masteruserpassword + MasterUserPassword string `json:"MasterUserPassword,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Domain_MasterUserOptions) AWSCloudFormationType() string { + return "AWS::Elasticsearch::Domain.MasterUserOptions" +} diff --git a/cloudformation/fsx/aws-fsx-filesystem_lustreconfiguration.go b/cloudformation/fsx/aws-fsx-filesystem_lustreconfiguration.go index f9744bc7e6..9caacd3a6f 100644 --- a/cloudformation/fsx/aws-fsx-filesystem_lustreconfiguration.go +++ b/cloudformation/fsx/aws-fsx-filesystem_lustreconfiguration.go @@ -8,11 +8,36 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-lustreconfiguration.html type FileSystem_LustreConfiguration struct { + // AutoImportPolicy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-lustreconfiguration.html#cfn-fsx-filesystem-lustreconfiguration-autoimportpolicy + AutoImportPolicy string `json:"AutoImportPolicy,omitempty"` + + // AutomaticBackupRetentionDays AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-lustreconfiguration.html#cfn-fsx-filesystem-lustreconfiguration-automaticbackupretentiondays + AutomaticBackupRetentionDays int `json:"AutomaticBackupRetentionDays,omitempty"` + + // CopyTagsToBackups AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-lustreconfiguration.html#cfn-fsx-filesystem-lustreconfiguration-copytagstobackups + CopyTagsToBackups bool `json:"CopyTagsToBackups,omitempty"` + + // DailyAutomaticBackupStartTime AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-lustreconfiguration.html#cfn-fsx-filesystem-lustreconfiguration-dailyautomaticbackupstarttime + DailyAutomaticBackupStartTime string `json:"DailyAutomaticBackupStartTime,omitempty"` + // DeploymentType AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-lustreconfiguration.html#cfn-fsx-filesystem-lustreconfiguration-deploymenttype DeploymentType string `json:"DeploymentType,omitempty"` + // DriveCacheType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-lustreconfiguration.html#cfn-fsx-filesystem-lustreconfiguration-drivecachetype + DriveCacheType string `json:"DriveCacheType,omitempty"` + // ExportPath AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-lustreconfiguration.html#cfn-fsx-filesystem-lustreconfiguration-exportpath diff --git a/cloudformation/imagebuilder/aws-imagebuilder-component.go b/cloudformation/imagebuilder/aws-imagebuilder-component.go index 5e3fedd528..24e7cd11ad 100644 --- a/cloudformation/imagebuilder/aws-imagebuilder-component.go +++ b/cloudformation/imagebuilder/aws-imagebuilder-component.go @@ -42,6 +42,11 @@ type Component struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html#cfn-imagebuilder-component-platform Platform string `json:"Platform,omitempty"` + // SupportedOsVersions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html#cfn-imagebuilder-component-supportedosversions + SupportedOsVersions []string `json:"SupportedOsVersions,omitempty"` + // Tags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html#cfn-imagebuilder-component-tags diff --git a/cloudformation/imagebuilder/aws-imagebuilder-distributionconfiguration_distribution.go b/cloudformation/imagebuilder/aws-imagebuilder-distributionconfiguration_distribution.go index 225d4114af..8176153e02 100644 --- a/cloudformation/imagebuilder/aws-imagebuilder-distributionconfiguration_distribution.go +++ b/cloudformation/imagebuilder/aws-imagebuilder-distributionconfiguration_distribution.go @@ -19,7 +19,7 @@ type DistributionConfiguration_Distribution struct { LicenseConfigurationArns []string `json:"LicenseConfigurationArns,omitempty"` // Region AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-distribution.html#cfn-imagebuilder-distributionconfiguration-distribution-region Region string `json:"Region,omitempty"` diff --git a/cloudformation/imagebuilder/aws-imagebuilder-image.go b/cloudformation/imagebuilder/aws-imagebuilder-image.go index 2b434c0a65..9495331d47 100644 --- a/cloudformation/imagebuilder/aws-imagebuilder-image.go +++ b/cloudformation/imagebuilder/aws-imagebuilder-image.go @@ -17,6 +17,11 @@ type Image struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html#cfn-imagebuilder-image-distributionconfigurationarn DistributionConfigurationArn string `json:"DistributionConfigurationArn,omitempty"` + // EnhancedImageMetadataEnabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html#cfn-imagebuilder-image-enhancedimagemetadataenabled + EnhancedImageMetadataEnabled bool `json:"EnhancedImageMetadataEnabled,omitempty"` + // ImageRecipeArn AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html#cfn-imagebuilder-image-imagerecipearn diff --git a/cloudformation/imagebuilder/aws-imagebuilder-imagepipeline.go b/cloudformation/imagebuilder/aws-imagebuilder-imagepipeline.go index d7df31756f..76aeba04a8 100644 --- a/cloudformation/imagebuilder/aws-imagebuilder-imagepipeline.go +++ b/cloudformation/imagebuilder/aws-imagebuilder-imagepipeline.go @@ -22,6 +22,11 @@ type ImagePipeline struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-distributionconfigurationarn DistributionConfigurationArn string `json:"DistributionConfigurationArn,omitempty"` + // EnhancedImageMetadataEnabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-enhancedimagemetadataenabled + EnhancedImageMetadataEnabled bool `json:"EnhancedImageMetadataEnabled,omitempty"` + // ImageRecipeArn AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-imagerecipearn diff --git a/cloudformation/imagebuilder/aws-imagebuilder-imagerecipe.go b/cloudformation/imagebuilder/aws-imagebuilder-imagerecipe.go index 68aa26b94e..db16e96e9a 100644 --- a/cloudformation/imagebuilder/aws-imagebuilder-imagerecipe.go +++ b/cloudformation/imagebuilder/aws-imagebuilder-imagerecipe.go @@ -47,6 +47,11 @@ type ImageRecipe struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html#cfn-imagebuilder-imagerecipe-version Version string `json:"Version,omitempty"` + // WorkingDirectory AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html#cfn-imagebuilder-imagerecipe-workingdirectory + WorkingDirectory string `json:"WorkingDirectory,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/imagebuilder/aws-imagebuilder-infrastructureconfiguration.go b/cloudformation/imagebuilder/aws-imagebuilder-infrastructureconfiguration.go index b919db958e..7874ef19a9 100644 --- a/cloudformation/imagebuilder/aws-imagebuilder-infrastructureconfiguration.go +++ b/cloudformation/imagebuilder/aws-imagebuilder-infrastructureconfiguration.go @@ -42,6 +42,11 @@ type InfrastructureConfiguration struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-name Name string `json:"Name,omitempty"` + // ResourceTags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-resourcetags + ResourceTags map[string]string `json:"ResourceTags,omitempty"` + // SecurityGroupIds AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-securitygroupids diff --git a/cloudformation/iot/aws-iot-certificate.go b/cloudformation/iot/aws-iot-certificate.go index 134fdefe29..62881b057c 100644 --- a/cloudformation/iot/aws-iot-certificate.go +++ b/cloudformation/iot/aws-iot-certificate.go @@ -12,8 +12,23 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-certificate.html type Certificate struct { + // CACertificatePem AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-certificate.html#cfn-iot-certificate-cacertificatepem + CACertificatePem string `json:"CACertificatePem,omitempty"` + + // CertificateMode AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-certificate.html#cfn-iot-certificate-certificatemode + CertificateMode string `json:"CertificateMode,omitempty"` + + // CertificatePem AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-certificate.html#cfn-iot-certificate-certificatepem + CertificatePem string `json:"CertificatePem,omitempty"` + // CertificateSigningRequest AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-certificate.html#cfn-iot-certificate-certificatesigningrequest CertificateSigningRequest string `json:"CertificateSigningRequest,omitempty"` diff --git a/cloudformation/iot/aws-iot-provisioningtemplate.go b/cloudformation/iot/aws-iot-provisioningtemplate.go index 1f5e0a7f3c..3ff375ab3a 100644 --- a/cloudformation/iot/aws-iot-provisioningtemplate.go +++ b/cloudformation/iot/aws-iot-provisioningtemplate.go @@ -35,7 +35,7 @@ type ProvisioningTemplate struct { // Tags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-provisioningtemplate.html#cfn-iot-provisioningtemplate-tags - Tags []interface{} `json:"Tags,omitempty"` + Tags *ProvisioningTemplate_Tags `json:"Tags,omitempty"` // TemplateBody AWS CloudFormation Property // Required: true diff --git a/cloudformation/iot/aws-iot-provisioningtemplate_tags.go b/cloudformation/iot/aws-iot-provisioningtemplate_tags.go new file mode 100644 index 0000000000..48e554e2dc --- /dev/null +++ b/cloudformation/iot/aws-iot-provisioningtemplate_tags.go @@ -0,0 +1,35 @@ +package iot + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ProvisioningTemplate_Tags AWS CloudFormation Resource (AWS::IoT::ProvisioningTemplate.Tags) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-provisioningtemplate-tags.html +type ProvisioningTemplate_Tags struct { + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-provisioningtemplate-tags.html#cfn-iot-provisioningtemplate-tags-tags + Tags []interface{} `json:"Tags,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ProvisioningTemplate_Tags) AWSCloudFormationType() string { + return "AWS::IoT::ProvisioningTemplate.Tags" +} diff --git a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream.go b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream.go index e868627cc1..c7327201c8 100644 --- a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream.go +++ b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream.go @@ -32,6 +32,11 @@ type DeliveryStream struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html#cfn-kinesisfirehose-deliverystream-extendeds3destinationconfiguration ExtendedS3DestinationConfiguration *DeliveryStream_ExtendedS3DestinationConfiguration `json:"ExtendedS3DestinationConfiguration,omitempty"` + // HttpEndpointDestinationConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html#cfn-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration + HttpEndpointDestinationConfiguration *DeliveryStream_HttpEndpointDestinationConfiguration `json:"HttpEndpointDestinationConfiguration,omitempty"` + // KinesisStreamSourceConfiguration AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html#cfn-kinesisfirehose-deliverystream-kinesisstreamsourceconfiguration diff --git a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_httpendpointcommonattribute.go b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_httpendpointcommonattribute.go new file mode 100644 index 0000000000..4d9c757a61 --- /dev/null +++ b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_httpendpointcommonattribute.go @@ -0,0 +1,40 @@ +package kinesisfirehose + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DeliveryStream_HttpEndpointCommonAttribute AWS CloudFormation Resource (AWS::KinesisFirehose::DeliveryStream.HttpEndpointCommonAttribute) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointcommonattribute.html +type DeliveryStream_HttpEndpointCommonAttribute struct { + + // AttributeName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointcommonattribute.html#cfn-kinesisfirehose-deliverystream-httpendpointcommonattribute-attributename + AttributeName string `json:"AttributeName,omitempty"` + + // AttributeValue AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointcommonattribute.html#cfn-kinesisfirehose-deliverystream-httpendpointcommonattribute-attributevalue + AttributeValue string `json:"AttributeValue,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DeliveryStream_HttpEndpointCommonAttribute) AWSCloudFormationType() string { + return "AWS::KinesisFirehose::DeliveryStream.HttpEndpointCommonAttribute" +} diff --git a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_httpendpointconfiguration.go b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_httpendpointconfiguration.go new file mode 100644 index 0000000000..26ad62d338 --- /dev/null +++ b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_httpendpointconfiguration.go @@ -0,0 +1,45 @@ +package kinesisfirehose + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DeliveryStream_HttpEndpointConfiguration AWS CloudFormation Resource (AWS::KinesisFirehose::DeliveryStream.HttpEndpointConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointconfiguration.html +type DeliveryStream_HttpEndpointConfiguration struct { + + // AccessKey AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointconfiguration-accesskey + AccessKey string `json:"AccessKey,omitempty"` + + // Name AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointconfiguration-name + Name string `json:"Name,omitempty"` + + // Url AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointconfiguration-url + Url string `json:"Url,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DeliveryStream_HttpEndpointConfiguration) AWSCloudFormationType() string { + return "AWS::KinesisFirehose::DeliveryStream.HttpEndpointConfiguration" +} diff --git a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_httpendpointdestinationconfiguration.go b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_httpendpointdestinationconfiguration.go new file mode 100644 index 0000000000..298d127e4b --- /dev/null +++ b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_httpendpointdestinationconfiguration.go @@ -0,0 +1,75 @@ +package kinesisfirehose + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DeliveryStream_HttpEndpointDestinationConfiguration AWS CloudFormation Resource (AWS::KinesisFirehose::DeliveryStream.HttpEndpointDestinationConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration.html +type DeliveryStream_HttpEndpointDestinationConfiguration struct { + + // BufferingHints AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration-bufferinghints + BufferingHints *DeliveryStream_BufferingHints `json:"BufferingHints,omitempty"` + + // CloudWatchLoggingOptions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration-cloudwatchloggingoptions + CloudWatchLoggingOptions *DeliveryStream_CloudWatchLoggingOptions `json:"CloudWatchLoggingOptions,omitempty"` + + // EndpointConfiguration AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration-endpointconfiguration + EndpointConfiguration *DeliveryStream_HttpEndpointConfiguration `json:"EndpointConfiguration,omitempty"` + + // ProcessingConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration-processingconfiguration + ProcessingConfiguration *DeliveryStream_ProcessingConfiguration `json:"ProcessingConfiguration,omitempty"` + + // RequestConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration-requestconfiguration + RequestConfiguration *DeliveryStream_HttpEndpointRequestConfiguration `json:"RequestConfiguration,omitempty"` + + // RetryOptions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration-retryoptions + RetryOptions *DeliveryStream_RetryOptions `json:"RetryOptions,omitempty"` + + // RoleARN AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration-rolearn + RoleARN string `json:"RoleARN,omitempty"` + + // S3BackupMode AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration-s3backupmode + S3BackupMode string `json:"S3BackupMode,omitempty"` + + // S3Configuration AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration-s3configuration + S3Configuration *DeliveryStream_S3DestinationConfiguration `json:"S3Configuration,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DeliveryStream_HttpEndpointDestinationConfiguration) AWSCloudFormationType() string { + return "AWS::KinesisFirehose::DeliveryStream.HttpEndpointDestinationConfiguration" +} diff --git a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_httpendpointrequestconfiguration.go b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_httpendpointrequestconfiguration.go new file mode 100644 index 0000000000..69a39daea0 --- /dev/null +++ b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_httpendpointrequestconfiguration.go @@ -0,0 +1,40 @@ +package kinesisfirehose + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DeliveryStream_HttpEndpointRequestConfiguration AWS CloudFormation Resource (AWS::KinesisFirehose::DeliveryStream.HttpEndpointRequestConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointrequestconfiguration.html +type DeliveryStream_HttpEndpointRequestConfiguration struct { + + // CommonAttributes AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointrequestconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointrequestconfiguration-commonattributes + CommonAttributes []DeliveryStream_HttpEndpointCommonAttribute `json:"CommonAttributes,omitempty"` + + // ContentEncoding AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointrequestconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointrequestconfiguration-contentencoding + ContentEncoding string `json:"ContentEncoding,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DeliveryStream_HttpEndpointRequestConfiguration) AWSCloudFormationType() string { + return "AWS::KinesisFirehose::DeliveryStream.HttpEndpointRequestConfiguration" +} diff --git a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_retryoptions.go b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_retryoptions.go new file mode 100644 index 0000000000..f8c0862410 --- /dev/null +++ b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_retryoptions.go @@ -0,0 +1,35 @@ +package kinesisfirehose + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DeliveryStream_RetryOptions AWS CloudFormation Resource (AWS::KinesisFirehose::DeliveryStream.RetryOptions) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-retryoptions.html +type DeliveryStream_RetryOptions struct { + + // DurationInSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-retryoptions.html#cfn-kinesisfirehose-deliverystream-retryoptions-durationinseconds + DurationInSeconds int `json:"DurationInSeconds,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DeliveryStream_RetryOptions) AWSCloudFormationType() string { + return "AWS::KinesisFirehose::DeliveryStream.RetryOptions" +} diff --git a/cloudformation/lambda/aws-lambda-eventsourcemapping.go b/cloudformation/lambda/aws-lambda-eventsourcemapping.go index 3ba1b61bcf..8a716fb965 100644 --- a/cloudformation/lambda/aws-lambda-eventsourcemapping.go +++ b/cloudformation/lambda/aws-lambda-eventsourcemapping.go @@ -67,6 +67,11 @@ type EventSourceMapping struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-startingposition StartingPosition string `json:"StartingPosition,omitempty"` + // Topics AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-topics + Topics []string `json:"Topics,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/lambda/aws-lambda-eventsourcemapping_destinationconfig.go b/cloudformation/lambda/aws-lambda-eventsourcemapping_destinationconfig.go index ecf25531a3..bb74695deb 100644 --- a/cloudformation/lambda/aws-lambda-eventsourcemapping_destinationconfig.go +++ b/cloudformation/lambda/aws-lambda-eventsourcemapping_destinationconfig.go @@ -9,7 +9,7 @@ import ( type EventSourceMapping_DestinationConfig struct { // OnFailure AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-destinationconfig.html#cfn-lambda-eventsourcemapping-destinationconfig-onfailure OnFailure *EventSourceMapping_OnFailure `json:"OnFailure,omitempty"` diff --git a/cloudformation/lambda/aws-lambda-eventsourcemapping_onfailure.go b/cloudformation/lambda/aws-lambda-eventsourcemapping_onfailure.go index 582bd8555b..1dfdb21763 100644 --- a/cloudformation/lambda/aws-lambda-eventsourcemapping_onfailure.go +++ b/cloudformation/lambda/aws-lambda-eventsourcemapping_onfailure.go @@ -9,7 +9,7 @@ import ( type EventSourceMapping_OnFailure struct { // Destination AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-onfailure.html#cfn-lambda-eventsourcemapping-onfailure-destination Destination string `json:"Destination,omitempty"` diff --git a/cloudformation/lambda/aws-lambda-function.go b/cloudformation/lambda/aws-lambda-function.go index 9cd5e74d9c..4dd5bec4f4 100644 --- a/cloudformation/lambda/aws-lambda-function.go +++ b/cloudformation/lambda/aws-lambda-function.go @@ -33,6 +33,11 @@ type Function struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-environment Environment *Function_Environment `json:"Environment,omitempty"` + // FileSystemConfigs AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-filesystemconfigs + FileSystemConfigs []Function_FileSystemConfig `json:"FileSystemConfigs,omitempty"` + // FunctionName AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-functionname diff --git a/cloudformation/lambda/aws-lambda-function_filesystemconfig.go b/cloudformation/lambda/aws-lambda-function_filesystemconfig.go new file mode 100644 index 0000000000..ac1b8866f8 --- /dev/null +++ b/cloudformation/lambda/aws-lambda-function_filesystemconfig.go @@ -0,0 +1,40 @@ +package lambda + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Function_FileSystemConfig AWS CloudFormation Resource (AWS::Lambda::Function.FileSystemConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-filesystemconfig.html +type Function_FileSystemConfig struct { + + // Arn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-filesystemconfig.html#cfn-lambda-function-filesystemconfig-arn + Arn string `json:"Arn,omitempty"` + + // LocalMountPath AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-filesystemconfig.html#cfn-lambda-function-filesystemconfig-localmountpath + LocalMountPath string `json:"LocalMountPath,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Function_FileSystemConfig) AWSCloudFormationType() string { + return "AWS::Lambda::Function.FileSystemConfig" +} diff --git a/cloudformation/qldb/aws-qldb-stream.go b/cloudformation/qldb/aws-qldb-stream.go new file mode 100644 index 0000000000..2e97c34fc7 --- /dev/null +++ b/cloudformation/qldb/aws-qldb-stream.go @@ -0,0 +1,137 @@ +package qldb + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// Stream AWS CloudFormation Resource (AWS::QLDB::Stream) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-stream.html +type Stream struct { + + // ExclusiveEndTime AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-stream.html#cfn-qldb-stream-exclusiveendtime + ExclusiveEndTime string `json:"ExclusiveEndTime,omitempty"` + + // InclusiveStartTime AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-stream.html#cfn-qldb-stream-inclusivestarttime + InclusiveStartTime string `json:"InclusiveStartTime,omitempty"` + + // KinesisConfiguration AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-stream.html#cfn-qldb-stream-kinesisconfiguration + KinesisConfiguration *Stream_KinesisConfiguration `json:"KinesisConfiguration,omitempty"` + + // LedgerName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-stream.html#cfn-qldb-stream-ledgername + LedgerName string `json:"LedgerName,omitempty"` + + // RoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-stream.html#cfn-qldb-stream-rolearn + RoleArn string `json:"RoleArn,omitempty"` + + // StreamName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-stream.html#cfn-qldb-stream-streamname + StreamName string `json:"StreamName,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-stream.html#cfn-qldb-stream-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Stream) AWSCloudFormationType() string { + return "AWS::QLDB::Stream" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r Stream) MarshalJSON() ([]byte, error) { + type Properties Stream + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *Stream) UnmarshalJSON(b []byte) error { + type Properties Stream + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = Stream(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/qldb/aws-qldb-stream_kinesisconfiguration.go b/cloudformation/qldb/aws-qldb-stream_kinesisconfiguration.go new file mode 100644 index 0000000000..b91dd6e44a --- /dev/null +++ b/cloudformation/qldb/aws-qldb-stream_kinesisconfiguration.go @@ -0,0 +1,40 @@ +package qldb + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Stream_KinesisConfiguration AWS CloudFormation Resource (AWS::QLDB::Stream.KinesisConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qldb-stream-kinesisconfiguration.html +type Stream_KinesisConfiguration struct { + + // AggregationEnabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qldb-stream-kinesisconfiguration.html#cfn-qldb-stream-kinesisconfiguration-aggregationenabled + AggregationEnabled bool `json:"AggregationEnabled,omitempty"` + + // StreamArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qldb-stream-kinesisconfiguration.html#cfn-qldb-stream-kinesisconfiguration-streamarn + StreamArn string `json:"StreamArn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Stream_KinesisConfiguration) AWSCloudFormationType() string { + return "AWS::QLDB::Stream.KinesisConfiguration" +} diff --git a/cloudformation/rds/aws-rds-dbproxytargetgroup.go b/cloudformation/rds/aws-rds-dbproxytargetgroup.go index 4d91774bc7..efb91b485f 100644 --- a/cloudformation/rds/aws-rds-dbproxytargetgroup.go +++ b/cloudformation/rds/aws-rds-dbproxytargetgroup.go @@ -32,6 +32,11 @@ type DBProxyTargetGroup struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxytargetgroup.html#cfn-rds-dbproxytargetgroup-dbproxyname DBProxyName string `json:"DBProxyName,omitempty"` + // TargetGroupName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxytargetgroup.html#cfn-rds-dbproxytargetgroup-targetgroupname + TargetGroupName string `json:"TargetGroupName,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/sagemaker/aws-sagemaker-endpointconfig.go b/cloudformation/sagemaker/aws-sagemaker-endpointconfig.go index 2b3606c5a9..616449185d 100644 --- a/cloudformation/sagemaker/aws-sagemaker-endpointconfig.go +++ b/cloudformation/sagemaker/aws-sagemaker-endpointconfig.go @@ -13,6 +13,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpointconfig.html type EndpointConfig struct { + // DataCaptureConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpointconfig.html#cfn-sagemaker-endpointconfig-datacaptureconfig + DataCaptureConfig *EndpointConfig_DataCaptureConfig `json:"DataCaptureConfig,omitempty"` + // EndpointConfigName AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpointconfig.html#cfn-sagemaker-endpointconfig-endpointconfigname diff --git a/cloudformation/sagemaker/aws-sagemaker-endpointconfig_capturecontenttypeheader.go b/cloudformation/sagemaker/aws-sagemaker-endpointconfig_capturecontenttypeheader.go new file mode 100644 index 0000000000..6bedca3ddf --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-endpointconfig_capturecontenttypeheader.go @@ -0,0 +1,40 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// EndpointConfig_CaptureContentTypeHeader AWS CloudFormation Resource (AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-datacaptureconfig-capturecontenttypeheader.html +type EndpointConfig_CaptureContentTypeHeader struct { + + // CsvContentTypes AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-datacaptureconfig-capturecontenttypeheader.html#cfn-sagemaker-endpointconfig-datacaptureconfig-capturecontenttypeheader-csvcontenttypes + CsvContentTypes []string `json:"CsvContentTypes,omitempty"` + + // JsonContentTypes AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-datacaptureconfig-capturecontenttypeheader.html#cfn-sagemaker-endpointconfig-datacaptureconfig-capturecontenttypeheader-jsoncontenttypes + JsonContentTypes []string `json:"JsonContentTypes,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *EndpointConfig_CaptureContentTypeHeader) AWSCloudFormationType() string { + return "AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-endpointconfig_captureoption.go b/cloudformation/sagemaker/aws-sagemaker-endpointconfig_captureoption.go new file mode 100644 index 0000000000..500b18a8a1 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-endpointconfig_captureoption.go @@ -0,0 +1,35 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// EndpointConfig_CaptureOption AWS CloudFormation Resource (AWS::SageMaker::EndpointConfig.CaptureOption) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-captureoption.html +type EndpointConfig_CaptureOption struct { + + // CaptureMode AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-captureoption.html#cfn-sagemaker-endpointconfig-captureoption-capturemode + CaptureMode string `json:"CaptureMode,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *EndpointConfig_CaptureOption) AWSCloudFormationType() string { + return "AWS::SageMaker::EndpointConfig.CaptureOption" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-endpointconfig_datacaptureconfig.go b/cloudformation/sagemaker/aws-sagemaker-endpointconfig_datacaptureconfig.go new file mode 100644 index 0000000000..b9ecfa3b59 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-endpointconfig_datacaptureconfig.go @@ -0,0 +1,60 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// EndpointConfig_DataCaptureConfig AWS CloudFormation Resource (AWS::SageMaker::EndpointConfig.DataCaptureConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-datacaptureconfig.html +type EndpointConfig_DataCaptureConfig struct { + + // CaptureContentTypeHeader AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-datacaptureconfig.html#cfn-sagemaker-endpointconfig-datacaptureconfig-capturecontenttypeheader + CaptureContentTypeHeader *EndpointConfig_CaptureContentTypeHeader `json:"CaptureContentTypeHeader,omitempty"` + + // CaptureOptions AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-datacaptureconfig.html#cfn-sagemaker-endpointconfig-datacaptureconfig-captureoptions + CaptureOptions []EndpointConfig_CaptureOption `json:"CaptureOptions,omitempty"` + + // DestinationS3Uri AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-datacaptureconfig.html#cfn-sagemaker-endpointconfig-datacaptureconfig-destinations3uri + DestinationS3Uri string `json:"DestinationS3Uri,omitempty"` + + // EnableCapture AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-datacaptureconfig.html#cfn-sagemaker-endpointconfig-datacaptureconfig-enablecapture + EnableCapture bool `json:"EnableCapture,omitempty"` + + // InitialSamplingPercentage AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-datacaptureconfig.html#cfn-sagemaker-endpointconfig-datacaptureconfig-initialsamplingpercentage + InitialSamplingPercentage int `json:"InitialSamplingPercentage"` + + // KmsKeyId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-datacaptureconfig.html#cfn-sagemaker-endpointconfig-datacaptureconfig-kmskeyid + KmsKeyId string `json:"KmsKeyId,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *EndpointConfig_DataCaptureConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::EndpointConfig.DataCaptureConfig" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-model_containerdefinition.go b/cloudformation/sagemaker/aws-sagemaker-model_containerdefinition.go index 43b3aeff01..48d3925333 100644 --- a/cloudformation/sagemaker/aws-sagemaker-model_containerdefinition.go +++ b/cloudformation/sagemaker/aws-sagemaker-model_containerdefinition.go @@ -19,7 +19,7 @@ type Model_ContainerDefinition struct { Environment interface{} `json:"Environment,omitempty"` // Image AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-containerdefinition.html#cfn-sagemaker-model-containerdefinition-image Image string `json:"Image,omitempty"` @@ -33,6 +33,11 @@ type Model_ContainerDefinition struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-containerdefinition.html#cfn-sagemaker-model-containerdefinition-modeldataurl ModelDataUrl string `json:"ModelDataUrl,omitempty"` + // ModelPackageName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-containerdefinition.html#cfn-sagemaker-model-containerdefinition-modelpackagename + ModelPackageName string `json:"ModelPackageName,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/sagemaker/aws-sagemaker-monitoringschedule.go b/cloudformation/sagemaker/aws-sagemaker-monitoringschedule.go new file mode 100644 index 0000000000..0190997cca --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-monitoringschedule.go @@ -0,0 +1,152 @@ +package sagemaker + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// MonitoringSchedule AWS CloudFormation Resource (AWS::SageMaker::MonitoringSchedule) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-monitoringschedule.html +type MonitoringSchedule struct { + + // CreationTime AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-monitoringschedule.html#cfn-sagemaker-monitoringschedule-creationtime + CreationTime string `json:"CreationTime,omitempty"` + + // EndpointName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-monitoringschedule.html#cfn-sagemaker-monitoringschedule-endpointname + EndpointName string `json:"EndpointName,omitempty"` + + // FailureReason AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-monitoringschedule.html#cfn-sagemaker-monitoringschedule-failurereason + FailureReason string `json:"FailureReason,omitempty"` + + // LastModifiedTime AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-monitoringschedule.html#cfn-sagemaker-monitoringschedule-lastmodifiedtime + LastModifiedTime string `json:"LastModifiedTime,omitempty"` + + // LastMonitoringExecutionSummary AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-monitoringschedule.html#cfn-sagemaker-monitoringschedule-lastmonitoringexecutionsummary + LastMonitoringExecutionSummary *MonitoringSchedule_MonitoringExecutionSummary `json:"LastMonitoringExecutionSummary,omitempty"` + + // MonitoringScheduleArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-monitoringschedule.html#cfn-sagemaker-monitoringschedule-monitoringschedulearn + MonitoringScheduleArn string `json:"MonitoringScheduleArn,omitempty"` + + // MonitoringScheduleConfig AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-monitoringschedule.html#cfn-sagemaker-monitoringschedule-monitoringscheduleconfig + MonitoringScheduleConfig *MonitoringSchedule_MonitoringScheduleConfig `json:"MonitoringScheduleConfig,omitempty"` + + // MonitoringScheduleName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-monitoringschedule.html#cfn-sagemaker-monitoringschedule-monitoringschedulename + MonitoringScheduleName string `json:"MonitoringScheduleName,omitempty"` + + // MonitoringScheduleStatus AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-monitoringschedule.html#cfn-sagemaker-monitoringschedule-monitoringschedulestatus + MonitoringScheduleStatus string `json:"MonitoringScheduleStatus,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-monitoringschedule.html#cfn-sagemaker-monitoringschedule-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *MonitoringSchedule) AWSCloudFormationType() string { + return "AWS::SageMaker::MonitoringSchedule" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r MonitoringSchedule) MarshalJSON() ([]byte, error) { + type Properties MonitoringSchedule + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *MonitoringSchedule) UnmarshalJSON(b []byte) error { + type Properties MonitoringSchedule + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = MonitoringSchedule(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_baselineconfig.go b/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_baselineconfig.go new file mode 100644 index 0000000000..ef9f8161a4 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_baselineconfig.go @@ -0,0 +1,40 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// MonitoringSchedule_BaselineConfig AWS CloudFormation Resource (AWS::SageMaker::MonitoringSchedule.BaselineConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-baselineconfig.html +type MonitoringSchedule_BaselineConfig struct { + + // ConstraintsResource AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-baselineconfig.html#cfn-sagemaker-monitoringschedule-baselineconfig-constraintsresource + ConstraintsResource *MonitoringSchedule_ConstraintsResource `json:"ConstraintsResource,omitempty"` + + // StatisticsResource AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-baselineconfig.html#cfn-sagemaker-monitoringschedule-baselineconfig-statisticsresource + StatisticsResource *MonitoringSchedule_StatisticsResource `json:"StatisticsResource,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *MonitoringSchedule_BaselineConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::MonitoringSchedule.BaselineConfig" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_clusterconfig.go b/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_clusterconfig.go new file mode 100644 index 0000000000..5529e1ef08 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_clusterconfig.go @@ -0,0 +1,50 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// MonitoringSchedule_ClusterConfig AWS CloudFormation Resource (AWS::SageMaker::MonitoringSchedule.ClusterConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-clusterconfig.html +type MonitoringSchedule_ClusterConfig struct { + + // InstanceCount AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-clusterconfig.html#cfn-sagemaker-monitoringschedule-clusterconfig-instancecount + InstanceCount int `json:"InstanceCount"` + + // InstanceType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-clusterconfig.html#cfn-sagemaker-monitoringschedule-clusterconfig-instancetype + InstanceType string `json:"InstanceType,omitempty"` + + // VolumeKmsKeyId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-clusterconfig.html#cfn-sagemaker-monitoringschedule-clusterconfig-volumekmskeyid + VolumeKmsKeyId string `json:"VolumeKmsKeyId,omitempty"` + + // VolumeSizeInGB AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-clusterconfig.html#cfn-sagemaker-monitoringschedule-clusterconfig-volumesizeingb + VolumeSizeInGB int `json:"VolumeSizeInGB"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *MonitoringSchedule_ClusterConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::MonitoringSchedule.ClusterConfig" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_constraintsresource.go b/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_constraintsresource.go new file mode 100644 index 0000000000..2e3b8108be --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_constraintsresource.go @@ -0,0 +1,35 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// MonitoringSchedule_ConstraintsResource AWS CloudFormation Resource (AWS::SageMaker::MonitoringSchedule.ConstraintsResource) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-constraintsresource.html +type MonitoringSchedule_ConstraintsResource struct { + + // S3Uri AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-constraintsresource.html#cfn-sagemaker-monitoringschedule-constraintsresource-s3uri + S3Uri string `json:"S3Uri,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *MonitoringSchedule_ConstraintsResource) AWSCloudFormationType() string { + return "AWS::SageMaker::MonitoringSchedule.ConstraintsResource" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_endpointinput.go b/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_endpointinput.go new file mode 100644 index 0000000000..516cec249b --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_endpointinput.go @@ -0,0 +1,50 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// MonitoringSchedule_EndpointInput AWS CloudFormation Resource (AWS::SageMaker::MonitoringSchedule.EndpointInput) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-endpointinput.html +type MonitoringSchedule_EndpointInput struct { + + // EndpointName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-endpointinput.html#cfn-sagemaker-monitoringschedule-endpointinput-endpointname + EndpointName string `json:"EndpointName,omitempty"` + + // LocalPath AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-endpointinput.html#cfn-sagemaker-monitoringschedule-endpointinput-localpath + LocalPath string `json:"LocalPath,omitempty"` + + // S3DataDistributionType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-endpointinput.html#cfn-sagemaker-monitoringschedule-endpointinput-s3datadistributiontype + S3DataDistributionType string `json:"S3DataDistributionType,omitempty"` + + // S3InputMode AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-endpointinput.html#cfn-sagemaker-monitoringschedule-endpointinput-s3inputmode + S3InputMode string `json:"S3InputMode,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *MonitoringSchedule_EndpointInput) AWSCloudFormationType() string { + return "AWS::SageMaker::MonitoringSchedule.EndpointInput" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_environment.go b/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_environment.go new file mode 100644 index 0000000000..4a6b02d178 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_environment.go @@ -0,0 +1,30 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// MonitoringSchedule_Environment AWS CloudFormation Resource (AWS::SageMaker::MonitoringSchedule.Environment) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-environment.html +type MonitoringSchedule_Environment struct { + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *MonitoringSchedule_Environment) AWSCloudFormationType() string { + return "AWS::SageMaker::MonitoringSchedule.Environment" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_monitoringappspecification.go b/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_monitoringappspecification.go new file mode 100644 index 0000000000..f0e984e273 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_monitoringappspecification.go @@ -0,0 +1,55 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// MonitoringSchedule_MonitoringAppSpecification AWS CloudFormation Resource (AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringappspecification.html +type MonitoringSchedule_MonitoringAppSpecification struct { + + // ContainerArguments AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringappspecification.html#cfn-sagemaker-monitoringschedule-monitoringappspecification-containerarguments + ContainerArguments []string `json:"ContainerArguments,omitempty"` + + // ContainerEntrypoint AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringappspecification.html#cfn-sagemaker-monitoringschedule-monitoringappspecification-containerentrypoint + ContainerEntrypoint []string `json:"ContainerEntrypoint,omitempty"` + + // ImageUri AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringappspecification.html#cfn-sagemaker-monitoringschedule-monitoringappspecification-imageuri + ImageUri string `json:"ImageUri,omitempty"` + + // PostAnalyticsProcessorSourceUri AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringappspecification.html#cfn-sagemaker-monitoringschedule-monitoringappspecification-postanalyticsprocessorsourceuri + PostAnalyticsProcessorSourceUri string `json:"PostAnalyticsProcessorSourceUri,omitempty"` + + // RecordPreprocessorSourceUri AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringappspecification.html#cfn-sagemaker-monitoringschedule-monitoringappspecification-recordpreprocessorsourceuri + RecordPreprocessorSourceUri string `json:"RecordPreprocessorSourceUri,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *MonitoringSchedule_MonitoringAppSpecification) AWSCloudFormationType() string { + return "AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_monitoringexecutionsummary.go b/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_monitoringexecutionsummary.go new file mode 100644 index 0000000000..e0530e6196 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_monitoringexecutionsummary.go @@ -0,0 +1,70 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// MonitoringSchedule_MonitoringExecutionSummary AWS CloudFormation Resource (AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringexecutionsummary.html +type MonitoringSchedule_MonitoringExecutionSummary struct { + + // CreationTime AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringexecutionsummary.html#cfn-sagemaker-monitoringschedule-monitoringexecutionsummary-creationtime + CreationTime string `json:"CreationTime,omitempty"` + + // EndpointName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringexecutionsummary.html#cfn-sagemaker-monitoringschedule-monitoringexecutionsummary-endpointname + EndpointName string `json:"EndpointName,omitempty"` + + // FailureReason AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringexecutionsummary.html#cfn-sagemaker-monitoringschedule-monitoringexecutionsummary-failurereason + FailureReason string `json:"FailureReason,omitempty"` + + // LastModifiedTime AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringexecutionsummary.html#cfn-sagemaker-monitoringschedule-monitoringexecutionsummary-lastmodifiedtime + LastModifiedTime string `json:"LastModifiedTime,omitempty"` + + // MonitoringExecutionStatus AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringexecutionsummary.html#cfn-sagemaker-monitoringschedule-monitoringexecutionsummary-monitoringexecutionstatus + MonitoringExecutionStatus string `json:"MonitoringExecutionStatus,omitempty"` + + // MonitoringScheduleName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringexecutionsummary.html#cfn-sagemaker-monitoringschedule-monitoringexecutionsummary-monitoringschedulename + MonitoringScheduleName string `json:"MonitoringScheduleName,omitempty"` + + // ProcessingJobArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringexecutionsummary.html#cfn-sagemaker-monitoringschedule-monitoringexecutionsummary-processingjobarn + ProcessingJobArn string `json:"ProcessingJobArn,omitempty"` + + // ScheduledTime AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringexecutionsummary.html#cfn-sagemaker-monitoringschedule-monitoringexecutionsummary-scheduledtime + ScheduledTime string `json:"ScheduledTime,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *MonitoringSchedule_MonitoringExecutionSummary) AWSCloudFormationType() string { + return "AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_monitoringinput.go b/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_monitoringinput.go new file mode 100644 index 0000000000..a024cef526 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_monitoringinput.go @@ -0,0 +1,35 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// MonitoringSchedule_MonitoringInput AWS CloudFormation Resource (AWS::SageMaker::MonitoringSchedule.MonitoringInput) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringinput.html +type MonitoringSchedule_MonitoringInput struct { + + // EndpointInput AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringinput.html#cfn-sagemaker-monitoringschedule-monitoringinput-endpointinput + EndpointInput *MonitoringSchedule_EndpointInput `json:"EndpointInput,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *MonitoringSchedule_MonitoringInput) AWSCloudFormationType() string { + return "AWS::SageMaker::MonitoringSchedule.MonitoringInput" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_monitoringinputs.go b/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_monitoringinputs.go new file mode 100644 index 0000000000..2c0eb755ad --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_monitoringinputs.go @@ -0,0 +1,35 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// MonitoringSchedule_MonitoringInputs AWS CloudFormation Resource (AWS::SageMaker::MonitoringSchedule.MonitoringInputs) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringinputs.html +type MonitoringSchedule_MonitoringInputs struct { + + // MonitoringInputs AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringinputs.html#cfn-sagemaker-monitoringschedule-monitoringinputs-monitoringinputs + MonitoringInputs []MonitoringSchedule_MonitoringInput `json:"MonitoringInputs,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *MonitoringSchedule_MonitoringInputs) AWSCloudFormationType() string { + return "AWS::SageMaker::MonitoringSchedule.MonitoringInputs" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_monitoringjobdefinition.go b/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_monitoringjobdefinition.go new file mode 100644 index 0000000000..1abfe16dfd --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_monitoringjobdefinition.go @@ -0,0 +1,75 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// MonitoringSchedule_MonitoringJobDefinition AWS CloudFormation Resource (AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringjobdefinition.html +type MonitoringSchedule_MonitoringJobDefinition struct { + + // BaselineConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringjobdefinition.html#cfn-sagemaker-monitoringschedule-monitoringjobdefinition-baselineconfig + BaselineConfig *MonitoringSchedule_BaselineConfig `json:"BaselineConfig,omitempty"` + + // Environment AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringjobdefinition.html#cfn-sagemaker-monitoringschedule-monitoringjobdefinition-environment + Environment *MonitoringSchedule_Environment `json:"Environment,omitempty"` + + // MonitoringAppSpecification AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringjobdefinition.html#cfn-sagemaker-monitoringschedule-monitoringjobdefinition-monitoringappspecification + MonitoringAppSpecification *MonitoringSchedule_MonitoringAppSpecification `json:"MonitoringAppSpecification,omitempty"` + + // MonitoringInputs AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringjobdefinition.html#cfn-sagemaker-monitoringschedule-monitoringjobdefinition-monitoringinputs + MonitoringInputs *MonitoringSchedule_MonitoringInputs `json:"MonitoringInputs,omitempty"` + + // MonitoringOutputConfig AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringjobdefinition.html#cfn-sagemaker-monitoringschedule-monitoringjobdefinition-monitoringoutputconfig + MonitoringOutputConfig *MonitoringSchedule_MonitoringOutputConfig `json:"MonitoringOutputConfig,omitempty"` + + // MonitoringResources AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringjobdefinition.html#cfn-sagemaker-monitoringschedule-monitoringjobdefinition-monitoringresources + MonitoringResources *MonitoringSchedule_MonitoringResources `json:"MonitoringResources,omitempty"` + + // NetworkConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringjobdefinition.html#cfn-sagemaker-monitoringschedule-monitoringjobdefinition-networkconfig + NetworkConfig *MonitoringSchedule_NetworkConfig `json:"NetworkConfig,omitempty"` + + // RoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringjobdefinition.html#cfn-sagemaker-monitoringschedule-monitoringjobdefinition-rolearn + RoleArn string `json:"RoleArn,omitempty"` + + // StoppingCondition AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringjobdefinition.html#cfn-sagemaker-monitoringschedule-monitoringjobdefinition-stoppingcondition + StoppingCondition *MonitoringSchedule_StoppingCondition `json:"StoppingCondition,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *MonitoringSchedule_MonitoringJobDefinition) AWSCloudFormationType() string { + return "AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_monitoringoutput.go b/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_monitoringoutput.go new file mode 100644 index 0000000000..141fde8a5d --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_monitoringoutput.go @@ -0,0 +1,35 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// MonitoringSchedule_MonitoringOutput AWS CloudFormation Resource (AWS::SageMaker::MonitoringSchedule.MonitoringOutput) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringoutput.html +type MonitoringSchedule_MonitoringOutput struct { + + // S3Output AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringoutput.html#cfn-sagemaker-monitoringschedule-monitoringoutput-s3output + S3Output *MonitoringSchedule_S3Output `json:"S3Output,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *MonitoringSchedule_MonitoringOutput) AWSCloudFormationType() string { + return "AWS::SageMaker::MonitoringSchedule.MonitoringOutput" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_monitoringoutputconfig.go b/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_monitoringoutputconfig.go new file mode 100644 index 0000000000..d67dad9696 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_monitoringoutputconfig.go @@ -0,0 +1,40 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// MonitoringSchedule_MonitoringOutputConfig AWS CloudFormation Resource (AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringoutputconfig.html +type MonitoringSchedule_MonitoringOutputConfig struct { + + // KmsKeyId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringoutputconfig.html#cfn-sagemaker-monitoringschedule-monitoringoutputconfig-kmskeyid + KmsKeyId string `json:"KmsKeyId,omitempty"` + + // MonitoringOutputs AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringoutputconfig.html#cfn-sagemaker-monitoringschedule-monitoringoutputconfig-monitoringoutputs + MonitoringOutputs []MonitoringSchedule_MonitoringOutput `json:"MonitoringOutputs,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *MonitoringSchedule_MonitoringOutputConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_monitoringresources.go b/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_monitoringresources.go new file mode 100644 index 0000000000..b46be6edbe --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_monitoringresources.go @@ -0,0 +1,35 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// MonitoringSchedule_MonitoringResources AWS CloudFormation Resource (AWS::SageMaker::MonitoringSchedule.MonitoringResources) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringresources.html +type MonitoringSchedule_MonitoringResources struct { + + // ClusterConfig AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringresources.html#cfn-sagemaker-monitoringschedule-monitoringresources-clusterconfig + ClusterConfig *MonitoringSchedule_ClusterConfig `json:"ClusterConfig,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *MonitoringSchedule_MonitoringResources) AWSCloudFormationType() string { + return "AWS::SageMaker::MonitoringSchedule.MonitoringResources" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_monitoringscheduleconfig.go b/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_monitoringscheduleconfig.go new file mode 100644 index 0000000000..6d6f159967 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_monitoringscheduleconfig.go @@ -0,0 +1,40 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// MonitoringSchedule_MonitoringScheduleConfig AWS CloudFormation Resource (AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringscheduleconfig.html +type MonitoringSchedule_MonitoringScheduleConfig struct { + + // MonitoringJobDefinition AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringscheduleconfig.html#cfn-sagemaker-monitoringschedule-monitoringscheduleconfig-monitoringjobdefinition + MonitoringJobDefinition *MonitoringSchedule_MonitoringJobDefinition `json:"MonitoringJobDefinition,omitempty"` + + // ScheduleConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringscheduleconfig.html#cfn-sagemaker-monitoringschedule-monitoringscheduleconfig-scheduleconfig + ScheduleConfig *MonitoringSchedule_ScheduleConfig `json:"ScheduleConfig,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *MonitoringSchedule_MonitoringScheduleConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_networkconfig.go b/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_networkconfig.go new file mode 100644 index 0000000000..476d2a70fc --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_networkconfig.go @@ -0,0 +1,45 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// MonitoringSchedule_NetworkConfig AWS CloudFormation Resource (AWS::SageMaker::MonitoringSchedule.NetworkConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-networkconfig.html +type MonitoringSchedule_NetworkConfig struct { + + // EnableInterContainerTrafficEncryption AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-networkconfig.html#cfn-sagemaker-monitoringschedule-networkconfig-enableintercontainertrafficencryption + EnableInterContainerTrafficEncryption bool `json:"EnableInterContainerTrafficEncryption,omitempty"` + + // EnableNetworkIsolation AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-networkconfig.html#cfn-sagemaker-monitoringschedule-networkconfig-enablenetworkisolation + EnableNetworkIsolation bool `json:"EnableNetworkIsolation,omitempty"` + + // VpcConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-networkconfig.html#cfn-sagemaker-monitoringschedule-networkconfig-vpcconfig + VpcConfig *MonitoringSchedule_VpcConfig `json:"VpcConfig,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *MonitoringSchedule_NetworkConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::MonitoringSchedule.NetworkConfig" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_s3output.go b/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_s3output.go new file mode 100644 index 0000000000..66e00d9ffe --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_s3output.go @@ -0,0 +1,45 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// MonitoringSchedule_S3Output AWS CloudFormation Resource (AWS::SageMaker::MonitoringSchedule.S3Output) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-s3output.html +type MonitoringSchedule_S3Output struct { + + // LocalPath AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-s3output.html#cfn-sagemaker-monitoringschedule-s3output-localpath + LocalPath string `json:"LocalPath,omitempty"` + + // S3UploadMode AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-s3output.html#cfn-sagemaker-monitoringschedule-s3output-s3uploadmode + S3UploadMode string `json:"S3UploadMode,omitempty"` + + // S3Uri AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-s3output.html#cfn-sagemaker-monitoringschedule-s3output-s3uri + S3Uri string `json:"S3Uri,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *MonitoringSchedule_S3Output) AWSCloudFormationType() string { + return "AWS::SageMaker::MonitoringSchedule.S3Output" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_scheduleconfig.go b/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_scheduleconfig.go new file mode 100644 index 0000000000..0a44db852e --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_scheduleconfig.go @@ -0,0 +1,35 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// MonitoringSchedule_ScheduleConfig AWS CloudFormation Resource (AWS::SageMaker::MonitoringSchedule.ScheduleConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-scheduleconfig.html +type MonitoringSchedule_ScheduleConfig struct { + + // ScheduleExpression AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-scheduleconfig.html#cfn-sagemaker-monitoringschedule-scheduleconfig-scheduleexpression + ScheduleExpression string `json:"ScheduleExpression,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *MonitoringSchedule_ScheduleConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::MonitoringSchedule.ScheduleConfig" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_statisticsresource.go b/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_statisticsresource.go new file mode 100644 index 0000000000..3f4c065fd6 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_statisticsresource.go @@ -0,0 +1,35 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// MonitoringSchedule_StatisticsResource AWS CloudFormation Resource (AWS::SageMaker::MonitoringSchedule.StatisticsResource) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-statisticsresource.html +type MonitoringSchedule_StatisticsResource struct { + + // S3Uri AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-statisticsresource.html#cfn-sagemaker-monitoringschedule-statisticsresource-s3uri + S3Uri string `json:"S3Uri,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *MonitoringSchedule_StatisticsResource) AWSCloudFormationType() string { + return "AWS::SageMaker::MonitoringSchedule.StatisticsResource" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_stoppingcondition.go b/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_stoppingcondition.go new file mode 100644 index 0000000000..f4c6535d24 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_stoppingcondition.go @@ -0,0 +1,35 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// MonitoringSchedule_StoppingCondition AWS CloudFormation Resource (AWS::SageMaker::MonitoringSchedule.StoppingCondition) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-stoppingcondition.html +type MonitoringSchedule_StoppingCondition struct { + + // MaxRuntimeInSeconds AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-stoppingcondition.html#cfn-sagemaker-monitoringschedule-stoppingcondition-maxruntimeinseconds + MaxRuntimeInSeconds int `json:"MaxRuntimeInSeconds"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *MonitoringSchedule_StoppingCondition) AWSCloudFormationType() string { + return "AWS::SageMaker::MonitoringSchedule.StoppingCondition" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_vpcconfig.go b/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_vpcconfig.go new file mode 100644 index 0000000000..ffebf642cc --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_vpcconfig.go @@ -0,0 +1,40 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// MonitoringSchedule_VpcConfig AWS CloudFormation Resource (AWS::SageMaker::MonitoringSchedule.VpcConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-vpcconfig.html +type MonitoringSchedule_VpcConfig struct { + + // SecurityGroupIds AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-vpcconfig.html#cfn-sagemaker-monitoringschedule-vpcconfig-securitygroupids + SecurityGroupIds []string `json:"SecurityGroupIds,omitempty"` + + // Subnets AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-vpcconfig.html#cfn-sagemaker-monitoringschedule-vpcconfig-subnets + Subnets []string `json:"Subnets,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *MonitoringSchedule_VpcConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::MonitoringSchedule.VpcConfig" +} diff --git a/cloudformation/secretsmanager/aws-secretsmanager-rotationschedule.go b/cloudformation/secretsmanager/aws-secretsmanager-rotationschedule.go index c3d976b913..a103cdf15f 100644 --- a/cloudformation/secretsmanager/aws-secretsmanager-rotationschedule.go +++ b/cloudformation/secretsmanager/aws-secretsmanager-rotationschedule.go @@ -12,6 +12,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-rotationschedule.html type RotationSchedule struct { + // HostedRotationLambda AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-rotationschedule.html#cfn-secretsmanager-rotationschedule-hostedrotationlambda + HostedRotationLambda *RotationSchedule_HostedRotationLambda `json:"HostedRotationLambda,omitempty"` + // RotationLambdaARN AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-rotationschedule.html#cfn-secretsmanager-rotationschedule-rotationlambdaarn diff --git a/cloudformation/secretsmanager/aws-secretsmanager-rotationschedule_hostedrotationlambda.go b/cloudformation/secretsmanager/aws-secretsmanager-rotationschedule_hostedrotationlambda.go new file mode 100644 index 0000000000..348a9b76eb --- /dev/null +++ b/cloudformation/secretsmanager/aws-secretsmanager-rotationschedule_hostedrotationlambda.go @@ -0,0 +1,65 @@ +package secretsmanager + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// RotationSchedule_HostedRotationLambda AWS CloudFormation Resource (AWS::SecretsManager::RotationSchedule.HostedRotationLambda) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-rotationschedule-hostedrotationlambda.html +type RotationSchedule_HostedRotationLambda struct { + + // KmsKeyArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-rotationschedule-hostedrotationlambda.html#cfn-secretsmanager-rotationschedule-hostedrotationlambda-kmskeyarn + KmsKeyArn string `json:"KmsKeyArn,omitempty"` + + // MasterSecretArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-rotationschedule-hostedrotationlambda.html#cfn-secretsmanager-rotationschedule-hostedrotationlambda-mastersecretarn + MasterSecretArn string `json:"MasterSecretArn,omitempty"` + + // MasterSecretKmsKeyArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-rotationschedule-hostedrotationlambda.html#cfn-secretsmanager-rotationschedule-hostedrotationlambda-mastersecretkmskeyarn + MasterSecretKmsKeyArn string `json:"MasterSecretKmsKeyArn,omitempty"` + + // RotationLambdaName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-rotationschedule-hostedrotationlambda.html#cfn-secretsmanager-rotationschedule-hostedrotationlambda-rotationlambdaname + RotationLambdaName string `json:"RotationLambdaName,omitempty"` + + // RotationType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-rotationschedule-hostedrotationlambda.html#cfn-secretsmanager-rotationschedule-hostedrotationlambda-rotationtype + RotationType string `json:"RotationType,omitempty"` + + // VpcSecurityGroupIds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-rotationschedule-hostedrotationlambda.html#cfn-secretsmanager-rotationschedule-hostedrotationlambda-vpcsecuritygroupids + VpcSecurityGroupIds string `json:"VpcSecurityGroupIds,omitempty"` + + // VpcSubnetIds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-rotationschedule-hostedrotationlambda.html#cfn-secretsmanager-rotationschedule-hostedrotationlambda-vpcsubnetids + VpcSubnetIds string `json:"VpcSubnetIds,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *RotationSchedule_HostedRotationLambda) AWSCloudFormationType() string { + return "AWS::SecretsManager::RotationSchedule.HostedRotationLambda" +} diff --git a/cloudformation/servicecatalog/aws-servicecatalog-cloudformationprovisionedproduct_provisioningparameter.go b/cloudformation/servicecatalog/aws-servicecatalog-cloudformationprovisionedproduct_provisioningparameter.go index 4bb3051b29..4e5e8f99e6 100644 --- a/cloudformation/servicecatalog/aws-servicecatalog-cloudformationprovisionedproduct_provisioningparameter.go +++ b/cloudformation/servicecatalog/aws-servicecatalog-cloudformationprovisionedproduct_provisioningparameter.go @@ -9,12 +9,12 @@ import ( type CloudFormationProvisionedProduct_ProvisioningParameter struct { // Key AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalog-cloudformationprovisionedproduct-provisioningparameter.html#cfn-servicecatalog-cloudformationprovisionedproduct-provisioningparameter-key Key string `json:"Key,omitempty"` // Value AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalog-cloudformationprovisionedproduct-provisioningparameter.html#cfn-servicecatalog-cloudformationprovisionedproduct-provisioningparameter-value Value string `json:"Value,omitempty"` diff --git a/cloudformation/sns/aws-sns-topic.go b/cloudformation/sns/aws-sns-topic.go index f6c9531119..1a7fee7f93 100644 --- a/cloudformation/sns/aws-sns-topic.go +++ b/cloudformation/sns/aws-sns-topic.go @@ -23,11 +23,6 @@ type Topic struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html#cfn-sns-topic-displayname DisplayName string `json:"DisplayName,omitempty"` - // FifoTopic AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html#cfn-sns-topic-fifotopic - FifoTopic bool `json:"FifoTopic,omitempty"` - // KmsMasterKeyId AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html#cfn-sns-topic-kmsmasterkeyid diff --git a/cloudformation/ssm/aws-ssm-association.go b/cloudformation/ssm/aws-ssm-association.go index e5e80f6eff..240e29cb7d 100644 --- a/cloudformation/ssm/aws-ssm-association.go +++ b/cloudformation/ssm/aws-ssm-association.go @@ -12,6 +12,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html type Association struct { + // ApplyOnlyAtCronInterval AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-applyonlyatcroninterval + ApplyOnlyAtCronInterval bool `json:"ApplyOnlyAtCronInterval,omitempty"` + // AssociationName AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-associationname diff --git a/cloudformation/stepfunctions/aws-stepfunctions-statemachine.go b/cloudformation/stepfunctions/aws-stepfunctions-statemachine.go index 175c903453..bedbe52c20 100644 --- a/cloudformation/stepfunctions/aws-stepfunctions-statemachine.go +++ b/cloudformation/stepfunctions/aws-stepfunctions-statemachine.go @@ -52,6 +52,11 @@ type StateMachine struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-tags Tags []StateMachine_TagsEntry `json:"Tags,omitempty"` + // TracingConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-tracingconfiguration + TracingConfiguration *StateMachine_TracingConfiguration `json:"TracingConfiguration,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/stepfunctions/aws-stepfunctions-statemachine_cloudwatchlogsloggroup.go b/cloudformation/stepfunctions/aws-stepfunctions-statemachine_cloudwatchlogsloggroup.go index 99385f2af2..5da6001bd3 100644 --- a/cloudformation/stepfunctions/aws-stepfunctions-statemachine_cloudwatchlogsloggroup.go +++ b/cloudformation/stepfunctions/aws-stepfunctions-statemachine_cloudwatchlogsloggroup.go @@ -5,12 +5,12 @@ import ( ) // StateMachine_CloudWatchLogsLogGroup AWS CloudFormation Resource (AWS::StepFunctions::StateMachine.CloudWatchLogsLogGroup) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-logdestination-cloudwatchlogsloggroup.html +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-cloudwatchlogsloggroup.html type StateMachine_CloudWatchLogsLogGroup struct { // LogGroupArn AWS CloudFormation Property - // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-logdestination-cloudwatchlogsloggroup.html#cfn-stepfunctions-statemachine-logdestination-cloudwatchlogsloggroup-loggrouparn + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-cloudwatchlogsloggroup.html#cfn-stepfunctions-statemachine-cloudwatchlogsloggroup-loggrouparn LogGroupArn string `json:"LogGroupArn,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy diff --git a/cloudformation/stepfunctions/aws-stepfunctions-statemachine_definitionsubstitutions.go b/cloudformation/stepfunctions/aws-stepfunctions-statemachine_definitionsubstitutions.go index 7545e7c7d0..d744735dc9 100644 --- a/cloudformation/stepfunctions/aws-stepfunctions-statemachine_definitionsubstitutions.go +++ b/cloudformation/stepfunctions/aws-stepfunctions-statemachine_definitionsubstitutions.go @@ -5,7 +5,7 @@ import ( ) // StateMachine_DefinitionSubstitutions AWS CloudFormation Resource (AWS::StepFunctions::StateMachine.DefinitionSubstitutions) -// See: +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-definitionsubstitutions.html type StateMachine_DefinitionSubstitutions struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy diff --git a/cloudformation/stepfunctions/aws-stepfunctions-statemachine_tracingconfiguration.go b/cloudformation/stepfunctions/aws-stepfunctions-statemachine_tracingconfiguration.go new file mode 100644 index 0000000000..93e5d8e6fe --- /dev/null +++ b/cloudformation/stepfunctions/aws-stepfunctions-statemachine_tracingconfiguration.go @@ -0,0 +1,35 @@ +package stepfunctions + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// StateMachine_TracingConfiguration AWS CloudFormation Resource (AWS::StepFunctions::StateMachine.TracingConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-tracingconfiguration.html +type StateMachine_TracingConfiguration struct { + + // Enabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-tracingconfiguration.html#cfn-stepfunctions-statemachine-tracingconfiguration-enabled + Enabled bool `json:"Enabled,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *StateMachine_TracingConfiguration) AWSCloudFormationType() string { + return "AWS::StepFunctions::StateMachine.TracingConfiguration" +} diff --git a/cloudformation/synthetics/aws-synthetics-canary.go b/cloudformation/synthetics/aws-synthetics-canary.go index 36057aad7c..7d44307b42 100644 --- a/cloudformation/synthetics/aws-synthetics-canary.go +++ b/cloudformation/synthetics/aws-synthetics-canary.go @@ -39,7 +39,7 @@ type Canary struct { Name string `json:"Name,omitempty"` // RunConfig AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-runconfig RunConfig *Canary_RunConfig `json:"RunConfig,omitempty"` diff --git a/cloudformation/synthetics/aws-synthetics-canary_runconfig.go b/cloudformation/synthetics/aws-synthetics-canary_runconfig.go index b73cf847ec..bcbffd9865 100644 --- a/cloudformation/synthetics/aws-synthetics-canary_runconfig.go +++ b/cloudformation/synthetics/aws-synthetics-canary_runconfig.go @@ -8,6 +8,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-runconfig.html type Canary_RunConfig struct { + // MemoryInMB AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-runconfig.html#cfn-synthetics-canary-runconfig-memoryinmb + MemoryInMB int `json:"MemoryInMB,omitempty"` + // TimeoutInSeconds AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-runconfig.html#cfn-synthetics-canary-runconfig-timeoutinseconds diff --git a/cloudformation/synthetics/aws-synthetics-canary_schedule.go b/cloudformation/synthetics/aws-synthetics-canary_schedule.go index e381600150..3d59fa6be5 100644 --- a/cloudformation/synthetics/aws-synthetics-canary_schedule.go +++ b/cloudformation/synthetics/aws-synthetics-canary_schedule.go @@ -9,7 +9,7 @@ import ( type Canary_Schedule struct { // DurationInSeconds AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-schedule.html#cfn-synthetics-canary-schedule-durationinseconds DurationInSeconds string `json:"DurationInSeconds,omitempty"` diff --git a/cloudformation/transfer/aws-transfer-server.go b/cloudformation/transfer/aws-transfer-server.go index 49403bd632..0e04c26942 100644 --- a/cloudformation/transfer/aws-transfer-server.go +++ b/cloudformation/transfer/aws-transfer-server.go @@ -48,6 +48,11 @@ type Server struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html#cfn-transfer-server-protocols Protocols []Server_Protocol `json:"Protocols,omitempty"` + // SecurityPolicyName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html#cfn-transfer-server-securitypolicyname + SecurityPolicyName string `json:"SecurityPolicyName,omitempty"` + // Tags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html#cfn-transfer-server-tags diff --git a/cloudformation/wafv2/aws-wafv2-rulegroup_forwardedipconfiguration.go b/cloudformation/wafv2/aws-wafv2-rulegroup_forwardedipconfiguration.go new file mode 100644 index 0000000000..e7fc55bd46 --- /dev/null +++ b/cloudformation/wafv2/aws-wafv2-rulegroup_forwardedipconfiguration.go @@ -0,0 +1,40 @@ +package wafv2 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// RuleGroup_ForwardedIPConfiguration AWS CloudFormation Resource (AWS::WAFv2::RuleGroup.ForwardedIPConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-forwardedipconfiguration.html +type RuleGroup_ForwardedIPConfiguration struct { + + // FallbackBehavior AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-forwardedipconfiguration.html#cfn-wafv2-rulegroup-forwardedipconfiguration-fallbackbehavior + FallbackBehavior string `json:"FallbackBehavior,omitempty"` + + // HeaderName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-forwardedipconfiguration.html#cfn-wafv2-rulegroup-forwardedipconfiguration-headername + HeaderName string `json:"HeaderName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *RuleGroup_ForwardedIPConfiguration) AWSCloudFormationType() string { + return "AWS::WAFv2::RuleGroup.ForwardedIPConfiguration" +} diff --git a/cloudformation/wafv2/aws-wafv2-rulegroup_geomatchstatement.go b/cloudformation/wafv2/aws-wafv2-rulegroup_geomatchstatement.go index a7b70f9ebd..2c293dfdb5 100644 --- a/cloudformation/wafv2/aws-wafv2-rulegroup_geomatchstatement.go +++ b/cloudformation/wafv2/aws-wafv2-rulegroup_geomatchstatement.go @@ -13,6 +13,11 @@ type RuleGroup_GeoMatchStatement struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-geomatchstatement.html#cfn-wafv2-rulegroup-geomatchstatement-countrycodes CountryCodes []string `json:"CountryCodes,omitempty"` + // ForwardedIPConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-geomatchstatement.html#cfn-wafv2-rulegroup-geomatchstatement-forwardedipconfig + ForwardedIPConfig *RuleGroup_ForwardedIPConfiguration `json:"ForwardedIPConfig,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-rulegroup_ipsetforwardedipconfiguration.go b/cloudformation/wafv2/aws-wafv2-rulegroup_ipsetforwardedipconfiguration.go new file mode 100644 index 0000000000..6ac3dd035b --- /dev/null +++ b/cloudformation/wafv2/aws-wafv2-rulegroup_ipsetforwardedipconfiguration.go @@ -0,0 +1,45 @@ +package wafv2 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// RuleGroup_IPSetForwardedIPConfiguration AWS CloudFormation Resource (AWS::WAFv2::RuleGroup.IPSetForwardedIPConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ipsetforwardedipconfiguration.html +type RuleGroup_IPSetForwardedIPConfiguration struct { + + // FallbackBehavior AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ipsetforwardedipconfiguration.html#cfn-wafv2-rulegroup-ipsetforwardedipconfiguration-fallbackbehavior + FallbackBehavior string `json:"FallbackBehavior,omitempty"` + + // HeaderName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ipsetforwardedipconfiguration.html#cfn-wafv2-rulegroup-ipsetforwardedipconfiguration-headername + HeaderName string `json:"HeaderName,omitempty"` + + // Position AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ipsetforwardedipconfiguration.html#cfn-wafv2-rulegroup-ipsetforwardedipconfiguration-position + Position string `json:"Position,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *RuleGroup_IPSetForwardedIPConfiguration) AWSCloudFormationType() string { + return "AWS::WAFv2::RuleGroup.IPSetForwardedIPConfiguration" +} diff --git a/cloudformation/wafv2/aws-wafv2-rulegroup_ipsetreferencestatement.go b/cloudformation/wafv2/aws-wafv2-rulegroup_ipsetreferencestatement.go index e8a7bf61f4..a039daa9bb 100644 --- a/cloudformation/wafv2/aws-wafv2-rulegroup_ipsetreferencestatement.go +++ b/cloudformation/wafv2/aws-wafv2-rulegroup_ipsetreferencestatement.go @@ -13,6 +13,11 @@ type RuleGroup_IPSetReferenceStatement struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ipsetreferencestatement.html#cfn-wafv2-rulegroup-ipsetreferencestatement-arn Arn string `json:"Arn,omitempty"` + // IPSetForwardedIPConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ipsetreferencestatement.html#cfn-wafv2-rulegroup-ipsetreferencestatement-ipsetforwardedipconfig + IPSetForwardedIPConfig *RuleGroup_IPSetForwardedIPConfiguration `json:"IPSetForwardedIPConfig,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-rulegroup_ratebasedstatementone.go b/cloudformation/wafv2/aws-wafv2-rulegroup_ratebasedstatementone.go index cb5b5f4869..52c041ca37 100644 --- a/cloudformation/wafv2/aws-wafv2-rulegroup_ratebasedstatementone.go +++ b/cloudformation/wafv2/aws-wafv2-rulegroup_ratebasedstatementone.go @@ -13,6 +13,11 @@ type RuleGroup_RateBasedStatementOne struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-aggregatekeytype AggregateKeyType string `json:"AggregateKeyType,omitempty"` + // ForwardedIPConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-forwardedipconfig + ForwardedIPConfig *RuleGroup_ForwardedIPConfiguration `json:"ForwardedIPConfig,omitempty"` + // Limit AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-limit diff --git a/cloudformation/wafv2/aws-wafv2-rulegroup_ratebasedstatementtwo.go b/cloudformation/wafv2/aws-wafv2-rulegroup_ratebasedstatementtwo.go index 7f7dd51e1f..3d1a683fce 100644 --- a/cloudformation/wafv2/aws-wafv2-rulegroup_ratebasedstatementtwo.go +++ b/cloudformation/wafv2/aws-wafv2-rulegroup_ratebasedstatementtwo.go @@ -13,6 +13,11 @@ type RuleGroup_RateBasedStatementTwo struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-aggregatekeytype AggregateKeyType string `json:"AggregateKeyType,omitempty"` + // ForwardedIPConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-forwardedipconfig + ForwardedIPConfig *RuleGroup_ForwardedIPConfiguration `json:"ForwardedIPConfig,omitempty"` + // Limit AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-limit diff --git a/cloudformation/wafv2/aws-wafv2-webacl_forwardedipconfiguration.go b/cloudformation/wafv2/aws-wafv2-webacl_forwardedipconfiguration.go new file mode 100644 index 0000000000..37ac5edd75 --- /dev/null +++ b/cloudformation/wafv2/aws-wafv2-webacl_forwardedipconfiguration.go @@ -0,0 +1,40 @@ +package wafv2 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// WebACL_ForwardedIPConfiguration AWS CloudFormation Resource (AWS::WAFv2::WebACL.ForwardedIPConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-forwardedipconfiguration.html +type WebACL_ForwardedIPConfiguration struct { + + // FallbackBehavior AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-forwardedipconfiguration.html#cfn-wafv2-webacl-forwardedipconfiguration-fallbackbehavior + FallbackBehavior string `json:"FallbackBehavior,omitempty"` + + // HeaderName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-forwardedipconfiguration.html#cfn-wafv2-webacl-forwardedipconfiguration-headername + HeaderName string `json:"HeaderName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *WebACL_ForwardedIPConfiguration) AWSCloudFormationType() string { + return "AWS::WAFv2::WebACL.ForwardedIPConfiguration" +} diff --git a/cloudformation/wafv2/aws-wafv2-webacl_geomatchstatement.go b/cloudformation/wafv2/aws-wafv2-webacl_geomatchstatement.go index 82f98f44fa..abe6d5715e 100644 --- a/cloudformation/wafv2/aws-wafv2-webacl_geomatchstatement.go +++ b/cloudformation/wafv2/aws-wafv2-webacl_geomatchstatement.go @@ -13,6 +13,11 @@ type WebACL_GeoMatchStatement struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-geomatchstatement.html#cfn-wafv2-webacl-geomatchstatement-countrycodes CountryCodes []string `json:"CountryCodes,omitempty"` + // ForwardedIPConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-geomatchstatement.html#cfn-wafv2-webacl-geomatchstatement-forwardedipconfig + ForwardedIPConfig *WebACL_ForwardedIPConfiguration `json:"ForwardedIPConfig,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-webacl_ipsetforwardedipconfiguration.go b/cloudformation/wafv2/aws-wafv2-webacl_ipsetforwardedipconfiguration.go new file mode 100644 index 0000000000..68a118cca3 --- /dev/null +++ b/cloudformation/wafv2/aws-wafv2-webacl_ipsetforwardedipconfiguration.go @@ -0,0 +1,45 @@ +package wafv2 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// WebACL_IPSetForwardedIPConfiguration AWS CloudFormation Resource (AWS::WAFv2::WebACL.IPSetForwardedIPConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ipsetforwardedipconfiguration.html +type WebACL_IPSetForwardedIPConfiguration struct { + + // FallbackBehavior AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ipsetforwardedipconfiguration.html#cfn-wafv2-webacl-ipsetforwardedipconfiguration-fallbackbehavior + FallbackBehavior string `json:"FallbackBehavior,omitempty"` + + // HeaderName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ipsetforwardedipconfiguration.html#cfn-wafv2-webacl-ipsetforwardedipconfiguration-headername + HeaderName string `json:"HeaderName,omitempty"` + + // Position AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ipsetforwardedipconfiguration.html#cfn-wafv2-webacl-ipsetforwardedipconfiguration-position + Position string `json:"Position,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *WebACL_IPSetForwardedIPConfiguration) AWSCloudFormationType() string { + return "AWS::WAFv2::WebACL.IPSetForwardedIPConfiguration" +} diff --git a/cloudformation/wafv2/aws-wafv2-webacl_ipsetreferencestatement.go b/cloudformation/wafv2/aws-wafv2-webacl_ipsetreferencestatement.go index 22c89789bd..559883692f 100644 --- a/cloudformation/wafv2/aws-wafv2-webacl_ipsetreferencestatement.go +++ b/cloudformation/wafv2/aws-wafv2-webacl_ipsetreferencestatement.go @@ -13,6 +13,11 @@ type WebACL_IPSetReferenceStatement struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ipsetreferencestatement.html#cfn-wafv2-webacl-ipsetreferencestatement-arn Arn string `json:"Arn,omitempty"` + // IPSetForwardedIPConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ipsetreferencestatement.html#cfn-wafv2-webacl-ipsetreferencestatement-ipsetforwardedipconfig + IPSetForwardedIPConfig *WebACL_IPSetForwardedIPConfiguration `json:"IPSetForwardedIPConfig,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/wafv2/aws-wafv2-webacl_ratebasedstatementone.go b/cloudformation/wafv2/aws-wafv2-webacl_ratebasedstatementone.go index e4c1588dee..55953bcc49 100644 --- a/cloudformation/wafv2/aws-wafv2-webacl_ratebasedstatementone.go +++ b/cloudformation/wafv2/aws-wafv2-webacl_ratebasedstatementone.go @@ -13,6 +13,11 @@ type WebACL_RateBasedStatementOne struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-aggregatekeytype AggregateKeyType string `json:"AggregateKeyType,omitempty"` + // ForwardedIPConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-forwardedipconfig + ForwardedIPConfig *WebACL_ForwardedIPConfiguration `json:"ForwardedIPConfig,omitempty"` + // Limit AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-limit diff --git a/cloudformation/wafv2/aws-wafv2-webacl_ratebasedstatementtwo.go b/cloudformation/wafv2/aws-wafv2-webacl_ratebasedstatementtwo.go index 9355a38315..f7cfec36d1 100644 --- a/cloudformation/wafv2/aws-wafv2-webacl_ratebasedstatementtwo.go +++ b/cloudformation/wafv2/aws-wafv2-webacl_ratebasedstatementtwo.go @@ -13,6 +13,11 @@ type WebACL_RateBasedStatementTwo struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-aggregatekeytype AggregateKeyType string `json:"AggregateKeyType,omitempty"` + // ForwardedIPConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-forwardedipconfig + ForwardedIPConfig *WebACL_ForwardedIPConfiguration `json:"ForwardedIPConfig,omitempty"` + // Limit AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-limit diff --git a/schema/cloudformation.go b/schema/cloudformation.go index 9d73926c29..c67951001f 100644 --- a/schema/cloudformation.go +++ b/schema/cloudformation.go @@ -489,6 +489,9 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "AuthenticationStrategy": { + "type": "string" + }, "AutoMinorVersionUpgrade": { "type": "boolean" }, @@ -513,6 +516,12 @@ var CloudformationSchema = `{ "HostInstanceType": { "type": "string" }, + "LdapMetadata": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.LdapMetadata" + }, + "LdapServerMetadata": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.LdapServerMetadata" + }, "Logs": { "$ref": "#/definitions/AWS::AmazonMQ::Broker.LogList" }, @@ -614,6 +623,91 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::AmazonMQ::Broker.InterBrokerCred": { + "additionalProperties": false, + "properties": { + "Password": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "Password", + "Username" + ], + "type": "object" + }, + "AWS::AmazonMQ::Broker.LdapMetadata": { + "additionalProperties": false, + "properties": { + "InterBrokerCreds": { + "items": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.InterBrokerCred" + }, + "type": "array" + }, + "ServerMetadata": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.ServerMetadata" + } + }, + "required": [ + "ServerMetadata" + ], + "type": "object" + }, + "AWS::AmazonMQ::Broker.LdapServerMetadata": { + "additionalProperties": false, + "properties": { + "Hosts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RoleBase": { + "type": "string" + }, + "RoleName": { + "type": "string" + }, + "RoleSearchMatching": { + "type": "string" + }, + "RoleSearchSubtree": { + "type": "boolean" + }, + "ServiceAccountPassword": { + "type": "string" + }, + "ServiceAccountUsername": { + "type": "string" + }, + "UserBase": { + "type": "string" + }, + "UserRoleName": { + "type": "string" + }, + "UserSearchMatching": { + "type": "string" + }, + "UserSearchSubtree": { + "type": "boolean" + } + }, + "required": [ + "Hosts", + "RoleBase", + "RoleSearchMatching", + "ServiceAccountPassword", + "ServiceAccountUsername", + "UserBase", + "UserSearchMatching" + ], + "type": "object" + }, "AWS::AmazonMQ::Broker.LogList": { "additionalProperties": false, "properties": { @@ -646,6 +740,57 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::AmazonMQ::Broker.ServerMetadata": { + "additionalProperties": false, + "properties": { + "Hosts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RoleBase": { + "type": "string" + }, + "RoleName": { + "type": "string" + }, + "RoleSearchMatching": { + "type": "string" + }, + "RoleSearchSubtree": { + "type": "boolean" + }, + "ServiceAccountPassword": { + "type": "string" + }, + "ServiceAccountUsername": { + "type": "string" + }, + "UserBase": { + "type": "string" + }, + "UserRoleName": { + "type": "string" + }, + "UserSearchMatching": { + "type": "string" + }, + "UserSearchSubtree": { + "type": "boolean" + } + }, + "required": [ + "Hosts", + "RoleBase", + "RoleSearchMatching", + "ServiceAccountPassword", + "ServiceAccountUsername", + "UserBase", + "UserSearchMatching" + ], + "type": "object" + }, "AWS::AmazonMQ::Broker.TagsEntry": { "additionalProperties": false, "properties": { @@ -921,6 +1066,9 @@ var CloudformationSchema = `{ "Description": { "type": "string" }, + "EnableBranchAutoDeletion": { + "type": "boolean" + }, "EnvironmentVariables": { "items": { "$ref": "#/definitions/AWS::Amplify::App.EnvironmentVariable" @@ -1233,9 +1381,21 @@ var CloudformationSchema = `{ "AppId": { "type": "string" }, + "AutoSubDomainCreationPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AutoSubDomainIAMRole": { + "type": "string" + }, "DomainName": { "type": "string" }, + "EnableAutoSubDomain": { + "type": "boolean" + }, "SubDomainSettings": { "items": { "$ref": "#/definitions/AWS::Amplify::Domain.SubDomainSetting" @@ -2123,9 +2283,6 @@ var CloudformationSchema = `{ "type": "array" } }, - "required": [ - "DomainName" - ], "type": "object" }, "Type": { @@ -2144,8 +2301,7 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -3466,6 +3622,176 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "Integration": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.IntegrationOverrides" + }, + "Route": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteOverrides" + }, + "Stage": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.StageOverrides" + } + }, + "required": [ + "ApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.AccessLogSettings": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + }, + "Format": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.IntegrationOverrides": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "IntegrationMethod": { + "type": "string" + }, + "PayloadFormatVersion": { + "type": "string" + }, + "TimeoutInMillis": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteOverrides": { + "additionalProperties": false, + "properties": { + "AuthorizationScopes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AuthorizationType": { + "type": "string" + }, + "AuthorizerId": { + "type": "string" + }, + "OperationName": { + "type": "string" + }, + "Target": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteSettings": { + "additionalProperties": false, + "properties": { + "DataTraceEnabled": { + "type": "boolean" + }, + "DetailedMetricsEnabled": { + "type": "boolean" + }, + "LoggingLevel": { + "type": "string" + }, + "ThrottlingBurstLimit": { + "type": "number" + }, + "ThrottlingRateLimit": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.StageOverrides": { + "additionalProperties": false, + "properties": { + "AccessLogSettings": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.AccessLogSettings" + }, + "AutoDeploy": { + "type": "boolean" + }, + "DefaultRouteSettings": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteSettings" + }, + "Description": { + "type": "string" + }, + "RouteSettings": { + "type": "object" + }, + "StageVariables": { + "type": "object" + } + }, + "type": "object" + }, "AWS::ApiGatewayV2::ApiMapping": { "additionalProperties": false, "properties": { @@ -4403,6 +4729,84 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::ApiGatewayV2::VpcLink": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Name", + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::VpcLink" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::AppConfig::Application": { "additionalProperties": false, "properties": { @@ -4983,6 +5387,205 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::AppMesh::GatewayRoute": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GatewayRouteName": { + "type": "string" + }, + "MeshName": { + "type": "string" + }, + "MeshOwner": { + "type": "string" + }, + "Spec": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteSpec" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VirtualGatewayName": { + "type": "string" + } + }, + "required": [ + "GatewayRouteName", + "MeshName", + "Spec", + "VirtualGatewayName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppMesh::GatewayRoute" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GatewayRouteSpec": { + "additionalProperties": false, + "properties": { + "GrpcRoute": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRoute" + }, + "Http2Route": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRoute" + }, + "HttpRoute": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRoute" + } + }, + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GatewayRouteTarget": { + "additionalProperties": false, + "properties": { + "VirtualService": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteVirtualService" + } + }, + "required": [ + "VirtualService" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GatewayRouteVirtualService": { + "additionalProperties": false, + "properties": { + "VirtualServiceName": { + "type": "string" + } + }, + "required": [ + "VirtualServiceName" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GrpcGatewayRoute": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteAction" + }, + "Match": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMatch" + } + }, + "required": [ + "Action", + "Match" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteAction": { + "additionalProperties": false, + "properties": { + "Target": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteTarget" + } + }, + "required": [ + "Target" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMatch": { + "additionalProperties": false, + "properties": { + "ServiceName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.HttpGatewayRoute": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRouteAction" + }, + "Match": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRouteMatch" + } + }, + "required": [ + "Action", + "Match" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.HttpGatewayRouteAction": { + "additionalProperties": false, + "properties": { + "Target": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteTarget" + } + }, + "required": [ + "Target" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.HttpGatewayRouteMatch": { + "additionalProperties": false, + "properties": { + "Prefix": { + "type": "string" + } + }, + "required": [ + "Prefix" + ], + "type": "object" + }, "AWS::AppMesh::Mesh": { "additionalProperties": false, "properties": { @@ -5546,7 +6149,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::AppMesh::VirtualNode": { + "AWS::AppMesh::VirtualGateway": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -5585,7 +6188,7 @@ var CloudformationSchema = `{ "type": "string" }, "Spec": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeSpec" + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewaySpec" }, "Tags": { "items": { @@ -5593,20 +6196,20 @@ var CloudformationSchema = `{ }, "type": "array" }, - "VirtualNodeName": { + "VirtualGatewayName": { "type": "string" } }, "required": [ "MeshName", "Spec", - "VirtualNodeName" + "VirtualGatewayName" ], "type": "object" }, "Type": { "enum": [ - "AWS::AppMesh::VirtualNode" + "AWS::AppMesh::VirtualGateway" ], "type": "string" }, @@ -5625,81 +6228,34 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::AppMesh::VirtualNode.AccessLog": { + "AWS::AppMesh::VirtualGateway.VirtualGatewayAccessLog": { "additionalProperties": false, "properties": { "File": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.FileAccessLog" + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayFileAccessLog" } }, "type": "object" }, - "AWS::AppMesh::VirtualNode.AwsCloudMapInstanceAttribute": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.AwsCloudMapServiceDiscovery": { - "additionalProperties": false, - "properties": { - "Attributes": { - "items": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.AwsCloudMapInstanceAttribute" - }, - "type": "array" - }, - "NamespaceName": { - "type": "string" - }, - "ServiceName": { - "type": "string" - } - }, - "required": [ - "NamespaceName", - "ServiceName" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.Backend": { - "additionalProperties": false, - "properties": { - "VirtualService": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualServiceBackend" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.BackendDefaults": { + "AWS::AppMesh::VirtualGateway.VirtualGatewayBackendDefaults": { "additionalProperties": false, "properties": { "ClientPolicy": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicy" + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicy" } }, "type": "object" }, - "AWS::AppMesh::VirtualNode.ClientPolicy": { + "AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicy": { "additionalProperties": false, "properties": { "TLS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicyTls" + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicyTls" } }, "type": "object" }, - "AWS::AppMesh::VirtualNode.ClientPolicyTls": { + "AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicyTls": { "additionalProperties": false, "properties": { "Enforce": { @@ -5712,7 +6268,7 @@ var CloudformationSchema = `{ "type": "array" }, "Validation": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContext" + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContext" } }, "required": [ @@ -5720,35 +6276,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::AppMesh::VirtualNode.DnsServiceDiscovery": { - "additionalProperties": false, - "properties": { - "Hostname": { - "type": "string" - } - }, - "required": [ - "Hostname" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.Duration": { - "additionalProperties": false, - "properties": { - "Unit": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "required": [ - "Unit", - "Value" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.FileAccessLog": { + "AWS::AppMesh::VirtualGateway.VirtualGatewayFileAccessLog": { "additionalProperties": false, "properties": { "Path": { @@ -5760,19 +6288,438 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::AppMesh::VirtualNode.GrpcTimeout": { - "additionalProperties": false, - "properties": { - "Idle": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" - }, - "PerRequest": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.HealthCheck": { + "AWS::AppMesh::VirtualGateway.VirtualGatewayHealthCheckPolicy": { + "additionalProperties": false, + "properties": { + "HealthyThreshold": { + "type": "number" + }, + "IntervalMillis": { + "type": "number" + }, + "Path": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "TimeoutMillis": { + "type": "number" + }, + "UnhealthyThreshold": { + "type": "number" + } + }, + "required": [ + "HealthyThreshold", + "IntervalMillis", + "Protocol", + "TimeoutMillis", + "UnhealthyThreshold" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListener": { + "additionalProperties": false, + "properties": { + "HealthCheck": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayHealthCheckPolicy" + }, + "PortMapping": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayPortMapping" + }, + "TLS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTls" + } + }, + "required": [ + "PortMapping" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTls": { + "additionalProperties": false, + "properties": { + "Certificate": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsCertificate" + }, + "Mode": { + "type": "string" + } + }, + "required": [ + "Certificate", + "Mode" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsAcmCertificate": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsCertificate": { + "additionalProperties": false, + "properties": { + "ACM": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsAcmCertificate" + }, + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsFileCertificate" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsFileCertificate": { + "additionalProperties": false, + "properties": { + "CertificateChain": { + "type": "string" + }, + "PrivateKey": { + "type": "string" + } + }, + "required": [ + "CertificateChain", + "PrivateKey" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayLogging": { + "additionalProperties": false, + "properties": { + "AccessLog": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayAccessLog" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayPortMapping": { + "additionalProperties": false, + "properties": { + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + } + }, + "required": [ + "Port", + "Protocol" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewaySpec": { + "additionalProperties": false, + "properties": { + "BackendDefaults": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayBackendDefaults" + }, + "Listeners": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListener" + }, + "type": "array" + }, + "Logging": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayLogging" + } + }, + "required": [ + "Listeners" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContext": { + "additionalProperties": false, + "properties": { + "Trust": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextTrust" + } + }, + "required": [ + "Trust" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextAcmTrust": { + "additionalProperties": false, + "properties": { + "CertificateAuthorityArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "CertificateAuthorityArns" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextFileTrust": { + "additionalProperties": false, + "properties": { + "CertificateChain": { + "type": "string" + } + }, + "required": [ + "CertificateChain" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextTrust": { + "additionalProperties": false, + "properties": { + "ACM": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextAcmTrust" + }, + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextFileTrust" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MeshName": { + "type": "string" + }, + "MeshOwner": { + "type": "string" + }, + "Spec": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeSpec" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VirtualNodeName": { + "type": "string" + } + }, + "required": [ + "MeshName", + "Spec", + "VirtualNodeName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppMesh::VirtualNode" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.AccessLog": { + "additionalProperties": false, + "properties": { + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.FileAccessLog" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.AwsCloudMapInstanceAttribute": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.AwsCloudMapServiceDiscovery": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.AwsCloudMapInstanceAttribute" + }, + "type": "array" + }, + "NamespaceName": { + "type": "string" + }, + "ServiceName": { + "type": "string" + } + }, + "required": [ + "NamespaceName", + "ServiceName" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.Backend": { + "additionalProperties": false, + "properties": { + "VirtualService": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualServiceBackend" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.BackendDefaults": { + "additionalProperties": false, + "properties": { + "ClientPolicy": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicy" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ClientPolicy": { + "additionalProperties": false, + "properties": { + "TLS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicyTls" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ClientPolicyTls": { + "additionalProperties": false, + "properties": { + "Enforce": { + "type": "boolean" + }, + "Ports": { + "items": { + "type": "number" + }, + "type": "array" + }, + "Validation": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContext" + } + }, + "required": [ + "Validation" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.DnsServiceDiscovery": { + "additionalProperties": false, + "properties": { + "Hostname": { + "type": "string" + } + }, + "required": [ + "Hostname" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.Duration": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.FileAccessLog": { + "additionalProperties": false, + "properties": { + "Path": { + "type": "string" + } + }, + "required": [ + "Path" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.GrpcTimeout": { + "additionalProperties": false, + "properties": { + "Idle": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + }, + "PerRequest": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.HealthCheck": { "additionalProperties": false, "properties": { "HealthyThreshold": { @@ -8317,6 +9264,441 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::ApplicationInsights::Application": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoConfigurationEnabled": { + "type": "boolean" + }, + "CWEMonitorEnabled": { + "type": "boolean" + }, + "ComponentMonitoringSettings": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.ComponentMonitoringSetting" + }, + "type": "array" + }, + "CustomComponents": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.CustomComponent" + }, + "type": "array" + }, + "LogPatternSets": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.LogPatternSet" + }, + "type": "array" + }, + "OpsCenterEnabled": { + "type": "boolean" + }, + "OpsItemSNSTopicArn": { + "type": "string" + }, + "ResourceGroupName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ResourceGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApplicationInsights::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.Alarm": { + "additionalProperties": false, + "properties": { + "AlarmName": { + "type": "string" + }, + "Severity": { + "type": "string" + } + }, + "required": [ + "AlarmName" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.AlarmMetric": { + "additionalProperties": false, + "properties": { + "AlarmMetricName": { + "type": "string" + } + }, + "required": [ + "AlarmMetricName" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.ComponentConfiguration": { + "additionalProperties": false, + "properties": { + "ConfigurationDetails": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.ConfigurationDetails" + }, + "SubComponentTypeConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.SubComponentTypeConfiguration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ApplicationInsights::Application.ComponentMonitoringSetting": { + "additionalProperties": false, + "properties": { + "ComponentARN": { + "type": "string" + }, + "ComponentConfigurationMode": { + "type": "string" + }, + "ComponentName": { + "type": "string" + }, + "CustomComponentConfiguration": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.ComponentConfiguration" + }, + "DefaultOverwriteComponentConfiguration": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.ComponentConfiguration" + }, + "Tier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApplicationInsights::Application.ConfigurationDetails": { + "additionalProperties": false, + "properties": { + "AlarmMetrics": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.AlarmMetric" + }, + "type": "array" + }, + "Alarms": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.Alarm" + }, + "type": "array" + }, + "Logs": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.Log" + }, + "type": "array" + }, + "WindowsEvents": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.WindowsEvent" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ApplicationInsights::Application.CustomComponent": { + "additionalProperties": false, + "properties": { + "ComponentName": { + "type": "string" + }, + "ResourceList": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ComponentName", + "ResourceList" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.Log": { + "additionalProperties": false, + "properties": { + "Encoding": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "LogPath": { + "type": "string" + }, + "LogType": { + "type": "string" + }, + "PatternSet": { + "type": "string" + } + }, + "required": [ + "LogType" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.LogPattern": { + "additionalProperties": false, + "properties": { + "Pattern": { + "type": "string" + }, + "PatternName": { + "type": "string" + }, + "Rank": { + "type": "number" + } + }, + "required": [ + "Pattern", + "PatternName", + "Rank" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.LogPatternSet": { + "additionalProperties": false, + "properties": { + "LogPatterns": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.LogPattern" + }, + "type": "array" + }, + "PatternSetName": { + "type": "string" + } + }, + "required": [ + "LogPatterns", + "PatternSetName" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.SubComponentConfigurationDetails": { + "additionalProperties": false, + "properties": { + "AlarmMetrics": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.AlarmMetric" + }, + "type": "array" + }, + "Logs": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.Log" + }, + "type": "array" + }, + "WindowsEvents": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.WindowsEvent" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ApplicationInsights::Application.SubComponentTypeConfiguration": { + "additionalProperties": false, + "properties": { + "SubComponentConfigurationDetails": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.SubComponentConfigurationDetails" + }, + "SubComponentType": { + "type": "string" + } + }, + "required": [ + "SubComponentConfigurationDetails", + "SubComponentType" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.WindowsEvent": { + "additionalProperties": false, + "properties": { + "EventLevels": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EventName": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "PatternSet": { + "type": "string" + } + }, + "required": [ + "EventLevels", + "EventName", + "LogGroupName" + ], + "type": "object" + }, + "AWS::Athena::DataCatalog": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Tags": { + "$ref": "#/definitions/AWS::Athena::DataCatalog.Tags" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Athena::DataCatalog" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Athena::DataCatalog.Tags": { + "additionalProperties": false, + "properties": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::Athena::NamedQuery": { "additionalProperties": false, "properties": { @@ -8666,6 +10048,9 @@ var CloudformationSchema = `{ "MixedInstancesPolicy": { "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.MixedInstancesPolicy" }, + "NewInstancesProtectedFromScaleIn": { + "type": "boolean" + }, "NotificationConfigurations": { "items": { "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.NotificationConfiguration" @@ -11947,6 +13332,9 @@ var CloudformationSchema = `{ }, "type": "array" }, + "CachePolicyId": { + "type": "string" + }, "CachedMethods": { "items": { "type": "string" @@ -11977,6 +13365,9 @@ var CloudformationSchema = `{ "MinTTL": { "type": "number" }, + "OriginRequestPolicyId": { + "type": "string" + }, "PathPattern": { "type": "string" }, @@ -11997,7 +13388,6 @@ var CloudformationSchema = `{ } }, "required": [ - "ForwardedValues", "PathPattern", "TargetOriginId", "ViewerProtocolPolicy" @@ -12082,6 +13472,9 @@ var CloudformationSchema = `{ }, "type": "array" }, + "CachePolicyId": { + "type": "string" + }, "CachedMethods": { "items": { "type": "string" @@ -12112,6 +13505,9 @@ var CloudformationSchema = `{ "MinTTL": { "type": "number" }, + "OriginRequestPolicyId": { + "type": "string" + }, "SmoothStreaming": { "type": "boolean" }, @@ -12129,7 +13525,6 @@ var CloudformationSchema = `{ } }, "required": [ - "ForwardedValues", "TargetOriginId", "ViewerProtocolPolicy" ], @@ -13396,6 +14791,9 @@ var CloudformationSchema = `{ "BadgeEnabled": { "type": "boolean" }, + "BuildBatchConfig": { + "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectBuildBatchConfig" + }, "Cache": { "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectCache" }, @@ -13531,6 +14929,33 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::CodeBuild::Project.BatchRestrictions": { + "additionalProperties": false, + "properties": { + "ComputeTypesAllowed": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaximumBuildsAllowed": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Project.BuildStatusConfig": { + "additionalProperties": false, + "properties": { + "Context": { + "type": "string" + }, + "TargetUrl": { + "type": "string" + } + }, + "type": "object" + }, "AWS::CodeBuild::Project.CloudWatchLogsConfig": { "additionalProperties": false, "properties": { @@ -13635,6 +15060,24 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::CodeBuild::Project.ProjectBuildBatchConfig": { + "additionalProperties": false, + "properties": { + "CombineArtifacts": { + "type": "boolean" + }, + "Restrictions": { + "$ref": "#/definitions/AWS::CodeBuild::Project.BatchRestrictions" + }, + "ServiceRole": { + "type": "string" + }, + "TimeoutInMins": { + "type": "number" + } + }, + "type": "object" + }, "AWS::CodeBuild::Project.ProjectCache": { "additionalProperties": false, "properties": { @@ -13756,6 +15199,9 @@ var CloudformationSchema = `{ "BuildSpec": { "type": "string" }, + "BuildStatusConfig": { + "$ref": "#/definitions/AWS::CodeBuild::Project.BuildStatusConfig" + }, "GitCloneDepth": { "type": "number" }, @@ -14108,6 +15554,9 @@ var CloudformationSchema = `{ "AWS::CodeCommit::Repository.Code": { "additionalProperties": false, "properties": { + "BranchName": { + "type": "string" + }, "S3": { "$ref": "#/definitions/AWS::CodeCommit::Repository.S3" } @@ -14718,8 +16167,23 @@ var CloudformationSchema = `{ "AgentPermissions": { "type": "object" }, + "AnomalyDetectionNotificationConfiguration": { + "items": { + "$ref": "#/definitions/AWS::CodeGuruProfiler::ProfilingGroup.Channel" + }, + "type": "array" + }, + "ComputePlatform": { + "type": "string" + }, "ProfilingGroupName": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -14748,6 +16212,21 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::CodeGuruProfiler::ProfilingGroup.Channel": { + "additionalProperties": false, + "properties": { + "channelId": { + "type": "string" + }, + "channelUri": { + "type": "string" + } + }, + "required": [ + "channelUri" + ], + "type": "object" + }, "AWS::CodePipeline::CustomActionType": { "additionalProperties": false, "properties": { @@ -15469,6 +16948,9 @@ var CloudformationSchema = `{ "ConnectionName": { "type": "string" }, + "HostArn": { + "type": "string" + }, "ProviderType": { "type": "string" }, @@ -15480,8 +16962,7 @@ var CloudformationSchema = `{ } }, "required": [ - "ConnectionName", - "ProviderType" + "ConnectionName" ], "type": "object" }, @@ -20710,6 +22191,83 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::EC2::CarrierGateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Tags": { + "$ref": "#/definitions/AWS::EC2::CarrierGateway.Tags" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::CarrierGateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::CarrierGateway.Tags": { + "additionalProperties": false, + "properties": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::EC2::ClientVpnAuthorizationRule": { "additionalProperties": false, "properties": { @@ -21814,15 +23372,27 @@ var CloudformationSchema = `{ "LogDestinationType": { "type": "string" }, + "LogFormat": { + "type": "string" + }, "LogGroupName": { "type": "string" }, + "MaxAggregationInterval": { + "type": "number" + }, "ResourceId": { "type": "string" }, "ResourceType": { "type": "string" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "TrafficType": { "type": "string" } @@ -23749,6 +25319,103 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::EC2::PrefixList": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AddressFamily": { + "type": "string" + }, + "Entries": { + "items": { + "$ref": "#/definitions/AWS::EC2::PrefixList.Entry" + }, + "type": "array" + }, + "MaxEntries": { + "type": "number" + }, + "PrefixListName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AddressFamily", + "MaxEntries", + "PrefixListName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::PrefixList" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::PrefixList.Entry": { + "additionalProperties": false, + "properties": { + "Cidr": { + "type": "string" + }, + "Description": { + "type": "string" + } + }, + "required": [ + "Cidr" + ], + "type": "object" + }, "AWS::EC2::Route": { "additionalProperties": false, "properties": { @@ -25410,6 +27077,9 @@ var CloudformationSchema = `{ "DnsSupport": { "type": "string" }, + "MulticastSupport": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -26958,8 +28628,14 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "ImageScanningConfiguration": { + "type": "object" + }, + "ImageTagMutability": { + "type": "string" + }, "LifecyclePolicy": { - "$ref": "#/definitions/AWS::ECR::Repository.LifecyclePolicy" + "type": "object" }, "RepositoryName": { "type": "string" @@ -26996,18 +28672,6 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ECR::Repository.LifecyclePolicy": { - "additionalProperties": false, - "properties": { - "LifecyclePolicyText": { - "type": "string" - }, - "RegistryId": { - "type": "string" - } - }, - "type": "object" - }, "AWS::ECS::CapacityProvider": { "additionalProperties": false, "properties": { @@ -27630,6 +29294,9 @@ var CloudformationSchema = `{ }, "type": "array" }, + "TaskDefinitionStatus": { + "type": "string" + }, "TaskRoleArn": { "type": "string" }, @@ -27662,6 +29329,18 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::ECS::TaskDefinition.AuthorizationConfig": { + "additionalProperties": false, + "properties": { + "AccessPointId": { + "type": "string" + }, + "IAM": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ECS::TaskDefinition.ContainerDefinition": { "additionalProperties": false, "properties": { @@ -27722,6 +29401,12 @@ var CloudformationSchema = `{ }, "type": "array" }, + "EnvironmentFiles": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.EnvironmentFile" + }, + "type": "array" + }, "Essential": { "type": "boolean" }, @@ -27846,10 +29531,6 @@ var CloudformationSchema = `{ "type": "string" } }, - "required": [ - "Condition", - "ContainerName" - ], "type": "object" }, "AWS::ECS::TaskDefinition.Device": { @@ -27868,9 +29549,6 @@ var CloudformationSchema = `{ "type": "array" } }, - "required": [ - "HostPath" - ], "type": "object" }, "AWS::ECS::TaskDefinition.DockerVolumeConfiguration": { @@ -27906,27 +29584,54 @@ var CloudformationSchema = `{ }, "type": "object" }, - "AWS::ECS::TaskDefinition.FirelensConfiguration": { + "AWS::ECS::TaskDefinition.EFSVolumeConfiguration": { "additionalProperties": false, "properties": { - "Options": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, + "AuthorizationConfig": { "type": "object" }, - "Type": { + "FilesystemId": { + "type": "string" + }, + "RootDirectory": { "type": "string" + }, + "TransitEncryption": { + "type": "string" + }, + "TransitEncryptionPort": { + "type": "number" } }, "required": [ - "Type" + "FilesystemId" ], "type": "object" }, + "AWS::ECS::TaskDefinition.EnvironmentFile": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.FirelensConfiguration": { + "additionalProperties": false, + "properties": { + "Options": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Options" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ECS::TaskDefinition.HealthCheck": { "additionalProperties": false, "properties": { @@ -27949,9 +29654,6 @@ var CloudformationSchema = `{ "type": "number" } }, - "required": [ - "Command" - ], "type": "object" }, "AWS::ECS::TaskDefinition.HostEntry": { @@ -27964,10 +29666,6 @@ var CloudformationSchema = `{ "type": "string" } }, - "required": [ - "Hostname", - "IpAddress" - ], "type": "object" }, "AWS::ECS::TaskDefinition.HostVolumeProperties": { @@ -28061,13 +29759,7 @@ var CloudformationSchema = `{ "type": "string" }, "Options": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Options" }, "SecretOptions": { "items": { @@ -28096,6 +29788,11 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::ECS::TaskDefinition.Options": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::ECS::TaskDefinition.PortMapping": { "additionalProperties": false, "properties": { @@ -28183,10 +29880,6 @@ var CloudformationSchema = `{ "type": "string" } }, - "required": [ - "Namespace", - "Value" - ], "type": "object" }, "AWS::ECS::TaskDefinition.TaskDefinitionPlacementConstraint": { @@ -28251,6 +29944,9 @@ var CloudformationSchema = `{ "DockerVolumeConfiguration": { "$ref": "#/definitions/AWS::ECS::TaskDefinition.DockerVolumeConfiguration" }, + "EFSVolumeConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.EFSVolumeConfiguration" + }, "Host": { "$ref": "#/definitions/AWS::ECS::TaskDefinition.HostVolumeProperties" }, @@ -28625,6 +30321,9 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "BackupPolicy": { + "$ref": "#/definitions/AWS::EFS::FileSystem.BackupPolicy" + }, "Encrypted": { "type": "boolean" }, @@ -28678,6 +30377,18 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::EFS::FileSystem.BackupPolicy": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, "AWS::EFS::FileSystem.ElasticFileSystemTag": { "additionalProperties": false, "properties": { @@ -28958,6 +30669,9 @@ var CloudformationSchema = `{ "Labels": { "type": "object" }, + "LaunchTemplate": { + "$ref": "#/definitions/AWS::EKS::Nodegroup.LaunchTemplateSpecification" + }, "NodeRole": { "type": "string" }, @@ -29014,6 +30728,21 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::EKS::Nodegroup.LaunchTemplateSpecification": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EKS::Nodegroup.RemoteAccess": { "additionalProperties": false, "properties": { @@ -31889,6 +33618,12 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "AlpnPolicy": { + "items": { + "type": "string" + }, + "type": "array" + }, "Certificates": { "items": { "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.Certificate" @@ -32980,9 +34715,15 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AdvancedSecurityOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.AdvancedSecurityOptionsInput" + }, "CognitoOptions": { "$ref": "#/definitions/AWS::Elasticsearch::Domain.CognitoOptions" }, + "DomainEndpointOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.DomainEndpointOptions" + }, "DomainName": { "type": "string" }, @@ -33045,6 +34786,21 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::Elasticsearch::Domain.AdvancedSecurityOptionsInput": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "InternalUserDatabaseEnabled": { + "type": "boolean" + }, + "MasterUserOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.MasterUserOptions" + } + }, + "type": "object" + }, "AWS::Elasticsearch::Domain.CognitoOptions": { "additionalProperties": false, "properties": { @@ -33063,6 +34819,18 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::Elasticsearch::Domain.DomainEndpointOptions": { + "additionalProperties": false, + "properties": { + "EnforceHTTPS": { + "type": "boolean" + }, + "TLSSecurityPolicy": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Elasticsearch::Domain.EBSOptions": { "additionalProperties": false, "properties": { @@ -33132,6 +34900,21 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::Elasticsearch::Domain.MasterUserOptions": { + "additionalProperties": false, + "properties": { + "MasterUserARN": { + "type": "string" + }, + "MasterUserName": { + "type": "string" + }, + "MasterUserPassword": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Elasticsearch::Domain.NodeToNodeEncryptionOptions": { "additionalProperties": false, "properties": { @@ -34329,9 +36112,24 @@ var CloudformationSchema = `{ "AWS::FSx::FileSystem.LustreConfiguration": { "additionalProperties": false, "properties": { + "AutoImportPolicy": { + "type": "string" + }, + "AutomaticBackupRetentionDays": { + "type": "number" + }, + "CopyTagsToBackups": { + "type": "boolean" + }, + "DailyAutomaticBackupStartTime": { + "type": "string" + }, "DeploymentType": { "type": "string" }, + "DriveCacheType": { + "type": "string" + }, "ExportPath": { "type": "string" }, @@ -40707,6 +42505,12 @@ var CloudformationSchema = `{ "Platform": { "type": "string" }, + "SupportedOsVersions": { + "items": { + "type": "string" + }, + "type": "array" + }, "Tags": { "additionalProperties": true, "patternProperties": { @@ -40848,102 +42652,108 @@ var CloudformationSchema = `{ "type": "string" } }, - "type": "object" - }, - "AWS::ImageBuilder::Image": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DistributionConfigurationArn": { - "type": "string" - }, - "ImageRecipeArn": { - "type": "string" - }, - "ImageTestsConfiguration": { - "$ref": "#/definitions/AWS::ImageBuilder::Image.ImageTestsConfiguration" - }, - "InfrastructureConfigurationArn": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "ImageRecipeArn", - "InfrastructureConfigurationArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ImageBuilder::Image" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, "required": [ - "Type", - "Properties" + "Region" ], "type": "object" }, - "AWS::ImageBuilder::Image.ImageTestsConfiguration": { - "additionalProperties": false, - "properties": { - "ImageTestsEnabled": { - "type": "boolean" - }, - "TimeoutMinutes": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ImagePipeline": { + "AWS::ImageBuilder::Image": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DistributionConfigurationArn": { + "type": "string" + }, + "EnhancedImageMetadataEnabled": { + "type": "boolean" + }, + "ImageRecipeArn": { + "type": "string" + }, + "ImageTestsConfiguration": { + "$ref": "#/definitions/AWS::ImageBuilder::Image.ImageTestsConfiguration" + }, + "InfrastructureConfigurationArn": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "ImageRecipeArn", + "InfrastructureConfigurationArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ImageBuilder::Image" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::Image.ImageTestsConfiguration": { + "additionalProperties": false, + "properties": { + "ImageTestsEnabled": { + "type": "boolean" + }, + "TimeoutMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImagePipeline": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -40981,6 +42791,9 @@ var CloudformationSchema = `{ "DistributionConfigurationArn": { "type": "string" }, + "EnhancedImageMetadataEnabled": { + "type": "boolean" + }, "ImageRecipeArn": { "type": "string" }, @@ -41125,6 +42938,9 @@ var CloudformationSchema = `{ }, "Version": { "type": "string" + }, + "WorkingDirectory": { + "type": "string" } }, "required": [ @@ -41263,6 +43079,15 @@ var CloudformationSchema = `{ "Name": { "type": "string" }, + "ResourceTags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, "SecurityGroupIds": { "items": { "type": "string" @@ -41805,6 +43630,15 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "CACertificatePem": { + "type": "string" + }, + "CertificateMode": { + "type": "string" + }, + "CertificatePem": { + "type": "string" + }, "CertificateSigningRequest": { "type": "string" }, @@ -41813,7 +43647,6 @@ var CloudformationSchema = `{ } }, "required": [ - "CertificateSigningRequest", "Status" ], "type": "object" @@ -42015,10 +43848,7 @@ var CloudformationSchema = `{ "type": "string" }, "Tags": { - "items": { - "type": "object" - }, - "type": "array" + "$ref": "#/definitions/AWS::IoT::ProvisioningTemplate.Tags" }, "TemplateBody": { "type": "string" @@ -42066,6 +43896,18 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::IoT::ProvisioningTemplate.Tags": { + "additionalProperties": false, + "properties": { + "Tags": { + "items": { + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::IoT::Thing": { "additionalProperties": false, "properties": { @@ -46233,6 +48075,9 @@ var CloudformationSchema = `{ "ExtendedS3DestinationConfiguration": { "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ExtendedS3DestinationConfiguration" }, + "HttpEndpointDestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointDestinationConfiguration" + }, "KinesisStreamSourceConfiguration": { "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.KinesisStreamSourceConfiguration" }, @@ -46484,6 +48329,92 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::KinesisFirehose::DeliveryStream.HttpEndpointCommonAttribute": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + }, + "AttributeValue": { + "type": "string" + } + }, + "required": [ + "AttributeName", + "AttributeValue" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.HttpEndpointConfiguration": { + "additionalProperties": false, + "properties": { + "AccessKey": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Url" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.HttpEndpointDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BufferingHints": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" + }, + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" + }, + "EndpointConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointConfiguration" + }, + "ProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" + }, + "RequestConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointRequestConfiguration" + }, + "RetryOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RetryOptions" + }, + "RoleARN": { + "type": "string" + }, + "S3BackupMode": { + "type": "string" + }, + "S3Configuration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + } + }, + "required": [ + "EndpointConfiguration", + "S3Configuration" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.HttpEndpointRequestConfiguration": { + "additionalProperties": false, + "properties": { + "CommonAttributes": { + "items": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointCommonAttribute" + }, + "type": "array" + }, + "ContentEncoding": { + "type": "string" + } + }, + "type": "object" + }, "AWS::KinesisFirehose::DeliveryStream.InputFormatConfiguration": { "additionalProperties": false, "properties": { @@ -46719,6 +48650,15 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::KinesisFirehose::DeliveryStream.RetryOptions": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "number" + } + }, + "type": "object" + }, "AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration": { "additionalProperties": false, "properties": { @@ -47469,6 +49409,12 @@ var CloudformationSchema = `{ }, "StartingPosition": { "type": "string" + }, + "Topics": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ @@ -47505,9 +49451,6 @@ var CloudformationSchema = `{ "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.OnFailure" } }, - "required": [ - "OnFailure" - ], "type": "object" }, "AWS::Lambda::EventSourceMapping.OnFailure": { @@ -47517,9 +49460,6 @@ var CloudformationSchema = `{ "type": "string" } }, - "required": [ - "Destination" - ], "type": "object" }, "AWS::Lambda::Function": { @@ -47566,6 +49506,12 @@ var CloudformationSchema = `{ "Environment": { "$ref": "#/definitions/AWS::Lambda::Function.Environment" }, + "FileSystemConfigs": { + "items": { + "$ref": "#/definitions/AWS::Lambda::Function.FileSystemConfig" + }, + "type": "array" + }, "FunctionName": { "type": "string" }, @@ -47680,6 +49626,22 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::Lambda::Function.FileSystemConfig": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "LocalMountPath": { + "type": "string" + } + }, + "required": [ + "Arn", + "LocalMountPath" + ], + "type": "object" + }, "AWS::Lambda::Function.TracingConfig": { "additionalProperties": false, "properties": { @@ -55196,7 +57158,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::RAM::ResourceShare": { + "AWS::QLDB::Stream": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -55228,23 +57190,23 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AllowExternalPrincipals": { - "type": "boolean" + "ExclusiveEndTime": { + "type": "string" }, - "Name": { + "InclusiveStartTime": { "type": "string" }, - "Principals": { - "items": { - "type": "string" - }, - "type": "array" + "KinesisConfiguration": { + "$ref": "#/definitions/AWS::QLDB::Stream.KinesisConfiguration" }, - "ResourceArns": { - "items": { - "type": "string" - }, - "type": "array" + "LedgerName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "StreamName": { + "type": "string" }, "Tags": { "items": { @@ -55254,13 +57216,17 @@ var CloudformationSchema = `{ } }, "required": [ - "Name" + "InclusiveStartTime", + "KinesisConfiguration", + "LedgerName", + "RoleArn", + "StreamName" ], "type": "object" }, "Type": { "enum": [ - "AWS::RAM::ResourceShare" + "AWS::QLDB::Stream" ], "type": "string" }, @@ -55279,7 +57245,102 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::RDS::DBCluster": { + "AWS::QLDB::Stream.KinesisConfiguration": { + "additionalProperties": false, + "properties": { + "AggregationEnabled": { + "type": "boolean" + }, + "StreamArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RAM::ResourceShare": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowExternalPrincipals": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Principals": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ResourceArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RAM::ResourceShare" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBCluster": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -56084,10 +58145,14 @@ var CloudformationSchema = `{ }, "DBProxyName": { "type": "string" + }, + "TargetGroupName": { + "type": "string" } }, "required": [ - "DBProxyName" + "DBProxyName", + "TargetGroupName" ], "type": "object" }, @@ -60623,9 +62688,6 @@ var CloudformationSchema = `{ "DisplayName": { "type": "string" }, - "FifoTopic": { - "type": "boolean" - }, "KmsMasterKeyId": { "type": "string" }, @@ -60947,6 +63009,9 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "ApplyOnlyAtCronInterval": { + "type": "boolean" + }, "AssociationName": { "type": "string" }, @@ -62238,6 +64303,9 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "DataCaptureConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.DataCaptureConfig" + }, "EndpointConfigName": { "type": "string" }, @@ -62283,6 +64351,68 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader": { + "additionalProperties": false, + "properties": { + "CsvContentTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "JsonContentTypes": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::EndpointConfig.CaptureOption": { + "additionalProperties": false, + "properties": { + "CaptureMode": { + "type": "string" + } + }, + "required": [ + "CaptureMode" + ], + "type": "object" + }, + "AWS::SageMaker::EndpointConfig.DataCaptureConfig": { + "additionalProperties": false, + "properties": { + "CaptureContentTypeHeader": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader" + }, + "CaptureOptions": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureOption" + }, + "type": "array" + }, + "DestinationS3Uri": { + "type": "string" + }, + "EnableCapture": { + "type": "boolean" + }, + "InitialSamplingPercentage": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" + } + }, + "required": [ + "CaptureOptions", + "DestinationS3Uri", + "InitialSamplingPercentage" + ], + "type": "object" + }, "AWS::SageMaker::EndpointConfig.ProductionVariant": { "additionalProperties": false, "properties": { @@ -62414,14 +64544,455 @@ var CloudformationSchema = `{ }, "ModelDataUrl": { "type": "string" + }, + "ModelPackageName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::Model.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "Image" + "SecurityGroupIds", + "Subnets" ], "type": "object" }, - "AWS::SageMaker::Model.VpcConfig": { + "AWS::SageMaker::MonitoringSchedule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CreationTime": { + "type": "string" + }, + "EndpointName": { + "type": "string" + }, + "FailureReason": { + "type": "string" + }, + "LastModifiedTime": { + "type": "string" + }, + "LastMonitoringExecutionSummary": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary" + }, + "MonitoringScheduleArn": { + "type": "string" + }, + "MonitoringScheduleConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig" + }, + "MonitoringScheduleName": { + "type": "string" + }, + "MonitoringScheduleStatus": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "MonitoringScheduleConfig", + "MonitoringScheduleName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::MonitoringSchedule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.BaselineConfig": { + "additionalProperties": false, + "properties": { + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ConstraintsResource" + }, + "StatisticsResource": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StatisticsResource" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.ClusterConfig": { + "additionalProperties": false, + "properties": { + "InstanceCount": { + "type": "number" + }, + "InstanceType": { + "type": "string" + }, + "VolumeKmsKeyId": { + "type": "string" + }, + "VolumeSizeInGB": { + "type": "number" + } + }, + "required": [ + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.ConstraintsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.EndpointInput": { + "additionalProperties": false, + "properties": { + "EndpointName": { + "type": "string" + }, + "LocalPath": { + "type": "string" + }, + "S3DataDistributionType": { + "type": "string" + }, + "S3InputMode": { + "type": "string" + } + }, + "required": [ + "EndpointName", + "LocalPath" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.Environment": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification": { + "additionalProperties": false, + "properties": { + "ContainerArguments": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ContainerEntrypoint": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ImageUri": { + "type": "string" + }, + "PostAnalyticsProcessorSourceUri": { + "type": "string" + }, + "RecordPreprocessorSourceUri": { + "type": "string" + } + }, + "required": [ + "ImageUri" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary": { + "additionalProperties": false, + "properties": { + "CreationTime": { + "type": "string" + }, + "EndpointName": { + "type": "string" + }, + "FailureReason": { + "type": "string" + }, + "LastModifiedTime": { + "type": "string" + }, + "MonitoringExecutionStatus": { + "type": "string" + }, + "MonitoringScheduleName": { + "type": "string" + }, + "ProcessingJobArn": { + "type": "string" + }, + "ScheduledTime": { + "type": "string" + } + }, + "required": [ + "CreationTime", + "LastModifiedTime", + "MonitoringExecutionStatus", + "MonitoringScheduleName", + "ScheduledTime" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringInput": { + "additionalProperties": false, + "properties": { + "EndpointInput": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.EndpointInput" + } + }, + "required": [ + "EndpointInput" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringInputs": { + "additionalProperties": false, + "properties": { + "MonitoringInputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringInput" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition": { + "additionalProperties": false, + "properties": { + "BaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.BaselineConfig" + }, + "Environment": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.Environment" + }, + "MonitoringAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification" + }, + "MonitoringInputs": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringInputs" + }, + "MonitoringOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig" + }, + "MonitoringResources": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringResources" + }, + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.NetworkConfig" + }, + "RoleArn": { + "type": "string" + }, + "StoppingCondition": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StoppingCondition" + } + }, + "required": [ + "MonitoringAppSpecification", + "MonitoringInputs", + "MonitoringOutputConfig", + "MonitoringResources", + "RoleArn" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringOutput": { + "additionalProperties": false, + "properties": { + "S3Output": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.S3Output" + } + }, + "required": [ + "S3Output" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "MonitoringOutputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutput" + }, + "type": "array" + } + }, + "required": [ + "MonitoringOutputs" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringResources": { + "additionalProperties": false, + "properties": { + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ClusterConfig" + } + }, + "required": [ + "ClusterConfig" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig": { + "additionalProperties": false, + "properties": { + "MonitoringJobDefinition": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition" + }, + "ScheduleConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ScheduleConfig" + } + }, + "required": [ + "MonitoringJobDefinition" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.NetworkConfig": { + "additionalProperties": false, + "properties": { + "EnableInterContainerTrafficEncryption": { + "type": "boolean" + }, + "EnableNetworkIsolation": { + "type": "boolean" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.VpcConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.S3Output": { + "additionalProperties": false, + "properties": { + "LocalPath": { + "type": "string" + }, + "S3UploadMode": { + "type": "string" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "LocalPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.ScheduleConfig": { + "additionalProperties": false, + "properties": { + "ScheduleExpression": { + "type": "string" + } + }, + "required": [ + "ScheduleExpression" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.StatisticsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.StoppingCondition": { + "additionalProperties": false, + "properties": { + "MaxRuntimeInSeconds": { + "type": "number" + } + }, + "required": [ + "MaxRuntimeInSeconds" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.VpcConfig": { "additionalProperties": false, "properties": { "SecurityGroupIds": { @@ -62668,142 +65239,213 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "MemberDefinitions": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Workteam.MemberDefinition" - }, - "type": "array" - }, - "NotificationConfiguration": { - "$ref": "#/definitions/AWS::SageMaker::Workteam.NotificationConfiguration" + "Description": { + "type": "string" + }, + "MemberDefinitions": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Workteam.MemberDefinition" + }, + "type": "array" + }, + "NotificationConfiguration": { + "$ref": "#/definitions/AWS::SageMaker::Workteam.NotificationConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "WorkteamName": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::Workteam" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SageMaker::Workteam.CognitoMemberDefinition": { + "additionalProperties": false, + "properties": { + "CognitoClientId": { + "type": "string" + }, + "CognitoUserGroup": { + "type": "string" + }, + "CognitoUserPool": { + "type": "string" + } + }, + "required": [ + "CognitoClientId", + "CognitoUserGroup", + "CognitoUserPool" + ], + "type": "object" + }, + "AWS::SageMaker::Workteam.MemberDefinition": { + "additionalProperties": false, + "properties": { + "CognitoMemberDefinition": { + "$ref": "#/definitions/AWS::SageMaker::Workteam.CognitoMemberDefinition" + } + }, + "required": [ + "CognitoMemberDefinition" + ], + "type": "object" + }, + "AWS::SageMaker::Workteam.NotificationConfiguration": { + "additionalProperties": false, + "properties": { + "NotificationTopicArn": { + "type": "string" + } + }, + "required": [ + "NotificationTopicArn" + ], + "type": "object" + }, + "AWS::SecretsManager::ResourcePolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourcePolicy": { + "type": "object" + }, + "SecretId": { + "type": "string" + } + }, + "required": [ + "ResourcePolicy", + "SecretId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecretsManager::ResourcePolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SecretsManager::RotationSchedule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "HostedRotationLambda": { + "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.HostedRotationLambda" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "WorkteamName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::Workteam" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SageMaker::Workteam.CognitoMemberDefinition": { - "additionalProperties": false, - "properties": { - "CognitoClientId": { - "type": "string" - }, - "CognitoUserGroup": { - "type": "string" - }, - "CognitoUserPool": { - "type": "string" - } - }, - "required": [ - "CognitoClientId", - "CognitoUserGroup", - "CognitoUserPool" - ], - "type": "object" - }, - "AWS::SageMaker::Workteam.MemberDefinition": { - "additionalProperties": false, - "properties": { - "CognitoMemberDefinition": { - "$ref": "#/definitions/AWS::SageMaker::Workteam.CognitoMemberDefinition" - } - }, - "required": [ - "CognitoMemberDefinition" - ], - "type": "object" - }, - "AWS::SageMaker::Workteam.NotificationConfiguration": { - "additionalProperties": false, - "properties": { - "NotificationTopicArn": { - "type": "string" - } - }, - "required": [ - "NotificationTopicArn" - ], - "type": "object" - }, - "AWS::SecretsManager::ResourcePolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "RotationLambdaARN": { "type": "string" }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourcePolicy": { - "type": "object" + "RotationRules": { + "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.RotationRules" }, "SecretId": { "type": "string" } }, "required": [ - "ResourcePolicy", "SecretId" ], "type": "object" }, "Type": { "enum": [ - "AWS::SecretsManager::ResourcePolicy" + "AWS::SecretsManager::RotationSchedule" ], "type": "string" }, @@ -62822,71 +65464,33 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::SecretsManager::RotationSchedule": { + "AWS::SecretsManager::RotationSchedule.HostedRotationLambda": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "KmsKeyArn": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "MasterSecretArn": { + "type": "string" }, - "Metadata": { - "type": "object" + "MasterSecretKmsKeyArn": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "RotationLambdaARN": { - "type": "string" - }, - "RotationRules": { - "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.RotationRules" - }, - "SecretId": { - "type": "string" - } - }, - "required": [ - "SecretId" - ], - "type": "object" + "RotationLambdaName": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::SecretsManager::RotationSchedule" - ], + "RotationType": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "VpcSecurityGroupIds": { + "type": "string" + }, + "VpcSubnetIds": { "type": "string" } }, "required": [ - "Type", - "Properties" + "RotationType" ], "type": "object" }, @@ -63432,6 +66036,10 @@ var CloudformationSchema = `{ "type": "string" } }, + "required": [ + "Key", + "Value" + ], "type": "object" }, "AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningPreferences": { @@ -64873,6 +67481,9 @@ var CloudformationSchema = `{ "$ref": "#/definitions/AWS::StepFunctions::StateMachine.TagsEntry" }, "type": "array" + }, + "TracingConfiguration": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachine.TracingConfiguration" } }, "required": [ @@ -64908,9 +67519,6 @@ var CloudformationSchema = `{ "type": "string" } }, - "required": [ - "LogGroupArn" - ], "type": "object" }, "AWS::StepFunctions::StateMachine.DefinitionSubstitutions": { @@ -64980,6 +67588,15 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::StepFunctions::StateMachine.TracingConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::Synthetics::Canary": { "additionalProperties": false, "properties": { @@ -65057,7 +67674,6 @@ var CloudformationSchema = `{ "Code", "ExecutionRoleArn", "Name", - "RunConfig", "RuntimeVersion", "Schedule", "StartCanaryAfterCreation" @@ -65109,6 +67725,9 @@ var CloudformationSchema = `{ "AWS::Synthetics::Canary.RunConfig": { "additionalProperties": false, "properties": { + "MemoryInMB": { + "type": "number" + }, "TimeoutInSeconds": { "type": "number" } @@ -65129,7 +67748,6 @@ var CloudformationSchema = `{ } }, "required": [ - "DurationInSeconds", "Expression" ], "type": "object" @@ -65215,6 +67833,9 @@ var CloudformationSchema = `{ }, "type": "array" }, + "SecurityPolicyName": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -67463,6 +70084,22 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::WAFv2::RuleGroup.ForwardedIPConfiguration": { + "additionalProperties": false, + "properties": { + "FallbackBehavior": { + "type": "string" + }, + "HeaderName": { + "type": "string" + } + }, + "required": [ + "FallbackBehavior", + "HeaderName" + ], + "type": "object" + }, "AWS::WAFv2::RuleGroup.GeoMatchStatement": { "additionalProperties": false, "properties": { @@ -67471,8 +70108,31 @@ var CloudformationSchema = `{ "type": "string" }, "type": "array" + }, + "ForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.ForwardedIPConfiguration" + } + }, + "type": "object" + }, + "AWS::WAFv2::RuleGroup.IPSetForwardedIPConfiguration": { + "additionalProperties": false, + "properties": { + "FallbackBehavior": { + "type": "string" + }, + "HeaderName": { + "type": "string" + }, + "Position": { + "type": "string" } }, + "required": [ + "FallbackBehavior", + "HeaderName", + "Position" + ], "type": "object" }, "AWS::WAFv2::RuleGroup.IPSetReferenceStatement": { @@ -67480,6 +70140,9 @@ var CloudformationSchema = `{ "properties": { "Arn": { "type": "string" + }, + "IPSetForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.IPSetForwardedIPConfiguration" } }, "required": [ @@ -67547,6 +70210,9 @@ var CloudformationSchema = `{ "AggregateKeyType": { "type": "string" }, + "ForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.ForwardedIPConfiguration" + }, "Limit": { "type": "number" }, @@ -67566,6 +70232,9 @@ var CloudformationSchema = `{ "AggregateKeyType": { "type": "string" }, + "ForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.ForwardedIPConfiguration" + }, "Limit": { "type": "number" }, @@ -68048,6 +70717,22 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::WAFv2::WebACL.ForwardedIPConfiguration": { + "additionalProperties": false, + "properties": { + "FallbackBehavior": { + "type": "string" + }, + "HeaderName": { + "type": "string" + } + }, + "required": [ + "FallbackBehavior", + "HeaderName" + ], + "type": "object" + }, "AWS::WAFv2::WebACL.GeoMatchStatement": { "additionalProperties": false, "properties": { @@ -68056,15 +70741,41 @@ var CloudformationSchema = `{ "type": "string" }, "type": "array" + }, + "ForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ForwardedIPConfiguration" } }, "type": "object" }, + "AWS::WAFv2::WebACL.IPSetForwardedIPConfiguration": { + "additionalProperties": false, + "properties": { + "FallbackBehavior": { + "type": "string" + }, + "HeaderName": { + "type": "string" + }, + "Position": { + "type": "string" + } + }, + "required": [ + "FallbackBehavior", + "HeaderName", + "Position" + ], + "type": "object" + }, "AWS::WAFv2::WebACL.IPSetReferenceStatement": { "additionalProperties": false, "properties": { "Arn": { "type": "string" + }, + "IPSetForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.IPSetForwardedIPConfiguration" } }, "required": [ @@ -68166,6 +70877,9 @@ var CloudformationSchema = `{ "AggregateKeyType": { "type": "string" }, + "ForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ForwardedIPConfiguration" + }, "Limit": { "type": "number" }, @@ -68185,6 +70899,9 @@ var CloudformationSchema = `{ "AggregateKeyType": { "type": "string" }, + "ForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ForwardedIPConfiguration" + }, "Limit": { "type": "number" }, @@ -69066,6 +71783,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::ApiGatewayV2::Api" }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides" + }, { "$ref": "#/definitions/AWS::ApiGatewayV2::ApiMapping" }, @@ -69096,6 +71816,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::ApiGatewayV2::Stage" }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::VpcLink" + }, { "$ref": "#/definitions/AWS::AppConfig::Application" }, @@ -69114,12 +71837,18 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::AppConfig::HostedConfigurationVersion" }, + { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute" + }, { "$ref": "#/definitions/AWS::AppMesh::Mesh" }, { "$ref": "#/definitions/AWS::AppMesh::Route" }, + { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway" + }, { "$ref": "#/definitions/AWS::AppMesh::VirtualNode" }, @@ -69177,6 +71906,12 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy" }, + { + "$ref": "#/definitions/AWS::ApplicationInsights::Application" + }, + { + "$ref": "#/definitions/AWS::Athena::DataCatalog" + }, { "$ref": "#/definitions/AWS::Athena::NamedQuery" }, @@ -69450,6 +72185,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::EC2::CapacityReservation" }, + { + "$ref": "#/definitions/AWS::EC2::CarrierGateway" + }, { "$ref": "#/definitions/AWS::EC2::ClientVpnAuthorizationRule" }, @@ -69525,6 +72263,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::EC2::PlacementGroup" }, + { + "$ref": "#/definitions/AWS::EC2::PrefixList" + }, { "$ref": "#/definitions/AWS::EC2::Route" }, @@ -70254,6 +72995,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::QLDB::Ledger" }, + { + "$ref": "#/definitions/AWS::QLDB::Stream" + }, { "$ref": "#/definitions/AWS::RAM::ResourceShare" }, @@ -70428,6 +73172,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::SageMaker::Model" }, + { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule" + }, { "$ref": "#/definitions/AWS::SageMaker::NotebookInstance" }, diff --git a/schema/cloudformation.schema.json b/schema/cloudformation.schema.json index eda7205073..a554741b4b 100644 --- a/schema/cloudformation.schema.json +++ b/schema/cloudformation.schema.json @@ -486,6 +486,9 @@ "Properties": { "additionalProperties": false, "properties": { + "AuthenticationStrategy": { + "type": "string" + }, "AutoMinorVersionUpgrade": { "type": "boolean" }, @@ -510,6 +513,12 @@ "HostInstanceType": { "type": "string" }, + "LdapMetadata": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.LdapMetadata" + }, + "LdapServerMetadata": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.LdapServerMetadata" + }, "Logs": { "$ref": "#/definitions/AWS::AmazonMQ::Broker.LogList" }, @@ -611,6 +620,91 @@ ], "type": "object" }, + "AWS::AmazonMQ::Broker.InterBrokerCred": { + "additionalProperties": false, + "properties": { + "Password": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "Password", + "Username" + ], + "type": "object" + }, + "AWS::AmazonMQ::Broker.LdapMetadata": { + "additionalProperties": false, + "properties": { + "InterBrokerCreds": { + "items": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.InterBrokerCred" + }, + "type": "array" + }, + "ServerMetadata": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.ServerMetadata" + } + }, + "required": [ + "ServerMetadata" + ], + "type": "object" + }, + "AWS::AmazonMQ::Broker.LdapServerMetadata": { + "additionalProperties": false, + "properties": { + "Hosts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RoleBase": { + "type": "string" + }, + "RoleName": { + "type": "string" + }, + "RoleSearchMatching": { + "type": "string" + }, + "RoleSearchSubtree": { + "type": "boolean" + }, + "ServiceAccountPassword": { + "type": "string" + }, + "ServiceAccountUsername": { + "type": "string" + }, + "UserBase": { + "type": "string" + }, + "UserRoleName": { + "type": "string" + }, + "UserSearchMatching": { + "type": "string" + }, + "UserSearchSubtree": { + "type": "boolean" + } + }, + "required": [ + "Hosts", + "RoleBase", + "RoleSearchMatching", + "ServiceAccountPassword", + "ServiceAccountUsername", + "UserBase", + "UserSearchMatching" + ], + "type": "object" + }, "AWS::AmazonMQ::Broker.LogList": { "additionalProperties": false, "properties": { @@ -643,6 +737,57 @@ ], "type": "object" }, + "AWS::AmazonMQ::Broker.ServerMetadata": { + "additionalProperties": false, + "properties": { + "Hosts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RoleBase": { + "type": "string" + }, + "RoleName": { + "type": "string" + }, + "RoleSearchMatching": { + "type": "string" + }, + "RoleSearchSubtree": { + "type": "boolean" + }, + "ServiceAccountPassword": { + "type": "string" + }, + "ServiceAccountUsername": { + "type": "string" + }, + "UserBase": { + "type": "string" + }, + "UserRoleName": { + "type": "string" + }, + "UserSearchMatching": { + "type": "string" + }, + "UserSearchSubtree": { + "type": "boolean" + } + }, + "required": [ + "Hosts", + "RoleBase", + "RoleSearchMatching", + "ServiceAccountPassword", + "ServiceAccountUsername", + "UserBase", + "UserSearchMatching" + ], + "type": "object" + }, "AWS::AmazonMQ::Broker.TagsEntry": { "additionalProperties": false, "properties": { @@ -918,6 +1063,9 @@ "Description": { "type": "string" }, + "EnableBranchAutoDeletion": { + "type": "boolean" + }, "EnvironmentVariables": { "items": { "$ref": "#/definitions/AWS::Amplify::App.EnvironmentVariable" @@ -1230,9 +1378,21 @@ "AppId": { "type": "string" }, + "AutoSubDomainCreationPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AutoSubDomainIAMRole": { + "type": "string" + }, "DomainName": { "type": "string" }, + "EnableAutoSubDomain": { + "type": "boolean" + }, "SubDomainSettings": { "items": { "$ref": "#/definitions/AWS::Amplify::Domain.SubDomainSetting" @@ -2120,9 +2280,6 @@ "type": "array" } }, - "required": [ - "DomainName" - ], "type": "object" }, "Type": { @@ -2141,8 +2298,7 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -3463,6 +3619,176 @@ }, "type": "object" }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "Integration": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.IntegrationOverrides" + }, + "Route": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteOverrides" + }, + "Stage": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.StageOverrides" + } + }, + "required": [ + "ApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.AccessLogSettings": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + }, + "Format": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.IntegrationOverrides": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "IntegrationMethod": { + "type": "string" + }, + "PayloadFormatVersion": { + "type": "string" + }, + "TimeoutInMillis": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteOverrides": { + "additionalProperties": false, + "properties": { + "AuthorizationScopes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AuthorizationType": { + "type": "string" + }, + "AuthorizerId": { + "type": "string" + }, + "OperationName": { + "type": "string" + }, + "Target": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteSettings": { + "additionalProperties": false, + "properties": { + "DataTraceEnabled": { + "type": "boolean" + }, + "DetailedMetricsEnabled": { + "type": "boolean" + }, + "LoggingLevel": { + "type": "string" + }, + "ThrottlingBurstLimit": { + "type": "number" + }, + "ThrottlingRateLimit": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.StageOverrides": { + "additionalProperties": false, + "properties": { + "AccessLogSettings": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.AccessLogSettings" + }, + "AutoDeploy": { + "type": "boolean" + }, + "DefaultRouteSettings": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteSettings" + }, + "Description": { + "type": "string" + }, + "RouteSettings": { + "type": "object" + }, + "StageVariables": { + "type": "object" + } + }, + "type": "object" + }, "AWS::ApiGatewayV2::ApiMapping": { "additionalProperties": false, "properties": { @@ -4400,6 +4726,84 @@ }, "type": "object" }, + "AWS::ApiGatewayV2::VpcLink": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Name", + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::VpcLink" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::AppConfig::Application": { "additionalProperties": false, "properties": { @@ -4980,6 +5384,205 @@ ], "type": "object" }, + "AWS::AppMesh::GatewayRoute": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GatewayRouteName": { + "type": "string" + }, + "MeshName": { + "type": "string" + }, + "MeshOwner": { + "type": "string" + }, + "Spec": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteSpec" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VirtualGatewayName": { + "type": "string" + } + }, + "required": [ + "GatewayRouteName", + "MeshName", + "Spec", + "VirtualGatewayName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppMesh::GatewayRoute" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GatewayRouteSpec": { + "additionalProperties": false, + "properties": { + "GrpcRoute": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRoute" + }, + "Http2Route": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRoute" + }, + "HttpRoute": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRoute" + } + }, + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GatewayRouteTarget": { + "additionalProperties": false, + "properties": { + "VirtualService": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteVirtualService" + } + }, + "required": [ + "VirtualService" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GatewayRouteVirtualService": { + "additionalProperties": false, + "properties": { + "VirtualServiceName": { + "type": "string" + } + }, + "required": [ + "VirtualServiceName" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GrpcGatewayRoute": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteAction" + }, + "Match": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMatch" + } + }, + "required": [ + "Action", + "Match" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteAction": { + "additionalProperties": false, + "properties": { + "Target": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteTarget" + } + }, + "required": [ + "Target" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMatch": { + "additionalProperties": false, + "properties": { + "ServiceName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.HttpGatewayRoute": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRouteAction" + }, + "Match": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRouteMatch" + } + }, + "required": [ + "Action", + "Match" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.HttpGatewayRouteAction": { + "additionalProperties": false, + "properties": { + "Target": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteTarget" + } + }, + "required": [ + "Target" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.HttpGatewayRouteMatch": { + "additionalProperties": false, + "properties": { + "Prefix": { + "type": "string" + } + }, + "required": [ + "Prefix" + ], + "type": "object" + }, "AWS::AppMesh::Mesh": { "additionalProperties": false, "properties": { @@ -5543,7 +6146,7 @@ ], "type": "object" }, - "AWS::AppMesh::VirtualNode": { + "AWS::AppMesh::VirtualGateway": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -5582,7 +6185,7 @@ "type": "string" }, "Spec": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeSpec" + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewaySpec" }, "Tags": { "items": { @@ -5590,20 +6193,20 @@ }, "type": "array" }, - "VirtualNodeName": { + "VirtualGatewayName": { "type": "string" } }, "required": [ "MeshName", "Spec", - "VirtualNodeName" + "VirtualGatewayName" ], "type": "object" }, "Type": { "enum": [ - "AWS::AppMesh::VirtualNode" + "AWS::AppMesh::VirtualGateway" ], "type": "string" }, @@ -5622,81 +6225,34 @@ ], "type": "object" }, - "AWS::AppMesh::VirtualNode.AccessLog": { + "AWS::AppMesh::VirtualGateway.VirtualGatewayAccessLog": { "additionalProperties": false, "properties": { "File": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.FileAccessLog" + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayFileAccessLog" } }, "type": "object" }, - "AWS::AppMesh::VirtualNode.AwsCloudMapInstanceAttribute": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.AwsCloudMapServiceDiscovery": { - "additionalProperties": false, - "properties": { - "Attributes": { - "items": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.AwsCloudMapInstanceAttribute" - }, - "type": "array" - }, - "NamespaceName": { - "type": "string" - }, - "ServiceName": { - "type": "string" - } - }, - "required": [ - "NamespaceName", - "ServiceName" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.Backend": { - "additionalProperties": false, - "properties": { - "VirtualService": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualServiceBackend" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.BackendDefaults": { + "AWS::AppMesh::VirtualGateway.VirtualGatewayBackendDefaults": { "additionalProperties": false, "properties": { "ClientPolicy": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicy" + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicy" } }, "type": "object" }, - "AWS::AppMesh::VirtualNode.ClientPolicy": { + "AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicy": { "additionalProperties": false, "properties": { "TLS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicyTls" + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicyTls" } }, "type": "object" }, - "AWS::AppMesh::VirtualNode.ClientPolicyTls": { + "AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicyTls": { "additionalProperties": false, "properties": { "Enforce": { @@ -5709,7 +6265,7 @@ "type": "array" }, "Validation": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContext" + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContext" } }, "required": [ @@ -5717,35 +6273,7 @@ ], "type": "object" }, - "AWS::AppMesh::VirtualNode.DnsServiceDiscovery": { - "additionalProperties": false, - "properties": { - "Hostname": { - "type": "string" - } - }, - "required": [ - "Hostname" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.Duration": { - "additionalProperties": false, - "properties": { - "Unit": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "required": [ - "Unit", - "Value" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.FileAccessLog": { + "AWS::AppMesh::VirtualGateway.VirtualGatewayFileAccessLog": { "additionalProperties": false, "properties": { "Path": { @@ -5757,19 +6285,438 @@ ], "type": "object" }, - "AWS::AppMesh::VirtualNode.GrpcTimeout": { - "additionalProperties": false, - "properties": { - "Idle": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" - }, - "PerRequest": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.HealthCheck": { + "AWS::AppMesh::VirtualGateway.VirtualGatewayHealthCheckPolicy": { + "additionalProperties": false, + "properties": { + "HealthyThreshold": { + "type": "number" + }, + "IntervalMillis": { + "type": "number" + }, + "Path": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "TimeoutMillis": { + "type": "number" + }, + "UnhealthyThreshold": { + "type": "number" + } + }, + "required": [ + "HealthyThreshold", + "IntervalMillis", + "Protocol", + "TimeoutMillis", + "UnhealthyThreshold" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListener": { + "additionalProperties": false, + "properties": { + "HealthCheck": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayHealthCheckPolicy" + }, + "PortMapping": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayPortMapping" + }, + "TLS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTls" + } + }, + "required": [ + "PortMapping" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTls": { + "additionalProperties": false, + "properties": { + "Certificate": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsCertificate" + }, + "Mode": { + "type": "string" + } + }, + "required": [ + "Certificate", + "Mode" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsAcmCertificate": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsCertificate": { + "additionalProperties": false, + "properties": { + "ACM": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsAcmCertificate" + }, + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsFileCertificate" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsFileCertificate": { + "additionalProperties": false, + "properties": { + "CertificateChain": { + "type": "string" + }, + "PrivateKey": { + "type": "string" + } + }, + "required": [ + "CertificateChain", + "PrivateKey" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayLogging": { + "additionalProperties": false, + "properties": { + "AccessLog": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayAccessLog" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayPortMapping": { + "additionalProperties": false, + "properties": { + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + } + }, + "required": [ + "Port", + "Protocol" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewaySpec": { + "additionalProperties": false, + "properties": { + "BackendDefaults": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayBackendDefaults" + }, + "Listeners": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListener" + }, + "type": "array" + }, + "Logging": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayLogging" + } + }, + "required": [ + "Listeners" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContext": { + "additionalProperties": false, + "properties": { + "Trust": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextTrust" + } + }, + "required": [ + "Trust" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextAcmTrust": { + "additionalProperties": false, + "properties": { + "CertificateAuthorityArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "CertificateAuthorityArns" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextFileTrust": { + "additionalProperties": false, + "properties": { + "CertificateChain": { + "type": "string" + } + }, + "required": [ + "CertificateChain" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextTrust": { + "additionalProperties": false, + "properties": { + "ACM": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextAcmTrust" + }, + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextFileTrust" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MeshName": { + "type": "string" + }, + "MeshOwner": { + "type": "string" + }, + "Spec": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeSpec" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VirtualNodeName": { + "type": "string" + } + }, + "required": [ + "MeshName", + "Spec", + "VirtualNodeName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppMesh::VirtualNode" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.AccessLog": { + "additionalProperties": false, + "properties": { + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.FileAccessLog" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.AwsCloudMapInstanceAttribute": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.AwsCloudMapServiceDiscovery": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.AwsCloudMapInstanceAttribute" + }, + "type": "array" + }, + "NamespaceName": { + "type": "string" + }, + "ServiceName": { + "type": "string" + } + }, + "required": [ + "NamespaceName", + "ServiceName" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.Backend": { + "additionalProperties": false, + "properties": { + "VirtualService": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualServiceBackend" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.BackendDefaults": { + "additionalProperties": false, + "properties": { + "ClientPolicy": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicy" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ClientPolicy": { + "additionalProperties": false, + "properties": { + "TLS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicyTls" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ClientPolicyTls": { + "additionalProperties": false, + "properties": { + "Enforce": { + "type": "boolean" + }, + "Ports": { + "items": { + "type": "number" + }, + "type": "array" + }, + "Validation": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContext" + } + }, + "required": [ + "Validation" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.DnsServiceDiscovery": { + "additionalProperties": false, + "properties": { + "Hostname": { + "type": "string" + } + }, + "required": [ + "Hostname" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.Duration": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.FileAccessLog": { + "additionalProperties": false, + "properties": { + "Path": { + "type": "string" + } + }, + "required": [ + "Path" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.GrpcTimeout": { + "additionalProperties": false, + "properties": { + "Idle": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + }, + "PerRequest": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.HealthCheck": { "additionalProperties": false, "properties": { "HealthyThreshold": { @@ -8314,6 +9261,441 @@ ], "type": "object" }, + "AWS::ApplicationInsights::Application": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoConfigurationEnabled": { + "type": "boolean" + }, + "CWEMonitorEnabled": { + "type": "boolean" + }, + "ComponentMonitoringSettings": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.ComponentMonitoringSetting" + }, + "type": "array" + }, + "CustomComponents": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.CustomComponent" + }, + "type": "array" + }, + "LogPatternSets": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.LogPatternSet" + }, + "type": "array" + }, + "OpsCenterEnabled": { + "type": "boolean" + }, + "OpsItemSNSTopicArn": { + "type": "string" + }, + "ResourceGroupName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ResourceGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApplicationInsights::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.Alarm": { + "additionalProperties": false, + "properties": { + "AlarmName": { + "type": "string" + }, + "Severity": { + "type": "string" + } + }, + "required": [ + "AlarmName" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.AlarmMetric": { + "additionalProperties": false, + "properties": { + "AlarmMetricName": { + "type": "string" + } + }, + "required": [ + "AlarmMetricName" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.ComponentConfiguration": { + "additionalProperties": false, + "properties": { + "ConfigurationDetails": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.ConfigurationDetails" + }, + "SubComponentTypeConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.SubComponentTypeConfiguration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ApplicationInsights::Application.ComponentMonitoringSetting": { + "additionalProperties": false, + "properties": { + "ComponentARN": { + "type": "string" + }, + "ComponentConfigurationMode": { + "type": "string" + }, + "ComponentName": { + "type": "string" + }, + "CustomComponentConfiguration": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.ComponentConfiguration" + }, + "DefaultOverwriteComponentConfiguration": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.ComponentConfiguration" + }, + "Tier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApplicationInsights::Application.ConfigurationDetails": { + "additionalProperties": false, + "properties": { + "AlarmMetrics": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.AlarmMetric" + }, + "type": "array" + }, + "Alarms": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.Alarm" + }, + "type": "array" + }, + "Logs": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.Log" + }, + "type": "array" + }, + "WindowsEvents": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.WindowsEvent" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ApplicationInsights::Application.CustomComponent": { + "additionalProperties": false, + "properties": { + "ComponentName": { + "type": "string" + }, + "ResourceList": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ComponentName", + "ResourceList" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.Log": { + "additionalProperties": false, + "properties": { + "Encoding": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "LogPath": { + "type": "string" + }, + "LogType": { + "type": "string" + }, + "PatternSet": { + "type": "string" + } + }, + "required": [ + "LogType" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.LogPattern": { + "additionalProperties": false, + "properties": { + "Pattern": { + "type": "string" + }, + "PatternName": { + "type": "string" + }, + "Rank": { + "type": "number" + } + }, + "required": [ + "Pattern", + "PatternName", + "Rank" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.LogPatternSet": { + "additionalProperties": false, + "properties": { + "LogPatterns": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.LogPattern" + }, + "type": "array" + }, + "PatternSetName": { + "type": "string" + } + }, + "required": [ + "LogPatterns", + "PatternSetName" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.SubComponentConfigurationDetails": { + "additionalProperties": false, + "properties": { + "AlarmMetrics": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.AlarmMetric" + }, + "type": "array" + }, + "Logs": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.Log" + }, + "type": "array" + }, + "WindowsEvents": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.WindowsEvent" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ApplicationInsights::Application.SubComponentTypeConfiguration": { + "additionalProperties": false, + "properties": { + "SubComponentConfigurationDetails": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.SubComponentConfigurationDetails" + }, + "SubComponentType": { + "type": "string" + } + }, + "required": [ + "SubComponentConfigurationDetails", + "SubComponentType" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.WindowsEvent": { + "additionalProperties": false, + "properties": { + "EventLevels": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EventName": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "PatternSet": { + "type": "string" + } + }, + "required": [ + "EventLevels", + "EventName", + "LogGroupName" + ], + "type": "object" + }, + "AWS::Athena::DataCatalog": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Tags": { + "$ref": "#/definitions/AWS::Athena::DataCatalog.Tags" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Athena::DataCatalog" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Athena::DataCatalog.Tags": { + "additionalProperties": false, + "properties": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::Athena::NamedQuery": { "additionalProperties": false, "properties": { @@ -8663,6 +10045,9 @@ "MixedInstancesPolicy": { "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.MixedInstancesPolicy" }, + "NewInstancesProtectedFromScaleIn": { + "type": "boolean" + }, "NotificationConfigurations": { "items": { "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.NotificationConfiguration" @@ -11944,6 +13329,9 @@ }, "type": "array" }, + "CachePolicyId": { + "type": "string" + }, "CachedMethods": { "items": { "type": "string" @@ -11974,6 +13362,9 @@ "MinTTL": { "type": "number" }, + "OriginRequestPolicyId": { + "type": "string" + }, "PathPattern": { "type": "string" }, @@ -11994,7 +13385,6 @@ } }, "required": [ - "ForwardedValues", "PathPattern", "TargetOriginId", "ViewerProtocolPolicy" @@ -12079,6 +13469,9 @@ }, "type": "array" }, + "CachePolicyId": { + "type": "string" + }, "CachedMethods": { "items": { "type": "string" @@ -12109,6 +13502,9 @@ "MinTTL": { "type": "number" }, + "OriginRequestPolicyId": { + "type": "string" + }, "SmoothStreaming": { "type": "boolean" }, @@ -12126,7 +13522,6 @@ } }, "required": [ - "ForwardedValues", "TargetOriginId", "ViewerProtocolPolicy" ], @@ -13393,6 +14788,9 @@ "BadgeEnabled": { "type": "boolean" }, + "BuildBatchConfig": { + "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectBuildBatchConfig" + }, "Cache": { "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectCache" }, @@ -13528,6 +14926,33 @@ ], "type": "object" }, + "AWS::CodeBuild::Project.BatchRestrictions": { + "additionalProperties": false, + "properties": { + "ComputeTypesAllowed": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaximumBuildsAllowed": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Project.BuildStatusConfig": { + "additionalProperties": false, + "properties": { + "Context": { + "type": "string" + }, + "TargetUrl": { + "type": "string" + } + }, + "type": "object" + }, "AWS::CodeBuild::Project.CloudWatchLogsConfig": { "additionalProperties": false, "properties": { @@ -13632,6 +15057,24 @@ }, "type": "object" }, + "AWS::CodeBuild::Project.ProjectBuildBatchConfig": { + "additionalProperties": false, + "properties": { + "CombineArtifacts": { + "type": "boolean" + }, + "Restrictions": { + "$ref": "#/definitions/AWS::CodeBuild::Project.BatchRestrictions" + }, + "ServiceRole": { + "type": "string" + }, + "TimeoutInMins": { + "type": "number" + } + }, + "type": "object" + }, "AWS::CodeBuild::Project.ProjectCache": { "additionalProperties": false, "properties": { @@ -13753,6 +15196,9 @@ "BuildSpec": { "type": "string" }, + "BuildStatusConfig": { + "$ref": "#/definitions/AWS::CodeBuild::Project.BuildStatusConfig" + }, "GitCloneDepth": { "type": "number" }, @@ -14105,6 +15551,9 @@ "AWS::CodeCommit::Repository.Code": { "additionalProperties": false, "properties": { + "BranchName": { + "type": "string" + }, "S3": { "$ref": "#/definitions/AWS::CodeCommit::Repository.S3" } @@ -14715,8 +16164,23 @@ "AgentPermissions": { "type": "object" }, + "AnomalyDetectionNotificationConfiguration": { + "items": { + "$ref": "#/definitions/AWS::CodeGuruProfiler::ProfilingGroup.Channel" + }, + "type": "array" + }, + "ComputePlatform": { + "type": "string" + }, "ProfilingGroupName": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -14745,6 +16209,21 @@ ], "type": "object" }, + "AWS::CodeGuruProfiler::ProfilingGroup.Channel": { + "additionalProperties": false, + "properties": { + "channelId": { + "type": "string" + }, + "channelUri": { + "type": "string" + } + }, + "required": [ + "channelUri" + ], + "type": "object" + }, "AWS::CodePipeline::CustomActionType": { "additionalProperties": false, "properties": { @@ -15466,6 +16945,9 @@ "ConnectionName": { "type": "string" }, + "HostArn": { + "type": "string" + }, "ProviderType": { "type": "string" }, @@ -15477,8 +16959,7 @@ } }, "required": [ - "ConnectionName", - "ProviderType" + "ConnectionName" ], "type": "object" }, @@ -20707,6 +22188,83 @@ }, "type": "object" }, + "AWS::EC2::CarrierGateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Tags": { + "$ref": "#/definitions/AWS::EC2::CarrierGateway.Tags" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::CarrierGateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::CarrierGateway.Tags": { + "additionalProperties": false, + "properties": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::EC2::ClientVpnAuthorizationRule": { "additionalProperties": false, "properties": { @@ -21811,15 +23369,27 @@ "LogDestinationType": { "type": "string" }, + "LogFormat": { + "type": "string" + }, "LogGroupName": { "type": "string" }, + "MaxAggregationInterval": { + "type": "number" + }, "ResourceId": { "type": "string" }, "ResourceType": { "type": "string" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "TrafficType": { "type": "string" } @@ -23746,6 +25316,103 @@ ], "type": "object" }, + "AWS::EC2::PrefixList": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AddressFamily": { + "type": "string" + }, + "Entries": { + "items": { + "$ref": "#/definitions/AWS::EC2::PrefixList.Entry" + }, + "type": "array" + }, + "MaxEntries": { + "type": "number" + }, + "PrefixListName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AddressFamily", + "MaxEntries", + "PrefixListName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::PrefixList" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::PrefixList.Entry": { + "additionalProperties": false, + "properties": { + "Cidr": { + "type": "string" + }, + "Description": { + "type": "string" + } + }, + "required": [ + "Cidr" + ], + "type": "object" + }, "AWS::EC2::Route": { "additionalProperties": false, "properties": { @@ -25407,6 +27074,9 @@ "DnsSupport": { "type": "string" }, + "MulticastSupport": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -26955,8 +28625,14 @@ "Properties": { "additionalProperties": false, "properties": { + "ImageScanningConfiguration": { + "type": "object" + }, + "ImageTagMutability": { + "type": "string" + }, "LifecyclePolicy": { - "$ref": "#/definitions/AWS::ECR::Repository.LifecyclePolicy" + "type": "object" }, "RepositoryName": { "type": "string" @@ -26993,18 +28669,6 @@ ], "type": "object" }, - "AWS::ECR::Repository.LifecyclePolicy": { - "additionalProperties": false, - "properties": { - "LifecyclePolicyText": { - "type": "string" - }, - "RegistryId": { - "type": "string" - } - }, - "type": "object" - }, "AWS::ECS::CapacityProvider": { "additionalProperties": false, "properties": { @@ -27627,6 +29291,9 @@ }, "type": "array" }, + "TaskDefinitionStatus": { + "type": "string" + }, "TaskRoleArn": { "type": "string" }, @@ -27659,6 +29326,18 @@ ], "type": "object" }, + "AWS::ECS::TaskDefinition.AuthorizationConfig": { + "additionalProperties": false, + "properties": { + "AccessPointId": { + "type": "string" + }, + "IAM": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ECS::TaskDefinition.ContainerDefinition": { "additionalProperties": false, "properties": { @@ -27719,6 +29398,12 @@ }, "type": "array" }, + "EnvironmentFiles": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.EnvironmentFile" + }, + "type": "array" + }, "Essential": { "type": "boolean" }, @@ -27843,10 +29528,6 @@ "type": "string" } }, - "required": [ - "Condition", - "ContainerName" - ], "type": "object" }, "AWS::ECS::TaskDefinition.Device": { @@ -27865,9 +29546,6 @@ "type": "array" } }, - "required": [ - "HostPath" - ], "type": "object" }, "AWS::ECS::TaskDefinition.DockerVolumeConfiguration": { @@ -27903,27 +29581,54 @@ }, "type": "object" }, - "AWS::ECS::TaskDefinition.FirelensConfiguration": { + "AWS::ECS::TaskDefinition.EFSVolumeConfiguration": { "additionalProperties": false, "properties": { - "Options": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, + "AuthorizationConfig": { "type": "object" }, - "Type": { + "FilesystemId": { + "type": "string" + }, + "RootDirectory": { "type": "string" + }, + "TransitEncryption": { + "type": "string" + }, + "TransitEncryptionPort": { + "type": "number" } }, "required": [ - "Type" + "FilesystemId" ], "type": "object" }, + "AWS::ECS::TaskDefinition.EnvironmentFile": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.FirelensConfiguration": { + "additionalProperties": false, + "properties": { + "Options": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Options" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ECS::TaskDefinition.HealthCheck": { "additionalProperties": false, "properties": { @@ -27946,9 +29651,6 @@ "type": "number" } }, - "required": [ - "Command" - ], "type": "object" }, "AWS::ECS::TaskDefinition.HostEntry": { @@ -27961,10 +29663,6 @@ "type": "string" } }, - "required": [ - "Hostname", - "IpAddress" - ], "type": "object" }, "AWS::ECS::TaskDefinition.HostVolumeProperties": { @@ -28058,13 +29756,7 @@ "type": "string" }, "Options": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Options" }, "SecretOptions": { "items": { @@ -28093,6 +29785,11 @@ }, "type": "object" }, + "AWS::ECS::TaskDefinition.Options": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::ECS::TaskDefinition.PortMapping": { "additionalProperties": false, "properties": { @@ -28180,10 +29877,6 @@ "type": "string" } }, - "required": [ - "Namespace", - "Value" - ], "type": "object" }, "AWS::ECS::TaskDefinition.TaskDefinitionPlacementConstraint": { @@ -28248,6 +29941,9 @@ "DockerVolumeConfiguration": { "$ref": "#/definitions/AWS::ECS::TaskDefinition.DockerVolumeConfiguration" }, + "EFSVolumeConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.EFSVolumeConfiguration" + }, "Host": { "$ref": "#/definitions/AWS::ECS::TaskDefinition.HostVolumeProperties" }, @@ -28622,6 +30318,9 @@ "Properties": { "additionalProperties": false, "properties": { + "BackupPolicy": { + "$ref": "#/definitions/AWS::EFS::FileSystem.BackupPolicy" + }, "Encrypted": { "type": "boolean" }, @@ -28675,6 +30374,18 @@ ], "type": "object" }, + "AWS::EFS::FileSystem.BackupPolicy": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, "AWS::EFS::FileSystem.ElasticFileSystemTag": { "additionalProperties": false, "properties": { @@ -28955,6 +30666,9 @@ "Labels": { "type": "object" }, + "LaunchTemplate": { + "$ref": "#/definitions/AWS::EKS::Nodegroup.LaunchTemplateSpecification" + }, "NodeRole": { "type": "string" }, @@ -29011,6 +30725,21 @@ ], "type": "object" }, + "AWS::EKS::Nodegroup.LaunchTemplateSpecification": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EKS::Nodegroup.RemoteAccess": { "additionalProperties": false, "properties": { @@ -31886,6 +33615,12 @@ "Properties": { "additionalProperties": false, "properties": { + "AlpnPolicy": { + "items": { + "type": "string" + }, + "type": "array" + }, "Certificates": { "items": { "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.Certificate" @@ -32977,9 +34712,15 @@ }, "type": "object" }, + "AdvancedSecurityOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.AdvancedSecurityOptionsInput" + }, "CognitoOptions": { "$ref": "#/definitions/AWS::Elasticsearch::Domain.CognitoOptions" }, + "DomainEndpointOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.DomainEndpointOptions" + }, "DomainName": { "type": "string" }, @@ -33042,6 +34783,21 @@ ], "type": "object" }, + "AWS::Elasticsearch::Domain.AdvancedSecurityOptionsInput": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "InternalUserDatabaseEnabled": { + "type": "boolean" + }, + "MasterUserOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.MasterUserOptions" + } + }, + "type": "object" + }, "AWS::Elasticsearch::Domain.CognitoOptions": { "additionalProperties": false, "properties": { @@ -33060,6 +34816,18 @@ }, "type": "object" }, + "AWS::Elasticsearch::Domain.DomainEndpointOptions": { + "additionalProperties": false, + "properties": { + "EnforceHTTPS": { + "type": "boolean" + }, + "TLSSecurityPolicy": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Elasticsearch::Domain.EBSOptions": { "additionalProperties": false, "properties": { @@ -33129,6 +34897,21 @@ }, "type": "object" }, + "AWS::Elasticsearch::Domain.MasterUserOptions": { + "additionalProperties": false, + "properties": { + "MasterUserARN": { + "type": "string" + }, + "MasterUserName": { + "type": "string" + }, + "MasterUserPassword": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Elasticsearch::Domain.NodeToNodeEncryptionOptions": { "additionalProperties": false, "properties": { @@ -34326,9 +36109,24 @@ "AWS::FSx::FileSystem.LustreConfiguration": { "additionalProperties": false, "properties": { + "AutoImportPolicy": { + "type": "string" + }, + "AutomaticBackupRetentionDays": { + "type": "number" + }, + "CopyTagsToBackups": { + "type": "boolean" + }, + "DailyAutomaticBackupStartTime": { + "type": "string" + }, "DeploymentType": { "type": "string" }, + "DriveCacheType": { + "type": "string" + }, "ExportPath": { "type": "string" }, @@ -40704,6 +42502,12 @@ "Platform": { "type": "string" }, + "SupportedOsVersions": { + "items": { + "type": "string" + }, + "type": "array" + }, "Tags": { "additionalProperties": true, "patternProperties": { @@ -40845,102 +42649,108 @@ "type": "string" } }, - "type": "object" - }, - "AWS::ImageBuilder::Image": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DistributionConfigurationArn": { - "type": "string" - }, - "ImageRecipeArn": { - "type": "string" - }, - "ImageTestsConfiguration": { - "$ref": "#/definitions/AWS::ImageBuilder::Image.ImageTestsConfiguration" - }, - "InfrastructureConfigurationArn": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "ImageRecipeArn", - "InfrastructureConfigurationArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ImageBuilder::Image" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, "required": [ - "Type", - "Properties" + "Region" ], "type": "object" }, - "AWS::ImageBuilder::Image.ImageTestsConfiguration": { - "additionalProperties": false, - "properties": { - "ImageTestsEnabled": { - "type": "boolean" - }, - "TimeoutMinutes": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ImagePipeline": { + "AWS::ImageBuilder::Image": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DistributionConfigurationArn": { + "type": "string" + }, + "EnhancedImageMetadataEnabled": { + "type": "boolean" + }, + "ImageRecipeArn": { + "type": "string" + }, + "ImageTestsConfiguration": { + "$ref": "#/definitions/AWS::ImageBuilder::Image.ImageTestsConfiguration" + }, + "InfrastructureConfigurationArn": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "ImageRecipeArn", + "InfrastructureConfigurationArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ImageBuilder::Image" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::Image.ImageTestsConfiguration": { + "additionalProperties": false, + "properties": { + "ImageTestsEnabled": { + "type": "boolean" + }, + "TimeoutMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImagePipeline": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -40978,6 +42788,9 @@ "DistributionConfigurationArn": { "type": "string" }, + "EnhancedImageMetadataEnabled": { + "type": "boolean" + }, "ImageRecipeArn": { "type": "string" }, @@ -41122,6 +42935,9 @@ }, "Version": { "type": "string" + }, + "WorkingDirectory": { + "type": "string" } }, "required": [ @@ -41260,6 +43076,15 @@ "Name": { "type": "string" }, + "ResourceTags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, "SecurityGroupIds": { "items": { "type": "string" @@ -41802,6 +43627,15 @@ "Properties": { "additionalProperties": false, "properties": { + "CACertificatePem": { + "type": "string" + }, + "CertificateMode": { + "type": "string" + }, + "CertificatePem": { + "type": "string" + }, "CertificateSigningRequest": { "type": "string" }, @@ -41810,7 +43644,6 @@ } }, "required": [ - "CertificateSigningRequest", "Status" ], "type": "object" @@ -42012,10 +43845,7 @@ "type": "string" }, "Tags": { - "items": { - "type": "object" - }, - "type": "array" + "$ref": "#/definitions/AWS::IoT::ProvisioningTemplate.Tags" }, "TemplateBody": { "type": "string" @@ -42063,6 +43893,18 @@ }, "type": "object" }, + "AWS::IoT::ProvisioningTemplate.Tags": { + "additionalProperties": false, + "properties": { + "Tags": { + "items": { + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::IoT::Thing": { "additionalProperties": false, "properties": { @@ -46230,6 +48072,9 @@ "ExtendedS3DestinationConfiguration": { "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ExtendedS3DestinationConfiguration" }, + "HttpEndpointDestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointDestinationConfiguration" + }, "KinesisStreamSourceConfiguration": { "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.KinesisStreamSourceConfiguration" }, @@ -46481,6 +48326,92 @@ }, "type": "object" }, + "AWS::KinesisFirehose::DeliveryStream.HttpEndpointCommonAttribute": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + }, + "AttributeValue": { + "type": "string" + } + }, + "required": [ + "AttributeName", + "AttributeValue" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.HttpEndpointConfiguration": { + "additionalProperties": false, + "properties": { + "AccessKey": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Url" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.HttpEndpointDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BufferingHints": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" + }, + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" + }, + "EndpointConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointConfiguration" + }, + "ProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" + }, + "RequestConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointRequestConfiguration" + }, + "RetryOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RetryOptions" + }, + "RoleARN": { + "type": "string" + }, + "S3BackupMode": { + "type": "string" + }, + "S3Configuration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + } + }, + "required": [ + "EndpointConfiguration", + "S3Configuration" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.HttpEndpointRequestConfiguration": { + "additionalProperties": false, + "properties": { + "CommonAttributes": { + "items": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointCommonAttribute" + }, + "type": "array" + }, + "ContentEncoding": { + "type": "string" + } + }, + "type": "object" + }, "AWS::KinesisFirehose::DeliveryStream.InputFormatConfiguration": { "additionalProperties": false, "properties": { @@ -46716,6 +48647,15 @@ }, "type": "object" }, + "AWS::KinesisFirehose::DeliveryStream.RetryOptions": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "number" + } + }, + "type": "object" + }, "AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration": { "additionalProperties": false, "properties": { @@ -47466,6 +49406,12 @@ }, "StartingPosition": { "type": "string" + }, + "Topics": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ @@ -47502,9 +49448,6 @@ "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.OnFailure" } }, - "required": [ - "OnFailure" - ], "type": "object" }, "AWS::Lambda::EventSourceMapping.OnFailure": { @@ -47514,9 +49457,6 @@ "type": "string" } }, - "required": [ - "Destination" - ], "type": "object" }, "AWS::Lambda::Function": { @@ -47563,6 +49503,12 @@ "Environment": { "$ref": "#/definitions/AWS::Lambda::Function.Environment" }, + "FileSystemConfigs": { + "items": { + "$ref": "#/definitions/AWS::Lambda::Function.FileSystemConfig" + }, + "type": "array" + }, "FunctionName": { "type": "string" }, @@ -47677,6 +49623,22 @@ }, "type": "object" }, + "AWS::Lambda::Function.FileSystemConfig": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "LocalMountPath": { + "type": "string" + } + }, + "required": [ + "Arn", + "LocalMountPath" + ], + "type": "object" + }, "AWS::Lambda::Function.TracingConfig": { "additionalProperties": false, "properties": { @@ -55193,7 +57155,7 @@ ], "type": "object" }, - "AWS::RAM::ResourceShare": { + "AWS::QLDB::Stream": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -55225,23 +57187,23 @@ "Properties": { "additionalProperties": false, "properties": { - "AllowExternalPrincipals": { - "type": "boolean" + "ExclusiveEndTime": { + "type": "string" }, - "Name": { + "InclusiveStartTime": { "type": "string" }, - "Principals": { - "items": { - "type": "string" - }, - "type": "array" + "KinesisConfiguration": { + "$ref": "#/definitions/AWS::QLDB::Stream.KinesisConfiguration" }, - "ResourceArns": { - "items": { - "type": "string" - }, - "type": "array" + "LedgerName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "StreamName": { + "type": "string" }, "Tags": { "items": { @@ -55251,13 +57213,17 @@ } }, "required": [ - "Name" + "InclusiveStartTime", + "KinesisConfiguration", + "LedgerName", + "RoleArn", + "StreamName" ], "type": "object" }, "Type": { "enum": [ - "AWS::RAM::ResourceShare" + "AWS::QLDB::Stream" ], "type": "string" }, @@ -55276,7 +57242,102 @@ ], "type": "object" }, - "AWS::RDS::DBCluster": { + "AWS::QLDB::Stream.KinesisConfiguration": { + "additionalProperties": false, + "properties": { + "AggregationEnabled": { + "type": "boolean" + }, + "StreamArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RAM::ResourceShare": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowExternalPrincipals": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Principals": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ResourceArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RAM::ResourceShare" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBCluster": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -56081,10 +58142,14 @@ }, "DBProxyName": { "type": "string" + }, + "TargetGroupName": { + "type": "string" } }, "required": [ - "DBProxyName" + "DBProxyName", + "TargetGroupName" ], "type": "object" }, @@ -60620,9 +62685,6 @@ "DisplayName": { "type": "string" }, - "FifoTopic": { - "type": "boolean" - }, "KmsMasterKeyId": { "type": "string" }, @@ -60944,6 +63006,9 @@ "Properties": { "additionalProperties": false, "properties": { + "ApplyOnlyAtCronInterval": { + "type": "boolean" + }, "AssociationName": { "type": "string" }, @@ -62235,6 +64300,9 @@ "Properties": { "additionalProperties": false, "properties": { + "DataCaptureConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.DataCaptureConfig" + }, "EndpointConfigName": { "type": "string" }, @@ -62280,6 +64348,68 @@ ], "type": "object" }, + "AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader": { + "additionalProperties": false, + "properties": { + "CsvContentTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "JsonContentTypes": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::EndpointConfig.CaptureOption": { + "additionalProperties": false, + "properties": { + "CaptureMode": { + "type": "string" + } + }, + "required": [ + "CaptureMode" + ], + "type": "object" + }, + "AWS::SageMaker::EndpointConfig.DataCaptureConfig": { + "additionalProperties": false, + "properties": { + "CaptureContentTypeHeader": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader" + }, + "CaptureOptions": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureOption" + }, + "type": "array" + }, + "DestinationS3Uri": { + "type": "string" + }, + "EnableCapture": { + "type": "boolean" + }, + "InitialSamplingPercentage": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" + } + }, + "required": [ + "CaptureOptions", + "DestinationS3Uri", + "InitialSamplingPercentage" + ], + "type": "object" + }, "AWS::SageMaker::EndpointConfig.ProductionVariant": { "additionalProperties": false, "properties": { @@ -62411,14 +64541,455 @@ }, "ModelDataUrl": { "type": "string" + }, + "ModelPackageName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::Model.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "Image" + "SecurityGroupIds", + "Subnets" ], "type": "object" }, - "AWS::SageMaker::Model.VpcConfig": { + "AWS::SageMaker::MonitoringSchedule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CreationTime": { + "type": "string" + }, + "EndpointName": { + "type": "string" + }, + "FailureReason": { + "type": "string" + }, + "LastModifiedTime": { + "type": "string" + }, + "LastMonitoringExecutionSummary": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary" + }, + "MonitoringScheduleArn": { + "type": "string" + }, + "MonitoringScheduleConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig" + }, + "MonitoringScheduleName": { + "type": "string" + }, + "MonitoringScheduleStatus": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "MonitoringScheduleConfig", + "MonitoringScheduleName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::MonitoringSchedule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.BaselineConfig": { + "additionalProperties": false, + "properties": { + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ConstraintsResource" + }, + "StatisticsResource": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StatisticsResource" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.ClusterConfig": { + "additionalProperties": false, + "properties": { + "InstanceCount": { + "type": "number" + }, + "InstanceType": { + "type": "string" + }, + "VolumeKmsKeyId": { + "type": "string" + }, + "VolumeSizeInGB": { + "type": "number" + } + }, + "required": [ + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.ConstraintsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.EndpointInput": { + "additionalProperties": false, + "properties": { + "EndpointName": { + "type": "string" + }, + "LocalPath": { + "type": "string" + }, + "S3DataDistributionType": { + "type": "string" + }, + "S3InputMode": { + "type": "string" + } + }, + "required": [ + "EndpointName", + "LocalPath" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.Environment": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification": { + "additionalProperties": false, + "properties": { + "ContainerArguments": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ContainerEntrypoint": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ImageUri": { + "type": "string" + }, + "PostAnalyticsProcessorSourceUri": { + "type": "string" + }, + "RecordPreprocessorSourceUri": { + "type": "string" + } + }, + "required": [ + "ImageUri" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary": { + "additionalProperties": false, + "properties": { + "CreationTime": { + "type": "string" + }, + "EndpointName": { + "type": "string" + }, + "FailureReason": { + "type": "string" + }, + "LastModifiedTime": { + "type": "string" + }, + "MonitoringExecutionStatus": { + "type": "string" + }, + "MonitoringScheduleName": { + "type": "string" + }, + "ProcessingJobArn": { + "type": "string" + }, + "ScheduledTime": { + "type": "string" + } + }, + "required": [ + "CreationTime", + "LastModifiedTime", + "MonitoringExecutionStatus", + "MonitoringScheduleName", + "ScheduledTime" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringInput": { + "additionalProperties": false, + "properties": { + "EndpointInput": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.EndpointInput" + } + }, + "required": [ + "EndpointInput" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringInputs": { + "additionalProperties": false, + "properties": { + "MonitoringInputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringInput" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition": { + "additionalProperties": false, + "properties": { + "BaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.BaselineConfig" + }, + "Environment": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.Environment" + }, + "MonitoringAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification" + }, + "MonitoringInputs": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringInputs" + }, + "MonitoringOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig" + }, + "MonitoringResources": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringResources" + }, + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.NetworkConfig" + }, + "RoleArn": { + "type": "string" + }, + "StoppingCondition": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StoppingCondition" + } + }, + "required": [ + "MonitoringAppSpecification", + "MonitoringInputs", + "MonitoringOutputConfig", + "MonitoringResources", + "RoleArn" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringOutput": { + "additionalProperties": false, + "properties": { + "S3Output": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.S3Output" + } + }, + "required": [ + "S3Output" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "MonitoringOutputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutput" + }, + "type": "array" + } + }, + "required": [ + "MonitoringOutputs" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringResources": { + "additionalProperties": false, + "properties": { + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ClusterConfig" + } + }, + "required": [ + "ClusterConfig" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig": { + "additionalProperties": false, + "properties": { + "MonitoringJobDefinition": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition" + }, + "ScheduleConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ScheduleConfig" + } + }, + "required": [ + "MonitoringJobDefinition" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.NetworkConfig": { + "additionalProperties": false, + "properties": { + "EnableInterContainerTrafficEncryption": { + "type": "boolean" + }, + "EnableNetworkIsolation": { + "type": "boolean" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.VpcConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.S3Output": { + "additionalProperties": false, + "properties": { + "LocalPath": { + "type": "string" + }, + "S3UploadMode": { + "type": "string" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "LocalPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.ScheduleConfig": { + "additionalProperties": false, + "properties": { + "ScheduleExpression": { + "type": "string" + } + }, + "required": [ + "ScheduleExpression" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.StatisticsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.StoppingCondition": { + "additionalProperties": false, + "properties": { + "MaxRuntimeInSeconds": { + "type": "number" + } + }, + "required": [ + "MaxRuntimeInSeconds" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.VpcConfig": { "additionalProperties": false, "properties": { "SecurityGroupIds": { @@ -62665,142 +65236,213 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "MemberDefinitions": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Workteam.MemberDefinition" - }, - "type": "array" - }, - "NotificationConfiguration": { - "$ref": "#/definitions/AWS::SageMaker::Workteam.NotificationConfiguration" + "Description": { + "type": "string" + }, + "MemberDefinitions": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Workteam.MemberDefinition" + }, + "type": "array" + }, + "NotificationConfiguration": { + "$ref": "#/definitions/AWS::SageMaker::Workteam.NotificationConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "WorkteamName": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::Workteam" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SageMaker::Workteam.CognitoMemberDefinition": { + "additionalProperties": false, + "properties": { + "CognitoClientId": { + "type": "string" + }, + "CognitoUserGroup": { + "type": "string" + }, + "CognitoUserPool": { + "type": "string" + } + }, + "required": [ + "CognitoClientId", + "CognitoUserGroup", + "CognitoUserPool" + ], + "type": "object" + }, + "AWS::SageMaker::Workteam.MemberDefinition": { + "additionalProperties": false, + "properties": { + "CognitoMemberDefinition": { + "$ref": "#/definitions/AWS::SageMaker::Workteam.CognitoMemberDefinition" + } + }, + "required": [ + "CognitoMemberDefinition" + ], + "type": "object" + }, + "AWS::SageMaker::Workteam.NotificationConfiguration": { + "additionalProperties": false, + "properties": { + "NotificationTopicArn": { + "type": "string" + } + }, + "required": [ + "NotificationTopicArn" + ], + "type": "object" + }, + "AWS::SecretsManager::ResourcePolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourcePolicy": { + "type": "object" + }, + "SecretId": { + "type": "string" + } + }, + "required": [ + "ResourcePolicy", + "SecretId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecretsManager::ResourcePolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SecretsManager::RotationSchedule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "HostedRotationLambda": { + "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.HostedRotationLambda" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "WorkteamName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::Workteam" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SageMaker::Workteam.CognitoMemberDefinition": { - "additionalProperties": false, - "properties": { - "CognitoClientId": { - "type": "string" - }, - "CognitoUserGroup": { - "type": "string" - }, - "CognitoUserPool": { - "type": "string" - } - }, - "required": [ - "CognitoClientId", - "CognitoUserGroup", - "CognitoUserPool" - ], - "type": "object" - }, - "AWS::SageMaker::Workteam.MemberDefinition": { - "additionalProperties": false, - "properties": { - "CognitoMemberDefinition": { - "$ref": "#/definitions/AWS::SageMaker::Workteam.CognitoMemberDefinition" - } - }, - "required": [ - "CognitoMemberDefinition" - ], - "type": "object" - }, - "AWS::SageMaker::Workteam.NotificationConfiguration": { - "additionalProperties": false, - "properties": { - "NotificationTopicArn": { - "type": "string" - } - }, - "required": [ - "NotificationTopicArn" - ], - "type": "object" - }, - "AWS::SecretsManager::ResourcePolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "RotationLambdaARN": { "type": "string" }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourcePolicy": { - "type": "object" + "RotationRules": { + "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.RotationRules" }, "SecretId": { "type": "string" } }, "required": [ - "ResourcePolicy", "SecretId" ], "type": "object" }, "Type": { "enum": [ - "AWS::SecretsManager::ResourcePolicy" + "AWS::SecretsManager::RotationSchedule" ], "type": "string" }, @@ -62819,71 +65461,33 @@ ], "type": "object" }, - "AWS::SecretsManager::RotationSchedule": { + "AWS::SecretsManager::RotationSchedule.HostedRotationLambda": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "KmsKeyArn": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "MasterSecretArn": { + "type": "string" }, - "Metadata": { - "type": "object" + "MasterSecretKmsKeyArn": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "RotationLambdaARN": { - "type": "string" - }, - "RotationRules": { - "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.RotationRules" - }, - "SecretId": { - "type": "string" - } - }, - "required": [ - "SecretId" - ], - "type": "object" + "RotationLambdaName": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::SecretsManager::RotationSchedule" - ], + "RotationType": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "VpcSecurityGroupIds": { + "type": "string" + }, + "VpcSubnetIds": { "type": "string" } }, "required": [ - "Type", - "Properties" + "RotationType" ], "type": "object" }, @@ -63429,6 +66033,10 @@ "type": "string" } }, + "required": [ + "Key", + "Value" + ], "type": "object" }, "AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningPreferences": { @@ -64870,6 +67478,9 @@ "$ref": "#/definitions/AWS::StepFunctions::StateMachine.TagsEntry" }, "type": "array" + }, + "TracingConfiguration": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachine.TracingConfiguration" } }, "required": [ @@ -64905,9 +67516,6 @@ "type": "string" } }, - "required": [ - "LogGroupArn" - ], "type": "object" }, "AWS::StepFunctions::StateMachine.DefinitionSubstitutions": { @@ -64977,6 +67585,15 @@ ], "type": "object" }, + "AWS::StepFunctions::StateMachine.TracingConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::Synthetics::Canary": { "additionalProperties": false, "properties": { @@ -65054,7 +67671,6 @@ "Code", "ExecutionRoleArn", "Name", - "RunConfig", "RuntimeVersion", "Schedule", "StartCanaryAfterCreation" @@ -65106,6 +67722,9 @@ "AWS::Synthetics::Canary.RunConfig": { "additionalProperties": false, "properties": { + "MemoryInMB": { + "type": "number" + }, "TimeoutInSeconds": { "type": "number" } @@ -65126,7 +67745,6 @@ } }, "required": [ - "DurationInSeconds", "Expression" ], "type": "object" @@ -65212,6 +67830,9 @@ }, "type": "array" }, + "SecurityPolicyName": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -67460,6 +70081,22 @@ }, "type": "object" }, + "AWS::WAFv2::RuleGroup.ForwardedIPConfiguration": { + "additionalProperties": false, + "properties": { + "FallbackBehavior": { + "type": "string" + }, + "HeaderName": { + "type": "string" + } + }, + "required": [ + "FallbackBehavior", + "HeaderName" + ], + "type": "object" + }, "AWS::WAFv2::RuleGroup.GeoMatchStatement": { "additionalProperties": false, "properties": { @@ -67468,8 +70105,31 @@ "type": "string" }, "type": "array" + }, + "ForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.ForwardedIPConfiguration" + } + }, + "type": "object" + }, + "AWS::WAFv2::RuleGroup.IPSetForwardedIPConfiguration": { + "additionalProperties": false, + "properties": { + "FallbackBehavior": { + "type": "string" + }, + "HeaderName": { + "type": "string" + }, + "Position": { + "type": "string" } }, + "required": [ + "FallbackBehavior", + "HeaderName", + "Position" + ], "type": "object" }, "AWS::WAFv2::RuleGroup.IPSetReferenceStatement": { @@ -67477,6 +70137,9 @@ "properties": { "Arn": { "type": "string" + }, + "IPSetForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.IPSetForwardedIPConfiguration" } }, "required": [ @@ -67544,6 +70207,9 @@ "AggregateKeyType": { "type": "string" }, + "ForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.ForwardedIPConfiguration" + }, "Limit": { "type": "number" }, @@ -67563,6 +70229,9 @@ "AggregateKeyType": { "type": "string" }, + "ForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.ForwardedIPConfiguration" + }, "Limit": { "type": "number" }, @@ -68045,6 +70714,22 @@ }, "type": "object" }, + "AWS::WAFv2::WebACL.ForwardedIPConfiguration": { + "additionalProperties": false, + "properties": { + "FallbackBehavior": { + "type": "string" + }, + "HeaderName": { + "type": "string" + } + }, + "required": [ + "FallbackBehavior", + "HeaderName" + ], + "type": "object" + }, "AWS::WAFv2::WebACL.GeoMatchStatement": { "additionalProperties": false, "properties": { @@ -68053,15 +70738,41 @@ "type": "string" }, "type": "array" + }, + "ForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ForwardedIPConfiguration" } }, "type": "object" }, + "AWS::WAFv2::WebACL.IPSetForwardedIPConfiguration": { + "additionalProperties": false, + "properties": { + "FallbackBehavior": { + "type": "string" + }, + "HeaderName": { + "type": "string" + }, + "Position": { + "type": "string" + } + }, + "required": [ + "FallbackBehavior", + "HeaderName", + "Position" + ], + "type": "object" + }, "AWS::WAFv2::WebACL.IPSetReferenceStatement": { "additionalProperties": false, "properties": { "Arn": { "type": "string" + }, + "IPSetForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.IPSetForwardedIPConfiguration" } }, "required": [ @@ -68163,6 +70874,9 @@ "AggregateKeyType": { "type": "string" }, + "ForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ForwardedIPConfiguration" + }, "Limit": { "type": "number" }, @@ -68182,6 +70896,9 @@ "AggregateKeyType": { "type": "string" }, + "ForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ForwardedIPConfiguration" + }, "Limit": { "type": "number" }, @@ -69063,6 +71780,9 @@ { "$ref": "#/definitions/AWS::ApiGatewayV2::Api" }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides" + }, { "$ref": "#/definitions/AWS::ApiGatewayV2::ApiMapping" }, @@ -69093,6 +71813,9 @@ { "$ref": "#/definitions/AWS::ApiGatewayV2::Stage" }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::VpcLink" + }, { "$ref": "#/definitions/AWS::AppConfig::Application" }, @@ -69111,12 +71834,18 @@ { "$ref": "#/definitions/AWS::AppConfig::HostedConfigurationVersion" }, + { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute" + }, { "$ref": "#/definitions/AWS::AppMesh::Mesh" }, { "$ref": "#/definitions/AWS::AppMesh::Route" }, + { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway" + }, { "$ref": "#/definitions/AWS::AppMesh::VirtualNode" }, @@ -69174,6 +71903,12 @@ { "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy" }, + { + "$ref": "#/definitions/AWS::ApplicationInsights::Application" + }, + { + "$ref": "#/definitions/AWS::Athena::DataCatalog" + }, { "$ref": "#/definitions/AWS::Athena::NamedQuery" }, @@ -69447,6 +72182,9 @@ { "$ref": "#/definitions/AWS::EC2::CapacityReservation" }, + { + "$ref": "#/definitions/AWS::EC2::CarrierGateway" + }, { "$ref": "#/definitions/AWS::EC2::ClientVpnAuthorizationRule" }, @@ -69522,6 +72260,9 @@ { "$ref": "#/definitions/AWS::EC2::PlacementGroup" }, + { + "$ref": "#/definitions/AWS::EC2::PrefixList" + }, { "$ref": "#/definitions/AWS::EC2::Route" }, @@ -70251,6 +72992,9 @@ { "$ref": "#/definitions/AWS::QLDB::Ledger" }, + { + "$ref": "#/definitions/AWS::QLDB::Stream" + }, { "$ref": "#/definitions/AWS::RAM::ResourceShare" }, @@ -70425,6 +73169,9 @@ { "$ref": "#/definitions/AWS::SageMaker::Model" }, + { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule" + }, { "$ref": "#/definitions/AWS::SageMaker::NotebookInstance" }, diff --git a/schema/sam.go b/schema/sam.go index ca5c7de88e..9554a97c6c 100644 --- a/schema/sam.go +++ b/schema/sam.go @@ -489,6 +489,9 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "AuthenticationStrategy": { + "type": "string" + }, "AutoMinorVersionUpgrade": { "type": "boolean" }, @@ -513,6 +516,12 @@ var SamSchema = `{ "HostInstanceType": { "type": "string" }, + "LdapMetadata": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.LdapMetadata" + }, + "LdapServerMetadata": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.LdapServerMetadata" + }, "Logs": { "$ref": "#/definitions/AWS::AmazonMQ::Broker.LogList" }, @@ -614,6 +623,91 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::AmazonMQ::Broker.InterBrokerCred": { + "additionalProperties": false, + "properties": { + "Password": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "Password", + "Username" + ], + "type": "object" + }, + "AWS::AmazonMQ::Broker.LdapMetadata": { + "additionalProperties": false, + "properties": { + "InterBrokerCreds": { + "items": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.InterBrokerCred" + }, + "type": "array" + }, + "ServerMetadata": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.ServerMetadata" + } + }, + "required": [ + "ServerMetadata" + ], + "type": "object" + }, + "AWS::AmazonMQ::Broker.LdapServerMetadata": { + "additionalProperties": false, + "properties": { + "Hosts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RoleBase": { + "type": "string" + }, + "RoleName": { + "type": "string" + }, + "RoleSearchMatching": { + "type": "string" + }, + "RoleSearchSubtree": { + "type": "boolean" + }, + "ServiceAccountPassword": { + "type": "string" + }, + "ServiceAccountUsername": { + "type": "string" + }, + "UserBase": { + "type": "string" + }, + "UserRoleName": { + "type": "string" + }, + "UserSearchMatching": { + "type": "string" + }, + "UserSearchSubtree": { + "type": "boolean" + } + }, + "required": [ + "Hosts", + "RoleBase", + "RoleSearchMatching", + "ServiceAccountPassword", + "ServiceAccountUsername", + "UserBase", + "UserSearchMatching" + ], + "type": "object" + }, "AWS::AmazonMQ::Broker.LogList": { "additionalProperties": false, "properties": { @@ -646,6 +740,57 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::AmazonMQ::Broker.ServerMetadata": { + "additionalProperties": false, + "properties": { + "Hosts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RoleBase": { + "type": "string" + }, + "RoleName": { + "type": "string" + }, + "RoleSearchMatching": { + "type": "string" + }, + "RoleSearchSubtree": { + "type": "boolean" + }, + "ServiceAccountPassword": { + "type": "string" + }, + "ServiceAccountUsername": { + "type": "string" + }, + "UserBase": { + "type": "string" + }, + "UserRoleName": { + "type": "string" + }, + "UserSearchMatching": { + "type": "string" + }, + "UserSearchSubtree": { + "type": "boolean" + } + }, + "required": [ + "Hosts", + "RoleBase", + "RoleSearchMatching", + "ServiceAccountPassword", + "ServiceAccountUsername", + "UserBase", + "UserSearchMatching" + ], + "type": "object" + }, "AWS::AmazonMQ::Broker.TagsEntry": { "additionalProperties": false, "properties": { @@ -921,6 +1066,9 @@ var SamSchema = `{ "Description": { "type": "string" }, + "EnableBranchAutoDeletion": { + "type": "boolean" + }, "EnvironmentVariables": { "items": { "$ref": "#/definitions/AWS::Amplify::App.EnvironmentVariable" @@ -1233,9 +1381,21 @@ var SamSchema = `{ "AppId": { "type": "string" }, + "AutoSubDomainCreationPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AutoSubDomainIAMRole": { + "type": "string" + }, "DomainName": { "type": "string" }, + "EnableAutoSubDomain": { + "type": "boolean" + }, "SubDomainSettings": { "items": { "$ref": "#/definitions/AWS::Amplify::Domain.SubDomainSetting" @@ -2123,9 +2283,6 @@ var SamSchema = `{ "type": "array" } }, - "required": [ - "DomainName" - ], "type": "object" }, "Type": { @@ -2144,8 +2301,7 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -3466,6 +3622,176 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "Integration": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.IntegrationOverrides" + }, + "Route": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteOverrides" + }, + "Stage": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.StageOverrides" + } + }, + "required": [ + "ApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.AccessLogSettings": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + }, + "Format": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.IntegrationOverrides": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "IntegrationMethod": { + "type": "string" + }, + "PayloadFormatVersion": { + "type": "string" + }, + "TimeoutInMillis": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteOverrides": { + "additionalProperties": false, + "properties": { + "AuthorizationScopes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AuthorizationType": { + "type": "string" + }, + "AuthorizerId": { + "type": "string" + }, + "OperationName": { + "type": "string" + }, + "Target": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteSettings": { + "additionalProperties": false, + "properties": { + "DataTraceEnabled": { + "type": "boolean" + }, + "DetailedMetricsEnabled": { + "type": "boolean" + }, + "LoggingLevel": { + "type": "string" + }, + "ThrottlingBurstLimit": { + "type": "number" + }, + "ThrottlingRateLimit": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.StageOverrides": { + "additionalProperties": false, + "properties": { + "AccessLogSettings": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.AccessLogSettings" + }, + "AutoDeploy": { + "type": "boolean" + }, + "DefaultRouteSettings": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteSettings" + }, + "Description": { + "type": "string" + }, + "RouteSettings": { + "type": "object" + }, + "StageVariables": { + "type": "object" + } + }, + "type": "object" + }, "AWS::ApiGatewayV2::ApiMapping": { "additionalProperties": false, "properties": { @@ -4403,6 +4729,84 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::ApiGatewayV2::VpcLink": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Name", + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::VpcLink" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::AppConfig::Application": { "additionalProperties": false, "properties": { @@ -4983,6 +5387,205 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::AppMesh::GatewayRoute": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GatewayRouteName": { + "type": "string" + }, + "MeshName": { + "type": "string" + }, + "MeshOwner": { + "type": "string" + }, + "Spec": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteSpec" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VirtualGatewayName": { + "type": "string" + } + }, + "required": [ + "GatewayRouteName", + "MeshName", + "Spec", + "VirtualGatewayName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppMesh::GatewayRoute" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GatewayRouteSpec": { + "additionalProperties": false, + "properties": { + "GrpcRoute": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRoute" + }, + "Http2Route": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRoute" + }, + "HttpRoute": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRoute" + } + }, + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GatewayRouteTarget": { + "additionalProperties": false, + "properties": { + "VirtualService": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteVirtualService" + } + }, + "required": [ + "VirtualService" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GatewayRouteVirtualService": { + "additionalProperties": false, + "properties": { + "VirtualServiceName": { + "type": "string" + } + }, + "required": [ + "VirtualServiceName" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GrpcGatewayRoute": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteAction" + }, + "Match": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMatch" + } + }, + "required": [ + "Action", + "Match" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteAction": { + "additionalProperties": false, + "properties": { + "Target": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteTarget" + } + }, + "required": [ + "Target" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMatch": { + "additionalProperties": false, + "properties": { + "ServiceName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.HttpGatewayRoute": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRouteAction" + }, + "Match": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRouteMatch" + } + }, + "required": [ + "Action", + "Match" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.HttpGatewayRouteAction": { + "additionalProperties": false, + "properties": { + "Target": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteTarget" + } + }, + "required": [ + "Target" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.HttpGatewayRouteMatch": { + "additionalProperties": false, + "properties": { + "Prefix": { + "type": "string" + } + }, + "required": [ + "Prefix" + ], + "type": "object" + }, "AWS::AppMesh::Mesh": { "additionalProperties": false, "properties": { @@ -5546,7 +6149,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::AppMesh::VirtualNode": { + "AWS::AppMesh::VirtualGateway": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -5585,7 +6188,7 @@ var SamSchema = `{ "type": "string" }, "Spec": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeSpec" + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewaySpec" }, "Tags": { "items": { @@ -5593,20 +6196,20 @@ var SamSchema = `{ }, "type": "array" }, - "VirtualNodeName": { + "VirtualGatewayName": { "type": "string" } }, "required": [ "MeshName", "Spec", - "VirtualNodeName" + "VirtualGatewayName" ], "type": "object" }, "Type": { "enum": [ - "AWS::AppMesh::VirtualNode" + "AWS::AppMesh::VirtualGateway" ], "type": "string" }, @@ -5625,81 +6228,34 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::AppMesh::VirtualNode.AccessLog": { + "AWS::AppMesh::VirtualGateway.VirtualGatewayAccessLog": { "additionalProperties": false, "properties": { "File": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.FileAccessLog" + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayFileAccessLog" } }, "type": "object" }, - "AWS::AppMesh::VirtualNode.AwsCloudMapInstanceAttribute": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.AwsCloudMapServiceDiscovery": { - "additionalProperties": false, - "properties": { - "Attributes": { - "items": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.AwsCloudMapInstanceAttribute" - }, - "type": "array" - }, - "NamespaceName": { - "type": "string" - }, - "ServiceName": { - "type": "string" - } - }, - "required": [ - "NamespaceName", - "ServiceName" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.Backend": { - "additionalProperties": false, - "properties": { - "VirtualService": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualServiceBackend" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.BackendDefaults": { + "AWS::AppMesh::VirtualGateway.VirtualGatewayBackendDefaults": { "additionalProperties": false, "properties": { "ClientPolicy": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicy" + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicy" } }, "type": "object" }, - "AWS::AppMesh::VirtualNode.ClientPolicy": { + "AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicy": { "additionalProperties": false, "properties": { "TLS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicyTls" + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicyTls" } }, "type": "object" }, - "AWS::AppMesh::VirtualNode.ClientPolicyTls": { + "AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicyTls": { "additionalProperties": false, "properties": { "Enforce": { @@ -5712,7 +6268,7 @@ var SamSchema = `{ "type": "array" }, "Validation": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContext" + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContext" } }, "required": [ @@ -5720,35 +6276,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::AppMesh::VirtualNode.DnsServiceDiscovery": { - "additionalProperties": false, - "properties": { - "Hostname": { - "type": "string" - } - }, - "required": [ - "Hostname" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.Duration": { - "additionalProperties": false, - "properties": { - "Unit": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "required": [ - "Unit", - "Value" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.FileAccessLog": { + "AWS::AppMesh::VirtualGateway.VirtualGatewayFileAccessLog": { "additionalProperties": false, "properties": { "Path": { @@ -5760,19 +6288,438 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::AppMesh::VirtualNode.GrpcTimeout": { - "additionalProperties": false, - "properties": { - "Idle": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" - }, - "PerRequest": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.HealthCheck": { + "AWS::AppMesh::VirtualGateway.VirtualGatewayHealthCheckPolicy": { + "additionalProperties": false, + "properties": { + "HealthyThreshold": { + "type": "number" + }, + "IntervalMillis": { + "type": "number" + }, + "Path": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "TimeoutMillis": { + "type": "number" + }, + "UnhealthyThreshold": { + "type": "number" + } + }, + "required": [ + "HealthyThreshold", + "IntervalMillis", + "Protocol", + "TimeoutMillis", + "UnhealthyThreshold" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListener": { + "additionalProperties": false, + "properties": { + "HealthCheck": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayHealthCheckPolicy" + }, + "PortMapping": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayPortMapping" + }, + "TLS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTls" + } + }, + "required": [ + "PortMapping" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTls": { + "additionalProperties": false, + "properties": { + "Certificate": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsCertificate" + }, + "Mode": { + "type": "string" + } + }, + "required": [ + "Certificate", + "Mode" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsAcmCertificate": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsCertificate": { + "additionalProperties": false, + "properties": { + "ACM": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsAcmCertificate" + }, + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsFileCertificate" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsFileCertificate": { + "additionalProperties": false, + "properties": { + "CertificateChain": { + "type": "string" + }, + "PrivateKey": { + "type": "string" + } + }, + "required": [ + "CertificateChain", + "PrivateKey" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayLogging": { + "additionalProperties": false, + "properties": { + "AccessLog": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayAccessLog" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayPortMapping": { + "additionalProperties": false, + "properties": { + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + } + }, + "required": [ + "Port", + "Protocol" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewaySpec": { + "additionalProperties": false, + "properties": { + "BackendDefaults": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayBackendDefaults" + }, + "Listeners": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListener" + }, + "type": "array" + }, + "Logging": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayLogging" + } + }, + "required": [ + "Listeners" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContext": { + "additionalProperties": false, + "properties": { + "Trust": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextTrust" + } + }, + "required": [ + "Trust" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextAcmTrust": { + "additionalProperties": false, + "properties": { + "CertificateAuthorityArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "CertificateAuthorityArns" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextFileTrust": { + "additionalProperties": false, + "properties": { + "CertificateChain": { + "type": "string" + } + }, + "required": [ + "CertificateChain" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextTrust": { + "additionalProperties": false, + "properties": { + "ACM": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextAcmTrust" + }, + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextFileTrust" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MeshName": { + "type": "string" + }, + "MeshOwner": { + "type": "string" + }, + "Spec": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeSpec" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VirtualNodeName": { + "type": "string" + } + }, + "required": [ + "MeshName", + "Spec", + "VirtualNodeName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppMesh::VirtualNode" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.AccessLog": { + "additionalProperties": false, + "properties": { + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.FileAccessLog" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.AwsCloudMapInstanceAttribute": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.AwsCloudMapServiceDiscovery": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.AwsCloudMapInstanceAttribute" + }, + "type": "array" + }, + "NamespaceName": { + "type": "string" + }, + "ServiceName": { + "type": "string" + } + }, + "required": [ + "NamespaceName", + "ServiceName" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.Backend": { + "additionalProperties": false, + "properties": { + "VirtualService": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualServiceBackend" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.BackendDefaults": { + "additionalProperties": false, + "properties": { + "ClientPolicy": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicy" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ClientPolicy": { + "additionalProperties": false, + "properties": { + "TLS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicyTls" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ClientPolicyTls": { + "additionalProperties": false, + "properties": { + "Enforce": { + "type": "boolean" + }, + "Ports": { + "items": { + "type": "number" + }, + "type": "array" + }, + "Validation": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContext" + } + }, + "required": [ + "Validation" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.DnsServiceDiscovery": { + "additionalProperties": false, + "properties": { + "Hostname": { + "type": "string" + } + }, + "required": [ + "Hostname" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.Duration": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.FileAccessLog": { + "additionalProperties": false, + "properties": { + "Path": { + "type": "string" + } + }, + "required": [ + "Path" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.GrpcTimeout": { + "additionalProperties": false, + "properties": { + "Idle": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + }, + "PerRequest": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.HealthCheck": { "additionalProperties": false, "properties": { "HealthyThreshold": { @@ -8317,6 +9264,441 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::ApplicationInsights::Application": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoConfigurationEnabled": { + "type": "boolean" + }, + "CWEMonitorEnabled": { + "type": "boolean" + }, + "ComponentMonitoringSettings": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.ComponentMonitoringSetting" + }, + "type": "array" + }, + "CustomComponents": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.CustomComponent" + }, + "type": "array" + }, + "LogPatternSets": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.LogPatternSet" + }, + "type": "array" + }, + "OpsCenterEnabled": { + "type": "boolean" + }, + "OpsItemSNSTopicArn": { + "type": "string" + }, + "ResourceGroupName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ResourceGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApplicationInsights::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.Alarm": { + "additionalProperties": false, + "properties": { + "AlarmName": { + "type": "string" + }, + "Severity": { + "type": "string" + } + }, + "required": [ + "AlarmName" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.AlarmMetric": { + "additionalProperties": false, + "properties": { + "AlarmMetricName": { + "type": "string" + } + }, + "required": [ + "AlarmMetricName" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.ComponentConfiguration": { + "additionalProperties": false, + "properties": { + "ConfigurationDetails": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.ConfigurationDetails" + }, + "SubComponentTypeConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.SubComponentTypeConfiguration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ApplicationInsights::Application.ComponentMonitoringSetting": { + "additionalProperties": false, + "properties": { + "ComponentARN": { + "type": "string" + }, + "ComponentConfigurationMode": { + "type": "string" + }, + "ComponentName": { + "type": "string" + }, + "CustomComponentConfiguration": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.ComponentConfiguration" + }, + "DefaultOverwriteComponentConfiguration": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.ComponentConfiguration" + }, + "Tier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApplicationInsights::Application.ConfigurationDetails": { + "additionalProperties": false, + "properties": { + "AlarmMetrics": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.AlarmMetric" + }, + "type": "array" + }, + "Alarms": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.Alarm" + }, + "type": "array" + }, + "Logs": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.Log" + }, + "type": "array" + }, + "WindowsEvents": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.WindowsEvent" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ApplicationInsights::Application.CustomComponent": { + "additionalProperties": false, + "properties": { + "ComponentName": { + "type": "string" + }, + "ResourceList": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ComponentName", + "ResourceList" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.Log": { + "additionalProperties": false, + "properties": { + "Encoding": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "LogPath": { + "type": "string" + }, + "LogType": { + "type": "string" + }, + "PatternSet": { + "type": "string" + } + }, + "required": [ + "LogType" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.LogPattern": { + "additionalProperties": false, + "properties": { + "Pattern": { + "type": "string" + }, + "PatternName": { + "type": "string" + }, + "Rank": { + "type": "number" + } + }, + "required": [ + "Pattern", + "PatternName", + "Rank" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.LogPatternSet": { + "additionalProperties": false, + "properties": { + "LogPatterns": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.LogPattern" + }, + "type": "array" + }, + "PatternSetName": { + "type": "string" + } + }, + "required": [ + "LogPatterns", + "PatternSetName" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.SubComponentConfigurationDetails": { + "additionalProperties": false, + "properties": { + "AlarmMetrics": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.AlarmMetric" + }, + "type": "array" + }, + "Logs": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.Log" + }, + "type": "array" + }, + "WindowsEvents": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.WindowsEvent" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ApplicationInsights::Application.SubComponentTypeConfiguration": { + "additionalProperties": false, + "properties": { + "SubComponentConfigurationDetails": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.SubComponentConfigurationDetails" + }, + "SubComponentType": { + "type": "string" + } + }, + "required": [ + "SubComponentConfigurationDetails", + "SubComponentType" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.WindowsEvent": { + "additionalProperties": false, + "properties": { + "EventLevels": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EventName": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "PatternSet": { + "type": "string" + } + }, + "required": [ + "EventLevels", + "EventName", + "LogGroupName" + ], + "type": "object" + }, + "AWS::Athena::DataCatalog": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Tags": { + "$ref": "#/definitions/AWS::Athena::DataCatalog.Tags" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Athena::DataCatalog" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Athena::DataCatalog.Tags": { + "additionalProperties": false, + "properties": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::Athena::NamedQuery": { "additionalProperties": false, "properties": { @@ -8666,6 +10048,9 @@ var SamSchema = `{ "MixedInstancesPolicy": { "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.MixedInstancesPolicy" }, + "NewInstancesProtectedFromScaleIn": { + "type": "boolean" + }, "NotificationConfigurations": { "items": { "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.NotificationConfiguration" @@ -11947,6 +13332,9 @@ var SamSchema = `{ }, "type": "array" }, + "CachePolicyId": { + "type": "string" + }, "CachedMethods": { "items": { "type": "string" @@ -11977,6 +13365,9 @@ var SamSchema = `{ "MinTTL": { "type": "number" }, + "OriginRequestPolicyId": { + "type": "string" + }, "PathPattern": { "type": "string" }, @@ -11997,7 +13388,6 @@ var SamSchema = `{ } }, "required": [ - "ForwardedValues", "PathPattern", "TargetOriginId", "ViewerProtocolPolicy" @@ -12082,6 +13472,9 @@ var SamSchema = `{ }, "type": "array" }, + "CachePolicyId": { + "type": "string" + }, "CachedMethods": { "items": { "type": "string" @@ -12112,6 +13505,9 @@ var SamSchema = `{ "MinTTL": { "type": "number" }, + "OriginRequestPolicyId": { + "type": "string" + }, "SmoothStreaming": { "type": "boolean" }, @@ -12129,7 +13525,6 @@ var SamSchema = `{ } }, "required": [ - "ForwardedValues", "TargetOriginId", "ViewerProtocolPolicy" ], @@ -13396,6 +14791,9 @@ var SamSchema = `{ "BadgeEnabled": { "type": "boolean" }, + "BuildBatchConfig": { + "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectBuildBatchConfig" + }, "Cache": { "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectCache" }, @@ -13531,6 +14929,33 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::CodeBuild::Project.BatchRestrictions": { + "additionalProperties": false, + "properties": { + "ComputeTypesAllowed": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaximumBuildsAllowed": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Project.BuildStatusConfig": { + "additionalProperties": false, + "properties": { + "Context": { + "type": "string" + }, + "TargetUrl": { + "type": "string" + } + }, + "type": "object" + }, "AWS::CodeBuild::Project.CloudWatchLogsConfig": { "additionalProperties": false, "properties": { @@ -13635,6 +15060,24 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::CodeBuild::Project.ProjectBuildBatchConfig": { + "additionalProperties": false, + "properties": { + "CombineArtifacts": { + "type": "boolean" + }, + "Restrictions": { + "$ref": "#/definitions/AWS::CodeBuild::Project.BatchRestrictions" + }, + "ServiceRole": { + "type": "string" + }, + "TimeoutInMins": { + "type": "number" + } + }, + "type": "object" + }, "AWS::CodeBuild::Project.ProjectCache": { "additionalProperties": false, "properties": { @@ -13756,6 +15199,9 @@ var SamSchema = `{ "BuildSpec": { "type": "string" }, + "BuildStatusConfig": { + "$ref": "#/definitions/AWS::CodeBuild::Project.BuildStatusConfig" + }, "GitCloneDepth": { "type": "number" }, @@ -14108,6 +15554,9 @@ var SamSchema = `{ "AWS::CodeCommit::Repository.Code": { "additionalProperties": false, "properties": { + "BranchName": { + "type": "string" + }, "S3": { "$ref": "#/definitions/AWS::CodeCommit::Repository.S3" } @@ -14718,8 +16167,23 @@ var SamSchema = `{ "AgentPermissions": { "type": "object" }, + "AnomalyDetectionNotificationConfiguration": { + "items": { + "$ref": "#/definitions/AWS::CodeGuruProfiler::ProfilingGroup.Channel" + }, + "type": "array" + }, + "ComputePlatform": { + "type": "string" + }, "ProfilingGroupName": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -14748,6 +16212,21 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::CodeGuruProfiler::ProfilingGroup.Channel": { + "additionalProperties": false, + "properties": { + "channelId": { + "type": "string" + }, + "channelUri": { + "type": "string" + } + }, + "required": [ + "channelUri" + ], + "type": "object" + }, "AWS::CodePipeline::CustomActionType": { "additionalProperties": false, "properties": { @@ -15469,6 +16948,9 @@ var SamSchema = `{ "ConnectionName": { "type": "string" }, + "HostArn": { + "type": "string" + }, "ProviderType": { "type": "string" }, @@ -15480,8 +16962,7 @@ var SamSchema = `{ } }, "required": [ - "ConnectionName", - "ProviderType" + "ConnectionName" ], "type": "object" }, @@ -20710,6 +22191,83 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::EC2::CarrierGateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Tags": { + "$ref": "#/definitions/AWS::EC2::CarrierGateway.Tags" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::CarrierGateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::CarrierGateway.Tags": { + "additionalProperties": false, + "properties": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::EC2::ClientVpnAuthorizationRule": { "additionalProperties": false, "properties": { @@ -21814,15 +23372,27 @@ var SamSchema = `{ "LogDestinationType": { "type": "string" }, + "LogFormat": { + "type": "string" + }, "LogGroupName": { "type": "string" }, + "MaxAggregationInterval": { + "type": "number" + }, "ResourceId": { "type": "string" }, "ResourceType": { "type": "string" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "TrafficType": { "type": "string" } @@ -23749,6 +25319,103 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::EC2::PrefixList": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AddressFamily": { + "type": "string" + }, + "Entries": { + "items": { + "$ref": "#/definitions/AWS::EC2::PrefixList.Entry" + }, + "type": "array" + }, + "MaxEntries": { + "type": "number" + }, + "PrefixListName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AddressFamily", + "MaxEntries", + "PrefixListName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::PrefixList" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::PrefixList.Entry": { + "additionalProperties": false, + "properties": { + "Cidr": { + "type": "string" + }, + "Description": { + "type": "string" + } + }, + "required": [ + "Cidr" + ], + "type": "object" + }, "AWS::EC2::Route": { "additionalProperties": false, "properties": { @@ -25410,6 +27077,9 @@ var SamSchema = `{ "DnsSupport": { "type": "string" }, + "MulticastSupport": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -26958,8 +28628,14 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "ImageScanningConfiguration": { + "type": "object" + }, + "ImageTagMutability": { + "type": "string" + }, "LifecyclePolicy": { - "$ref": "#/definitions/AWS::ECR::Repository.LifecyclePolicy" + "type": "object" }, "RepositoryName": { "type": "string" @@ -26996,18 +28672,6 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::ECR::Repository.LifecyclePolicy": { - "additionalProperties": false, - "properties": { - "LifecyclePolicyText": { - "type": "string" - }, - "RegistryId": { - "type": "string" - } - }, - "type": "object" - }, "AWS::ECS::CapacityProvider": { "additionalProperties": false, "properties": { @@ -27630,6 +29294,9 @@ var SamSchema = `{ }, "type": "array" }, + "TaskDefinitionStatus": { + "type": "string" + }, "TaskRoleArn": { "type": "string" }, @@ -27662,6 +29329,18 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::ECS::TaskDefinition.AuthorizationConfig": { + "additionalProperties": false, + "properties": { + "AccessPointId": { + "type": "string" + }, + "IAM": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ECS::TaskDefinition.ContainerDefinition": { "additionalProperties": false, "properties": { @@ -27722,6 +29401,12 @@ var SamSchema = `{ }, "type": "array" }, + "EnvironmentFiles": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.EnvironmentFile" + }, + "type": "array" + }, "Essential": { "type": "boolean" }, @@ -27846,10 +29531,6 @@ var SamSchema = `{ "type": "string" } }, - "required": [ - "Condition", - "ContainerName" - ], "type": "object" }, "AWS::ECS::TaskDefinition.Device": { @@ -27868,9 +29549,6 @@ var SamSchema = `{ "type": "array" } }, - "required": [ - "HostPath" - ], "type": "object" }, "AWS::ECS::TaskDefinition.DockerVolumeConfiguration": { @@ -27906,27 +29584,54 @@ var SamSchema = `{ }, "type": "object" }, - "AWS::ECS::TaskDefinition.FirelensConfiguration": { + "AWS::ECS::TaskDefinition.EFSVolumeConfiguration": { "additionalProperties": false, "properties": { - "Options": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, + "AuthorizationConfig": { "type": "object" }, - "Type": { + "FilesystemId": { + "type": "string" + }, + "RootDirectory": { "type": "string" + }, + "TransitEncryption": { + "type": "string" + }, + "TransitEncryptionPort": { + "type": "number" } }, "required": [ - "Type" + "FilesystemId" ], "type": "object" }, + "AWS::ECS::TaskDefinition.EnvironmentFile": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.FirelensConfiguration": { + "additionalProperties": false, + "properties": { + "Options": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Options" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ECS::TaskDefinition.HealthCheck": { "additionalProperties": false, "properties": { @@ -27949,9 +29654,6 @@ var SamSchema = `{ "type": "number" } }, - "required": [ - "Command" - ], "type": "object" }, "AWS::ECS::TaskDefinition.HostEntry": { @@ -27964,10 +29666,6 @@ var SamSchema = `{ "type": "string" } }, - "required": [ - "Hostname", - "IpAddress" - ], "type": "object" }, "AWS::ECS::TaskDefinition.HostVolumeProperties": { @@ -28061,13 +29759,7 @@ var SamSchema = `{ "type": "string" }, "Options": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Options" }, "SecretOptions": { "items": { @@ -28096,6 +29788,11 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::ECS::TaskDefinition.Options": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::ECS::TaskDefinition.PortMapping": { "additionalProperties": false, "properties": { @@ -28183,10 +29880,6 @@ var SamSchema = `{ "type": "string" } }, - "required": [ - "Namespace", - "Value" - ], "type": "object" }, "AWS::ECS::TaskDefinition.TaskDefinitionPlacementConstraint": { @@ -28251,6 +29944,9 @@ var SamSchema = `{ "DockerVolumeConfiguration": { "$ref": "#/definitions/AWS::ECS::TaskDefinition.DockerVolumeConfiguration" }, + "EFSVolumeConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.EFSVolumeConfiguration" + }, "Host": { "$ref": "#/definitions/AWS::ECS::TaskDefinition.HostVolumeProperties" }, @@ -28625,6 +30321,9 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "BackupPolicy": { + "$ref": "#/definitions/AWS::EFS::FileSystem.BackupPolicy" + }, "Encrypted": { "type": "boolean" }, @@ -28678,6 +30377,18 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::EFS::FileSystem.BackupPolicy": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, "AWS::EFS::FileSystem.ElasticFileSystemTag": { "additionalProperties": false, "properties": { @@ -28958,6 +30669,9 @@ var SamSchema = `{ "Labels": { "type": "object" }, + "LaunchTemplate": { + "$ref": "#/definitions/AWS::EKS::Nodegroup.LaunchTemplateSpecification" + }, "NodeRole": { "type": "string" }, @@ -29014,6 +30728,21 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::EKS::Nodegroup.LaunchTemplateSpecification": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EKS::Nodegroup.RemoteAccess": { "additionalProperties": false, "properties": { @@ -31889,6 +33618,12 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "AlpnPolicy": { + "items": { + "type": "string" + }, + "type": "array" + }, "Certificates": { "items": { "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.Certificate" @@ -32980,9 +34715,15 @@ var SamSchema = `{ }, "type": "object" }, + "AdvancedSecurityOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.AdvancedSecurityOptionsInput" + }, "CognitoOptions": { "$ref": "#/definitions/AWS::Elasticsearch::Domain.CognitoOptions" }, + "DomainEndpointOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.DomainEndpointOptions" + }, "DomainName": { "type": "string" }, @@ -33045,6 +34786,21 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::Elasticsearch::Domain.AdvancedSecurityOptionsInput": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "InternalUserDatabaseEnabled": { + "type": "boolean" + }, + "MasterUserOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.MasterUserOptions" + } + }, + "type": "object" + }, "AWS::Elasticsearch::Domain.CognitoOptions": { "additionalProperties": false, "properties": { @@ -33063,6 +34819,18 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::Elasticsearch::Domain.DomainEndpointOptions": { + "additionalProperties": false, + "properties": { + "EnforceHTTPS": { + "type": "boolean" + }, + "TLSSecurityPolicy": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Elasticsearch::Domain.EBSOptions": { "additionalProperties": false, "properties": { @@ -33132,6 +34900,21 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::Elasticsearch::Domain.MasterUserOptions": { + "additionalProperties": false, + "properties": { + "MasterUserARN": { + "type": "string" + }, + "MasterUserName": { + "type": "string" + }, + "MasterUserPassword": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Elasticsearch::Domain.NodeToNodeEncryptionOptions": { "additionalProperties": false, "properties": { @@ -34329,9 +36112,24 @@ var SamSchema = `{ "AWS::FSx::FileSystem.LustreConfiguration": { "additionalProperties": false, "properties": { + "AutoImportPolicy": { + "type": "string" + }, + "AutomaticBackupRetentionDays": { + "type": "number" + }, + "CopyTagsToBackups": { + "type": "boolean" + }, + "DailyAutomaticBackupStartTime": { + "type": "string" + }, "DeploymentType": { "type": "string" }, + "DriveCacheType": { + "type": "string" + }, "ExportPath": { "type": "string" }, @@ -40707,6 +42505,12 @@ var SamSchema = `{ "Platform": { "type": "string" }, + "SupportedOsVersions": { + "items": { + "type": "string" + }, + "type": "array" + }, "Tags": { "additionalProperties": true, "patternProperties": { @@ -40848,102 +42652,108 @@ var SamSchema = `{ "type": "string" } }, - "type": "object" - }, - "AWS::ImageBuilder::Image": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DistributionConfigurationArn": { - "type": "string" - }, - "ImageRecipeArn": { - "type": "string" - }, - "ImageTestsConfiguration": { - "$ref": "#/definitions/AWS::ImageBuilder::Image.ImageTestsConfiguration" - }, - "InfrastructureConfigurationArn": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "ImageRecipeArn", - "InfrastructureConfigurationArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ImageBuilder::Image" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, "required": [ - "Type", - "Properties" + "Region" ], "type": "object" }, - "AWS::ImageBuilder::Image.ImageTestsConfiguration": { - "additionalProperties": false, - "properties": { - "ImageTestsEnabled": { - "type": "boolean" - }, - "TimeoutMinutes": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ImagePipeline": { + "AWS::ImageBuilder::Image": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DistributionConfigurationArn": { + "type": "string" + }, + "EnhancedImageMetadataEnabled": { + "type": "boolean" + }, + "ImageRecipeArn": { + "type": "string" + }, + "ImageTestsConfiguration": { + "$ref": "#/definitions/AWS::ImageBuilder::Image.ImageTestsConfiguration" + }, + "InfrastructureConfigurationArn": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "ImageRecipeArn", + "InfrastructureConfigurationArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ImageBuilder::Image" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::Image.ImageTestsConfiguration": { + "additionalProperties": false, + "properties": { + "ImageTestsEnabled": { + "type": "boolean" + }, + "TimeoutMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImagePipeline": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -40981,6 +42791,9 @@ var SamSchema = `{ "DistributionConfigurationArn": { "type": "string" }, + "EnhancedImageMetadataEnabled": { + "type": "boolean" + }, "ImageRecipeArn": { "type": "string" }, @@ -41125,6 +42938,9 @@ var SamSchema = `{ }, "Version": { "type": "string" + }, + "WorkingDirectory": { + "type": "string" } }, "required": [ @@ -41263,6 +43079,15 @@ var SamSchema = `{ "Name": { "type": "string" }, + "ResourceTags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, "SecurityGroupIds": { "items": { "type": "string" @@ -41805,6 +43630,15 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "CACertificatePem": { + "type": "string" + }, + "CertificateMode": { + "type": "string" + }, + "CertificatePem": { + "type": "string" + }, "CertificateSigningRequest": { "type": "string" }, @@ -41813,7 +43647,6 @@ var SamSchema = `{ } }, "required": [ - "CertificateSigningRequest", "Status" ], "type": "object" @@ -42015,10 +43848,7 @@ var SamSchema = `{ "type": "string" }, "Tags": { - "items": { - "type": "object" - }, - "type": "array" + "$ref": "#/definitions/AWS::IoT::ProvisioningTemplate.Tags" }, "TemplateBody": { "type": "string" @@ -42066,149 +43896,161 @@ var SamSchema = `{ }, "type": "object" }, - "AWS::IoT::Thing": { + "AWS::IoT::ProvisioningTemplate.Tags": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AttributePayload": { - "$ref": "#/definitions/AWS::IoT::Thing.AttributePayload" - }, - "ThingName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::Thing" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IoT::Thing.AttributePayload": { - "additionalProperties": false, - "properties": { - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "AWS::IoT::ThingPrincipalAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Principal": { - "type": "string" - }, - "ThingName": { - "type": "string" - } + "Tags": { + "items": { + "type": "object" }, - "required": [ - "Principal", - "ThingName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::ThingPrincipalAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "type": "array" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::IoT::TopicRule": { + "AWS::IoT::Thing": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AttributePayload": { + "$ref": "#/definitions/AWS::IoT::Thing.AttributePayload" + }, + "ThingName": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::Thing" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IoT::Thing.AttributePayload": { + "additionalProperties": false, + "properties": { + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::IoT::ThingPrincipalAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Principal": { + "type": "string" + }, + "ThingName": { + "type": "string" + } + }, + "required": [ + "Principal", + "ThingName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::ThingPrincipalAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::TopicRule": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -46233,6 +48075,9 @@ var SamSchema = `{ "ExtendedS3DestinationConfiguration": { "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ExtendedS3DestinationConfiguration" }, + "HttpEndpointDestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointDestinationConfiguration" + }, "KinesisStreamSourceConfiguration": { "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.KinesisStreamSourceConfiguration" }, @@ -46484,6 +48329,92 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::KinesisFirehose::DeliveryStream.HttpEndpointCommonAttribute": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + }, + "AttributeValue": { + "type": "string" + } + }, + "required": [ + "AttributeName", + "AttributeValue" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.HttpEndpointConfiguration": { + "additionalProperties": false, + "properties": { + "AccessKey": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Url" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.HttpEndpointDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BufferingHints": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" + }, + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" + }, + "EndpointConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointConfiguration" + }, + "ProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" + }, + "RequestConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointRequestConfiguration" + }, + "RetryOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RetryOptions" + }, + "RoleARN": { + "type": "string" + }, + "S3BackupMode": { + "type": "string" + }, + "S3Configuration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + } + }, + "required": [ + "EndpointConfiguration", + "S3Configuration" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.HttpEndpointRequestConfiguration": { + "additionalProperties": false, + "properties": { + "CommonAttributes": { + "items": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointCommonAttribute" + }, + "type": "array" + }, + "ContentEncoding": { + "type": "string" + } + }, + "type": "object" + }, "AWS::KinesisFirehose::DeliveryStream.InputFormatConfiguration": { "additionalProperties": false, "properties": { @@ -46719,6 +48650,15 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::KinesisFirehose::DeliveryStream.RetryOptions": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "number" + } + }, + "type": "object" + }, "AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration": { "additionalProperties": false, "properties": { @@ -47469,6 +49409,12 @@ var SamSchema = `{ }, "StartingPosition": { "type": "string" + }, + "Topics": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ @@ -47505,9 +49451,6 @@ var SamSchema = `{ "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.OnFailure" } }, - "required": [ - "OnFailure" - ], "type": "object" }, "AWS::Lambda::EventSourceMapping.OnFailure": { @@ -47517,9 +49460,6 @@ var SamSchema = `{ "type": "string" } }, - "required": [ - "Destination" - ], "type": "object" }, "AWS::Lambda::Function": { @@ -47566,6 +49506,12 @@ var SamSchema = `{ "Environment": { "$ref": "#/definitions/AWS::Lambda::Function.Environment" }, + "FileSystemConfigs": { + "items": { + "$ref": "#/definitions/AWS::Lambda::Function.FileSystemConfig" + }, + "type": "array" + }, "FunctionName": { "type": "string" }, @@ -47680,6 +49626,22 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::Lambda::Function.FileSystemConfig": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "LocalMountPath": { + "type": "string" + } + }, + "required": [ + "Arn", + "LocalMountPath" + ], + "type": "object" + }, "AWS::Lambda::Function.TracingConfig": { "additionalProperties": false, "properties": { @@ -55196,7 +57158,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::RAM::ResourceShare": { + "AWS::QLDB::Stream": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -55228,23 +57190,23 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AllowExternalPrincipals": { - "type": "boolean" + "ExclusiveEndTime": { + "type": "string" }, - "Name": { + "InclusiveStartTime": { "type": "string" }, - "Principals": { - "items": { - "type": "string" - }, - "type": "array" + "KinesisConfiguration": { + "$ref": "#/definitions/AWS::QLDB::Stream.KinesisConfiguration" }, - "ResourceArns": { - "items": { - "type": "string" - }, - "type": "array" + "LedgerName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "StreamName": { + "type": "string" }, "Tags": { "items": { @@ -55254,13 +57216,17 @@ var SamSchema = `{ } }, "required": [ - "Name" + "InclusiveStartTime", + "KinesisConfiguration", + "LedgerName", + "RoleArn", + "StreamName" ], "type": "object" }, "Type": { "enum": [ - "AWS::RAM::ResourceShare" + "AWS::QLDB::Stream" ], "type": "string" }, @@ -55279,7 +57245,102 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::RDS::DBCluster": { + "AWS::QLDB::Stream.KinesisConfiguration": { + "additionalProperties": false, + "properties": { + "AggregationEnabled": { + "type": "boolean" + }, + "StreamArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RAM::ResourceShare": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowExternalPrincipals": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Principals": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ResourceArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RAM::ResourceShare" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBCluster": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -56084,10 +58145,14 @@ var SamSchema = `{ }, "DBProxyName": { "type": "string" + }, + "TargetGroupName": { + "type": "string" } }, "required": [ - "DBProxyName" + "DBProxyName", + "TargetGroupName" ], "type": "object" }, @@ -60623,9 +62688,6 @@ var SamSchema = `{ "DisplayName": { "type": "string" }, - "FifoTopic": { - "type": "boolean" - }, "KmsMasterKeyId": { "type": "string" }, @@ -60947,6 +63009,9 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "ApplyOnlyAtCronInterval": { + "type": "boolean" + }, "AssociationName": { "type": "string" }, @@ -62238,6 +64303,9 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "DataCaptureConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.DataCaptureConfig" + }, "EndpointConfigName": { "type": "string" }, @@ -62283,6 +64351,68 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader": { + "additionalProperties": false, + "properties": { + "CsvContentTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "JsonContentTypes": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::EndpointConfig.CaptureOption": { + "additionalProperties": false, + "properties": { + "CaptureMode": { + "type": "string" + } + }, + "required": [ + "CaptureMode" + ], + "type": "object" + }, + "AWS::SageMaker::EndpointConfig.DataCaptureConfig": { + "additionalProperties": false, + "properties": { + "CaptureContentTypeHeader": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader" + }, + "CaptureOptions": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureOption" + }, + "type": "array" + }, + "DestinationS3Uri": { + "type": "string" + }, + "EnableCapture": { + "type": "boolean" + }, + "InitialSamplingPercentage": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" + } + }, + "required": [ + "CaptureOptions", + "DestinationS3Uri", + "InitialSamplingPercentage" + ], + "type": "object" + }, "AWS::SageMaker::EndpointConfig.ProductionVariant": { "additionalProperties": false, "properties": { @@ -62414,14 +64544,455 @@ var SamSchema = `{ }, "ModelDataUrl": { "type": "string" + }, + "ModelPackageName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::Model.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "Image" + "SecurityGroupIds", + "Subnets" ], "type": "object" }, - "AWS::SageMaker::Model.VpcConfig": { + "AWS::SageMaker::MonitoringSchedule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CreationTime": { + "type": "string" + }, + "EndpointName": { + "type": "string" + }, + "FailureReason": { + "type": "string" + }, + "LastModifiedTime": { + "type": "string" + }, + "LastMonitoringExecutionSummary": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary" + }, + "MonitoringScheduleArn": { + "type": "string" + }, + "MonitoringScheduleConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig" + }, + "MonitoringScheduleName": { + "type": "string" + }, + "MonitoringScheduleStatus": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "MonitoringScheduleConfig", + "MonitoringScheduleName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::MonitoringSchedule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.BaselineConfig": { + "additionalProperties": false, + "properties": { + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ConstraintsResource" + }, + "StatisticsResource": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StatisticsResource" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.ClusterConfig": { + "additionalProperties": false, + "properties": { + "InstanceCount": { + "type": "number" + }, + "InstanceType": { + "type": "string" + }, + "VolumeKmsKeyId": { + "type": "string" + }, + "VolumeSizeInGB": { + "type": "number" + } + }, + "required": [ + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.ConstraintsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.EndpointInput": { + "additionalProperties": false, + "properties": { + "EndpointName": { + "type": "string" + }, + "LocalPath": { + "type": "string" + }, + "S3DataDistributionType": { + "type": "string" + }, + "S3InputMode": { + "type": "string" + } + }, + "required": [ + "EndpointName", + "LocalPath" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.Environment": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification": { + "additionalProperties": false, + "properties": { + "ContainerArguments": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ContainerEntrypoint": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ImageUri": { + "type": "string" + }, + "PostAnalyticsProcessorSourceUri": { + "type": "string" + }, + "RecordPreprocessorSourceUri": { + "type": "string" + } + }, + "required": [ + "ImageUri" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary": { + "additionalProperties": false, + "properties": { + "CreationTime": { + "type": "string" + }, + "EndpointName": { + "type": "string" + }, + "FailureReason": { + "type": "string" + }, + "LastModifiedTime": { + "type": "string" + }, + "MonitoringExecutionStatus": { + "type": "string" + }, + "MonitoringScheduleName": { + "type": "string" + }, + "ProcessingJobArn": { + "type": "string" + }, + "ScheduledTime": { + "type": "string" + } + }, + "required": [ + "CreationTime", + "LastModifiedTime", + "MonitoringExecutionStatus", + "MonitoringScheduleName", + "ScheduledTime" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringInput": { + "additionalProperties": false, + "properties": { + "EndpointInput": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.EndpointInput" + } + }, + "required": [ + "EndpointInput" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringInputs": { + "additionalProperties": false, + "properties": { + "MonitoringInputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringInput" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition": { + "additionalProperties": false, + "properties": { + "BaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.BaselineConfig" + }, + "Environment": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.Environment" + }, + "MonitoringAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification" + }, + "MonitoringInputs": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringInputs" + }, + "MonitoringOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig" + }, + "MonitoringResources": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringResources" + }, + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.NetworkConfig" + }, + "RoleArn": { + "type": "string" + }, + "StoppingCondition": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StoppingCondition" + } + }, + "required": [ + "MonitoringAppSpecification", + "MonitoringInputs", + "MonitoringOutputConfig", + "MonitoringResources", + "RoleArn" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringOutput": { + "additionalProperties": false, + "properties": { + "S3Output": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.S3Output" + } + }, + "required": [ + "S3Output" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "MonitoringOutputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutput" + }, + "type": "array" + } + }, + "required": [ + "MonitoringOutputs" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringResources": { + "additionalProperties": false, + "properties": { + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ClusterConfig" + } + }, + "required": [ + "ClusterConfig" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig": { + "additionalProperties": false, + "properties": { + "MonitoringJobDefinition": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition" + }, + "ScheduleConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ScheduleConfig" + } + }, + "required": [ + "MonitoringJobDefinition" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.NetworkConfig": { + "additionalProperties": false, + "properties": { + "EnableInterContainerTrafficEncryption": { + "type": "boolean" + }, + "EnableNetworkIsolation": { + "type": "boolean" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.VpcConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.S3Output": { + "additionalProperties": false, + "properties": { + "LocalPath": { + "type": "string" + }, + "S3UploadMode": { + "type": "string" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "LocalPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.ScheduleConfig": { + "additionalProperties": false, + "properties": { + "ScheduleExpression": { + "type": "string" + } + }, + "required": [ + "ScheduleExpression" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.StatisticsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.StoppingCondition": { + "additionalProperties": false, + "properties": { + "MaxRuntimeInSeconds": { + "type": "number" + } + }, + "required": [ + "MaxRuntimeInSeconds" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.VpcConfig": { "additionalProperties": false, "properties": { "SecurityGroupIds": { @@ -62668,142 +65239,213 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "MemberDefinitions": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Workteam.MemberDefinition" - }, - "type": "array" - }, - "NotificationConfiguration": { - "$ref": "#/definitions/AWS::SageMaker::Workteam.NotificationConfiguration" + "Description": { + "type": "string" + }, + "MemberDefinitions": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Workteam.MemberDefinition" + }, + "type": "array" + }, + "NotificationConfiguration": { + "$ref": "#/definitions/AWS::SageMaker::Workteam.NotificationConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "WorkteamName": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::Workteam" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SageMaker::Workteam.CognitoMemberDefinition": { + "additionalProperties": false, + "properties": { + "CognitoClientId": { + "type": "string" + }, + "CognitoUserGroup": { + "type": "string" + }, + "CognitoUserPool": { + "type": "string" + } + }, + "required": [ + "CognitoClientId", + "CognitoUserGroup", + "CognitoUserPool" + ], + "type": "object" + }, + "AWS::SageMaker::Workteam.MemberDefinition": { + "additionalProperties": false, + "properties": { + "CognitoMemberDefinition": { + "$ref": "#/definitions/AWS::SageMaker::Workteam.CognitoMemberDefinition" + } + }, + "required": [ + "CognitoMemberDefinition" + ], + "type": "object" + }, + "AWS::SageMaker::Workteam.NotificationConfiguration": { + "additionalProperties": false, + "properties": { + "NotificationTopicArn": { + "type": "string" + } + }, + "required": [ + "NotificationTopicArn" + ], + "type": "object" + }, + "AWS::SecretsManager::ResourcePolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourcePolicy": { + "type": "object" + }, + "SecretId": { + "type": "string" + } + }, + "required": [ + "ResourcePolicy", + "SecretId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecretsManager::ResourcePolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SecretsManager::RotationSchedule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "HostedRotationLambda": { + "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.HostedRotationLambda" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "WorkteamName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::Workteam" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SageMaker::Workteam.CognitoMemberDefinition": { - "additionalProperties": false, - "properties": { - "CognitoClientId": { - "type": "string" - }, - "CognitoUserGroup": { - "type": "string" - }, - "CognitoUserPool": { - "type": "string" - } - }, - "required": [ - "CognitoClientId", - "CognitoUserGroup", - "CognitoUserPool" - ], - "type": "object" - }, - "AWS::SageMaker::Workteam.MemberDefinition": { - "additionalProperties": false, - "properties": { - "CognitoMemberDefinition": { - "$ref": "#/definitions/AWS::SageMaker::Workteam.CognitoMemberDefinition" - } - }, - "required": [ - "CognitoMemberDefinition" - ], - "type": "object" - }, - "AWS::SageMaker::Workteam.NotificationConfiguration": { - "additionalProperties": false, - "properties": { - "NotificationTopicArn": { - "type": "string" - } - }, - "required": [ - "NotificationTopicArn" - ], - "type": "object" - }, - "AWS::SecretsManager::ResourcePolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "RotationLambdaARN": { "type": "string" }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourcePolicy": { - "type": "object" + "RotationRules": { + "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.RotationRules" }, "SecretId": { "type": "string" } }, "required": [ - "ResourcePolicy", "SecretId" ], "type": "object" }, "Type": { "enum": [ - "AWS::SecretsManager::ResourcePolicy" + "AWS::SecretsManager::RotationSchedule" ], "type": "string" }, @@ -62822,71 +65464,33 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::SecretsManager::RotationSchedule": { + "AWS::SecretsManager::RotationSchedule.HostedRotationLambda": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "KmsKeyArn": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "MasterSecretArn": { + "type": "string" }, - "Metadata": { - "type": "object" + "MasterSecretKmsKeyArn": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "RotationLambdaARN": { - "type": "string" - }, - "RotationRules": { - "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.RotationRules" - }, - "SecretId": { - "type": "string" - } - }, - "required": [ - "SecretId" - ], - "type": "object" + "RotationLambdaName": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::SecretsManager::RotationSchedule" - ], + "RotationType": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "VpcSecurityGroupIds": { + "type": "string" + }, + "VpcSubnetIds": { "type": "string" } }, "required": [ - "Type", - "Properties" + "RotationType" ], "type": "object" }, @@ -65233,6 +67837,10 @@ var SamSchema = `{ "type": "string" } }, + "required": [ + "Key", + "Value" + ], "type": "object" }, "AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningPreferences": { @@ -66674,6 +69282,9 @@ var SamSchema = `{ "$ref": "#/definitions/AWS::StepFunctions::StateMachine.TagsEntry" }, "type": "array" + }, + "TracingConfiguration": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachine.TracingConfiguration" } }, "required": [ @@ -66709,9 +69320,6 @@ var SamSchema = `{ "type": "string" } }, - "required": [ - "LogGroupArn" - ], "type": "object" }, "AWS::StepFunctions::StateMachine.DefinitionSubstitutions": { @@ -66781,6 +69389,15 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::StepFunctions::StateMachine.TracingConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::Synthetics::Canary": { "additionalProperties": false, "properties": { @@ -66858,7 +69475,6 @@ var SamSchema = `{ "Code", "ExecutionRoleArn", "Name", - "RunConfig", "RuntimeVersion", "Schedule", "StartCanaryAfterCreation" @@ -66910,6 +69526,9 @@ var SamSchema = `{ "AWS::Synthetics::Canary.RunConfig": { "additionalProperties": false, "properties": { + "MemoryInMB": { + "type": "number" + }, "TimeoutInSeconds": { "type": "number" } @@ -66930,7 +69549,6 @@ var SamSchema = `{ } }, "required": [ - "DurationInSeconds", "Expression" ], "type": "object" @@ -67016,6 +69634,9 @@ var SamSchema = `{ }, "type": "array" }, + "SecurityPolicyName": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -69264,6 +71885,22 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::WAFv2::RuleGroup.ForwardedIPConfiguration": { + "additionalProperties": false, + "properties": { + "FallbackBehavior": { + "type": "string" + }, + "HeaderName": { + "type": "string" + } + }, + "required": [ + "FallbackBehavior", + "HeaderName" + ], + "type": "object" + }, "AWS::WAFv2::RuleGroup.GeoMatchStatement": { "additionalProperties": false, "properties": { @@ -69272,8 +71909,31 @@ var SamSchema = `{ "type": "string" }, "type": "array" + }, + "ForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.ForwardedIPConfiguration" + } + }, + "type": "object" + }, + "AWS::WAFv2::RuleGroup.IPSetForwardedIPConfiguration": { + "additionalProperties": false, + "properties": { + "FallbackBehavior": { + "type": "string" + }, + "HeaderName": { + "type": "string" + }, + "Position": { + "type": "string" } }, + "required": [ + "FallbackBehavior", + "HeaderName", + "Position" + ], "type": "object" }, "AWS::WAFv2::RuleGroup.IPSetReferenceStatement": { @@ -69281,6 +71941,9 @@ var SamSchema = `{ "properties": { "Arn": { "type": "string" + }, + "IPSetForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.IPSetForwardedIPConfiguration" } }, "required": [ @@ -69348,6 +72011,9 @@ var SamSchema = `{ "AggregateKeyType": { "type": "string" }, + "ForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.ForwardedIPConfiguration" + }, "Limit": { "type": "number" }, @@ -69367,6 +72033,9 @@ var SamSchema = `{ "AggregateKeyType": { "type": "string" }, + "ForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.ForwardedIPConfiguration" + }, "Limit": { "type": "number" }, @@ -69849,6 +72518,22 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::WAFv2::WebACL.ForwardedIPConfiguration": { + "additionalProperties": false, + "properties": { + "FallbackBehavior": { + "type": "string" + }, + "HeaderName": { + "type": "string" + } + }, + "required": [ + "FallbackBehavior", + "HeaderName" + ], + "type": "object" + }, "AWS::WAFv2::WebACL.GeoMatchStatement": { "additionalProperties": false, "properties": { @@ -69857,15 +72542,41 @@ var SamSchema = `{ "type": "string" }, "type": "array" + }, + "ForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ForwardedIPConfiguration" } }, "type": "object" }, + "AWS::WAFv2::WebACL.IPSetForwardedIPConfiguration": { + "additionalProperties": false, + "properties": { + "FallbackBehavior": { + "type": "string" + }, + "HeaderName": { + "type": "string" + }, + "Position": { + "type": "string" + } + }, + "required": [ + "FallbackBehavior", + "HeaderName", + "Position" + ], + "type": "object" + }, "AWS::WAFv2::WebACL.IPSetReferenceStatement": { "additionalProperties": false, "properties": { "Arn": { "type": "string" + }, + "IPSetForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.IPSetForwardedIPConfiguration" } }, "required": [ @@ -69967,6 +72678,9 @@ var SamSchema = `{ "AggregateKeyType": { "type": "string" }, + "ForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ForwardedIPConfiguration" + }, "Limit": { "type": "number" }, @@ -69986,6 +72700,9 @@ var SamSchema = `{ "AggregateKeyType": { "type": "string" }, + "ForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ForwardedIPConfiguration" + }, "Limit": { "type": "number" }, @@ -70867,6 +73584,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::ApiGatewayV2::Api" }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides" + }, { "$ref": "#/definitions/AWS::ApiGatewayV2::ApiMapping" }, @@ -70897,6 +73617,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::ApiGatewayV2::Stage" }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::VpcLink" + }, { "$ref": "#/definitions/AWS::AppConfig::Application" }, @@ -70915,12 +73638,18 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::AppConfig::HostedConfigurationVersion" }, + { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute" + }, { "$ref": "#/definitions/AWS::AppMesh::Mesh" }, { "$ref": "#/definitions/AWS::AppMesh::Route" }, + { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway" + }, { "$ref": "#/definitions/AWS::AppMesh::VirtualNode" }, @@ -70978,6 +73707,12 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy" }, + { + "$ref": "#/definitions/AWS::ApplicationInsights::Application" + }, + { + "$ref": "#/definitions/AWS::Athena::DataCatalog" + }, { "$ref": "#/definitions/AWS::Athena::NamedQuery" }, @@ -71251,6 +73986,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::EC2::CapacityReservation" }, + { + "$ref": "#/definitions/AWS::EC2::CarrierGateway" + }, { "$ref": "#/definitions/AWS::EC2::ClientVpnAuthorizationRule" }, @@ -71326,6 +74064,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::EC2::PlacementGroup" }, + { + "$ref": "#/definitions/AWS::EC2::PrefixList" + }, { "$ref": "#/definitions/AWS::EC2::Route" }, @@ -72055,6 +74796,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::QLDB::Ledger" }, + { + "$ref": "#/definitions/AWS::QLDB::Stream" + }, { "$ref": "#/definitions/AWS::RAM::ResourceShare" }, @@ -72229,6 +74973,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::SageMaker::Model" }, + { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule" + }, { "$ref": "#/definitions/AWS::SageMaker::NotebookInstance" }, diff --git a/schema/sam.schema.json b/schema/sam.schema.json index bc72528e3e..5cc9adc821 100644 --- a/schema/sam.schema.json +++ b/schema/sam.schema.json @@ -486,6 +486,9 @@ "Properties": { "additionalProperties": false, "properties": { + "AuthenticationStrategy": { + "type": "string" + }, "AutoMinorVersionUpgrade": { "type": "boolean" }, @@ -510,6 +513,12 @@ "HostInstanceType": { "type": "string" }, + "LdapMetadata": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.LdapMetadata" + }, + "LdapServerMetadata": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.LdapServerMetadata" + }, "Logs": { "$ref": "#/definitions/AWS::AmazonMQ::Broker.LogList" }, @@ -611,6 +620,91 @@ ], "type": "object" }, + "AWS::AmazonMQ::Broker.InterBrokerCred": { + "additionalProperties": false, + "properties": { + "Password": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "Password", + "Username" + ], + "type": "object" + }, + "AWS::AmazonMQ::Broker.LdapMetadata": { + "additionalProperties": false, + "properties": { + "InterBrokerCreds": { + "items": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.InterBrokerCred" + }, + "type": "array" + }, + "ServerMetadata": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.ServerMetadata" + } + }, + "required": [ + "ServerMetadata" + ], + "type": "object" + }, + "AWS::AmazonMQ::Broker.LdapServerMetadata": { + "additionalProperties": false, + "properties": { + "Hosts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RoleBase": { + "type": "string" + }, + "RoleName": { + "type": "string" + }, + "RoleSearchMatching": { + "type": "string" + }, + "RoleSearchSubtree": { + "type": "boolean" + }, + "ServiceAccountPassword": { + "type": "string" + }, + "ServiceAccountUsername": { + "type": "string" + }, + "UserBase": { + "type": "string" + }, + "UserRoleName": { + "type": "string" + }, + "UserSearchMatching": { + "type": "string" + }, + "UserSearchSubtree": { + "type": "boolean" + } + }, + "required": [ + "Hosts", + "RoleBase", + "RoleSearchMatching", + "ServiceAccountPassword", + "ServiceAccountUsername", + "UserBase", + "UserSearchMatching" + ], + "type": "object" + }, "AWS::AmazonMQ::Broker.LogList": { "additionalProperties": false, "properties": { @@ -643,6 +737,57 @@ ], "type": "object" }, + "AWS::AmazonMQ::Broker.ServerMetadata": { + "additionalProperties": false, + "properties": { + "Hosts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RoleBase": { + "type": "string" + }, + "RoleName": { + "type": "string" + }, + "RoleSearchMatching": { + "type": "string" + }, + "RoleSearchSubtree": { + "type": "boolean" + }, + "ServiceAccountPassword": { + "type": "string" + }, + "ServiceAccountUsername": { + "type": "string" + }, + "UserBase": { + "type": "string" + }, + "UserRoleName": { + "type": "string" + }, + "UserSearchMatching": { + "type": "string" + }, + "UserSearchSubtree": { + "type": "boolean" + } + }, + "required": [ + "Hosts", + "RoleBase", + "RoleSearchMatching", + "ServiceAccountPassword", + "ServiceAccountUsername", + "UserBase", + "UserSearchMatching" + ], + "type": "object" + }, "AWS::AmazonMQ::Broker.TagsEntry": { "additionalProperties": false, "properties": { @@ -918,6 +1063,9 @@ "Description": { "type": "string" }, + "EnableBranchAutoDeletion": { + "type": "boolean" + }, "EnvironmentVariables": { "items": { "$ref": "#/definitions/AWS::Amplify::App.EnvironmentVariable" @@ -1230,9 +1378,21 @@ "AppId": { "type": "string" }, + "AutoSubDomainCreationPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AutoSubDomainIAMRole": { + "type": "string" + }, "DomainName": { "type": "string" }, + "EnableAutoSubDomain": { + "type": "boolean" + }, "SubDomainSettings": { "items": { "$ref": "#/definitions/AWS::Amplify::Domain.SubDomainSetting" @@ -2120,9 +2280,6 @@ "type": "array" } }, - "required": [ - "DomainName" - ], "type": "object" }, "Type": { @@ -2141,8 +2298,7 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -3463,6 +3619,176 @@ }, "type": "object" }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "Integration": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.IntegrationOverrides" + }, + "Route": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteOverrides" + }, + "Stage": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.StageOverrides" + } + }, + "required": [ + "ApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.AccessLogSettings": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + }, + "Format": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.IntegrationOverrides": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "IntegrationMethod": { + "type": "string" + }, + "PayloadFormatVersion": { + "type": "string" + }, + "TimeoutInMillis": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteOverrides": { + "additionalProperties": false, + "properties": { + "AuthorizationScopes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AuthorizationType": { + "type": "string" + }, + "AuthorizerId": { + "type": "string" + }, + "OperationName": { + "type": "string" + }, + "Target": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteSettings": { + "additionalProperties": false, + "properties": { + "DataTraceEnabled": { + "type": "boolean" + }, + "DetailedMetricsEnabled": { + "type": "boolean" + }, + "LoggingLevel": { + "type": "string" + }, + "ThrottlingBurstLimit": { + "type": "number" + }, + "ThrottlingRateLimit": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.StageOverrides": { + "additionalProperties": false, + "properties": { + "AccessLogSettings": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.AccessLogSettings" + }, + "AutoDeploy": { + "type": "boolean" + }, + "DefaultRouteSettings": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteSettings" + }, + "Description": { + "type": "string" + }, + "RouteSettings": { + "type": "object" + }, + "StageVariables": { + "type": "object" + } + }, + "type": "object" + }, "AWS::ApiGatewayV2::ApiMapping": { "additionalProperties": false, "properties": { @@ -4400,6 +4726,84 @@ }, "type": "object" }, + "AWS::ApiGatewayV2::VpcLink": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Name", + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::VpcLink" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::AppConfig::Application": { "additionalProperties": false, "properties": { @@ -4980,6 +5384,205 @@ ], "type": "object" }, + "AWS::AppMesh::GatewayRoute": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GatewayRouteName": { + "type": "string" + }, + "MeshName": { + "type": "string" + }, + "MeshOwner": { + "type": "string" + }, + "Spec": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteSpec" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VirtualGatewayName": { + "type": "string" + } + }, + "required": [ + "GatewayRouteName", + "MeshName", + "Spec", + "VirtualGatewayName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppMesh::GatewayRoute" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GatewayRouteSpec": { + "additionalProperties": false, + "properties": { + "GrpcRoute": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRoute" + }, + "Http2Route": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRoute" + }, + "HttpRoute": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRoute" + } + }, + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GatewayRouteTarget": { + "additionalProperties": false, + "properties": { + "VirtualService": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteVirtualService" + } + }, + "required": [ + "VirtualService" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GatewayRouteVirtualService": { + "additionalProperties": false, + "properties": { + "VirtualServiceName": { + "type": "string" + } + }, + "required": [ + "VirtualServiceName" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GrpcGatewayRoute": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteAction" + }, + "Match": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMatch" + } + }, + "required": [ + "Action", + "Match" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteAction": { + "additionalProperties": false, + "properties": { + "Target": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteTarget" + } + }, + "required": [ + "Target" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMatch": { + "additionalProperties": false, + "properties": { + "ServiceName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.HttpGatewayRoute": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRouteAction" + }, + "Match": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRouteMatch" + } + }, + "required": [ + "Action", + "Match" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.HttpGatewayRouteAction": { + "additionalProperties": false, + "properties": { + "Target": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteTarget" + } + }, + "required": [ + "Target" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.HttpGatewayRouteMatch": { + "additionalProperties": false, + "properties": { + "Prefix": { + "type": "string" + } + }, + "required": [ + "Prefix" + ], + "type": "object" + }, "AWS::AppMesh::Mesh": { "additionalProperties": false, "properties": { @@ -5543,7 +6146,7 @@ ], "type": "object" }, - "AWS::AppMesh::VirtualNode": { + "AWS::AppMesh::VirtualGateway": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -5582,7 +6185,7 @@ "type": "string" }, "Spec": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeSpec" + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewaySpec" }, "Tags": { "items": { @@ -5590,20 +6193,20 @@ }, "type": "array" }, - "VirtualNodeName": { + "VirtualGatewayName": { "type": "string" } }, "required": [ "MeshName", "Spec", - "VirtualNodeName" + "VirtualGatewayName" ], "type": "object" }, "Type": { "enum": [ - "AWS::AppMesh::VirtualNode" + "AWS::AppMesh::VirtualGateway" ], "type": "string" }, @@ -5622,81 +6225,34 @@ ], "type": "object" }, - "AWS::AppMesh::VirtualNode.AccessLog": { + "AWS::AppMesh::VirtualGateway.VirtualGatewayAccessLog": { "additionalProperties": false, "properties": { "File": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.FileAccessLog" + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayFileAccessLog" } }, "type": "object" }, - "AWS::AppMesh::VirtualNode.AwsCloudMapInstanceAttribute": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.AwsCloudMapServiceDiscovery": { - "additionalProperties": false, - "properties": { - "Attributes": { - "items": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.AwsCloudMapInstanceAttribute" - }, - "type": "array" - }, - "NamespaceName": { - "type": "string" - }, - "ServiceName": { - "type": "string" - } - }, - "required": [ - "NamespaceName", - "ServiceName" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.Backend": { - "additionalProperties": false, - "properties": { - "VirtualService": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualServiceBackend" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.BackendDefaults": { + "AWS::AppMesh::VirtualGateway.VirtualGatewayBackendDefaults": { "additionalProperties": false, "properties": { "ClientPolicy": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicy" + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicy" } }, "type": "object" }, - "AWS::AppMesh::VirtualNode.ClientPolicy": { + "AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicy": { "additionalProperties": false, "properties": { "TLS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicyTls" + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicyTls" } }, "type": "object" }, - "AWS::AppMesh::VirtualNode.ClientPolicyTls": { + "AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicyTls": { "additionalProperties": false, "properties": { "Enforce": { @@ -5709,7 +6265,7 @@ "type": "array" }, "Validation": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContext" + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContext" } }, "required": [ @@ -5717,35 +6273,7 @@ ], "type": "object" }, - "AWS::AppMesh::VirtualNode.DnsServiceDiscovery": { - "additionalProperties": false, - "properties": { - "Hostname": { - "type": "string" - } - }, - "required": [ - "Hostname" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.Duration": { - "additionalProperties": false, - "properties": { - "Unit": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "required": [ - "Unit", - "Value" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.FileAccessLog": { + "AWS::AppMesh::VirtualGateway.VirtualGatewayFileAccessLog": { "additionalProperties": false, "properties": { "Path": { @@ -5757,19 +6285,438 @@ ], "type": "object" }, - "AWS::AppMesh::VirtualNode.GrpcTimeout": { - "additionalProperties": false, - "properties": { - "Idle": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" - }, - "PerRequest": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.HealthCheck": { + "AWS::AppMesh::VirtualGateway.VirtualGatewayHealthCheckPolicy": { + "additionalProperties": false, + "properties": { + "HealthyThreshold": { + "type": "number" + }, + "IntervalMillis": { + "type": "number" + }, + "Path": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "TimeoutMillis": { + "type": "number" + }, + "UnhealthyThreshold": { + "type": "number" + } + }, + "required": [ + "HealthyThreshold", + "IntervalMillis", + "Protocol", + "TimeoutMillis", + "UnhealthyThreshold" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListener": { + "additionalProperties": false, + "properties": { + "HealthCheck": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayHealthCheckPolicy" + }, + "PortMapping": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayPortMapping" + }, + "TLS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTls" + } + }, + "required": [ + "PortMapping" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTls": { + "additionalProperties": false, + "properties": { + "Certificate": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsCertificate" + }, + "Mode": { + "type": "string" + } + }, + "required": [ + "Certificate", + "Mode" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsAcmCertificate": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsCertificate": { + "additionalProperties": false, + "properties": { + "ACM": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsAcmCertificate" + }, + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsFileCertificate" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsFileCertificate": { + "additionalProperties": false, + "properties": { + "CertificateChain": { + "type": "string" + }, + "PrivateKey": { + "type": "string" + } + }, + "required": [ + "CertificateChain", + "PrivateKey" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayLogging": { + "additionalProperties": false, + "properties": { + "AccessLog": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayAccessLog" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayPortMapping": { + "additionalProperties": false, + "properties": { + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + } + }, + "required": [ + "Port", + "Protocol" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewaySpec": { + "additionalProperties": false, + "properties": { + "BackendDefaults": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayBackendDefaults" + }, + "Listeners": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListener" + }, + "type": "array" + }, + "Logging": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayLogging" + } + }, + "required": [ + "Listeners" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContext": { + "additionalProperties": false, + "properties": { + "Trust": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextTrust" + } + }, + "required": [ + "Trust" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextAcmTrust": { + "additionalProperties": false, + "properties": { + "CertificateAuthorityArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "CertificateAuthorityArns" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextFileTrust": { + "additionalProperties": false, + "properties": { + "CertificateChain": { + "type": "string" + } + }, + "required": [ + "CertificateChain" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextTrust": { + "additionalProperties": false, + "properties": { + "ACM": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextAcmTrust" + }, + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextFileTrust" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MeshName": { + "type": "string" + }, + "MeshOwner": { + "type": "string" + }, + "Spec": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeSpec" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VirtualNodeName": { + "type": "string" + } + }, + "required": [ + "MeshName", + "Spec", + "VirtualNodeName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppMesh::VirtualNode" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.AccessLog": { + "additionalProperties": false, + "properties": { + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.FileAccessLog" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.AwsCloudMapInstanceAttribute": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.AwsCloudMapServiceDiscovery": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.AwsCloudMapInstanceAttribute" + }, + "type": "array" + }, + "NamespaceName": { + "type": "string" + }, + "ServiceName": { + "type": "string" + } + }, + "required": [ + "NamespaceName", + "ServiceName" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.Backend": { + "additionalProperties": false, + "properties": { + "VirtualService": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualServiceBackend" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.BackendDefaults": { + "additionalProperties": false, + "properties": { + "ClientPolicy": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicy" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ClientPolicy": { + "additionalProperties": false, + "properties": { + "TLS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicyTls" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ClientPolicyTls": { + "additionalProperties": false, + "properties": { + "Enforce": { + "type": "boolean" + }, + "Ports": { + "items": { + "type": "number" + }, + "type": "array" + }, + "Validation": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContext" + } + }, + "required": [ + "Validation" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.DnsServiceDiscovery": { + "additionalProperties": false, + "properties": { + "Hostname": { + "type": "string" + } + }, + "required": [ + "Hostname" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.Duration": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.FileAccessLog": { + "additionalProperties": false, + "properties": { + "Path": { + "type": "string" + } + }, + "required": [ + "Path" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.GrpcTimeout": { + "additionalProperties": false, + "properties": { + "Idle": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + }, + "PerRequest": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.HealthCheck": { "additionalProperties": false, "properties": { "HealthyThreshold": { @@ -8314,6 +9261,441 @@ ], "type": "object" }, + "AWS::ApplicationInsights::Application": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoConfigurationEnabled": { + "type": "boolean" + }, + "CWEMonitorEnabled": { + "type": "boolean" + }, + "ComponentMonitoringSettings": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.ComponentMonitoringSetting" + }, + "type": "array" + }, + "CustomComponents": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.CustomComponent" + }, + "type": "array" + }, + "LogPatternSets": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.LogPatternSet" + }, + "type": "array" + }, + "OpsCenterEnabled": { + "type": "boolean" + }, + "OpsItemSNSTopicArn": { + "type": "string" + }, + "ResourceGroupName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ResourceGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApplicationInsights::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.Alarm": { + "additionalProperties": false, + "properties": { + "AlarmName": { + "type": "string" + }, + "Severity": { + "type": "string" + } + }, + "required": [ + "AlarmName" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.AlarmMetric": { + "additionalProperties": false, + "properties": { + "AlarmMetricName": { + "type": "string" + } + }, + "required": [ + "AlarmMetricName" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.ComponentConfiguration": { + "additionalProperties": false, + "properties": { + "ConfigurationDetails": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.ConfigurationDetails" + }, + "SubComponentTypeConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.SubComponentTypeConfiguration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ApplicationInsights::Application.ComponentMonitoringSetting": { + "additionalProperties": false, + "properties": { + "ComponentARN": { + "type": "string" + }, + "ComponentConfigurationMode": { + "type": "string" + }, + "ComponentName": { + "type": "string" + }, + "CustomComponentConfiguration": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.ComponentConfiguration" + }, + "DefaultOverwriteComponentConfiguration": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.ComponentConfiguration" + }, + "Tier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApplicationInsights::Application.ConfigurationDetails": { + "additionalProperties": false, + "properties": { + "AlarmMetrics": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.AlarmMetric" + }, + "type": "array" + }, + "Alarms": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.Alarm" + }, + "type": "array" + }, + "Logs": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.Log" + }, + "type": "array" + }, + "WindowsEvents": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.WindowsEvent" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ApplicationInsights::Application.CustomComponent": { + "additionalProperties": false, + "properties": { + "ComponentName": { + "type": "string" + }, + "ResourceList": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ComponentName", + "ResourceList" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.Log": { + "additionalProperties": false, + "properties": { + "Encoding": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "LogPath": { + "type": "string" + }, + "LogType": { + "type": "string" + }, + "PatternSet": { + "type": "string" + } + }, + "required": [ + "LogType" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.LogPattern": { + "additionalProperties": false, + "properties": { + "Pattern": { + "type": "string" + }, + "PatternName": { + "type": "string" + }, + "Rank": { + "type": "number" + } + }, + "required": [ + "Pattern", + "PatternName", + "Rank" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.LogPatternSet": { + "additionalProperties": false, + "properties": { + "LogPatterns": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.LogPattern" + }, + "type": "array" + }, + "PatternSetName": { + "type": "string" + } + }, + "required": [ + "LogPatterns", + "PatternSetName" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.SubComponentConfigurationDetails": { + "additionalProperties": false, + "properties": { + "AlarmMetrics": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.AlarmMetric" + }, + "type": "array" + }, + "Logs": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.Log" + }, + "type": "array" + }, + "WindowsEvents": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.WindowsEvent" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ApplicationInsights::Application.SubComponentTypeConfiguration": { + "additionalProperties": false, + "properties": { + "SubComponentConfigurationDetails": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.SubComponentConfigurationDetails" + }, + "SubComponentType": { + "type": "string" + } + }, + "required": [ + "SubComponentConfigurationDetails", + "SubComponentType" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.WindowsEvent": { + "additionalProperties": false, + "properties": { + "EventLevels": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EventName": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "PatternSet": { + "type": "string" + } + }, + "required": [ + "EventLevels", + "EventName", + "LogGroupName" + ], + "type": "object" + }, + "AWS::Athena::DataCatalog": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Tags": { + "$ref": "#/definitions/AWS::Athena::DataCatalog.Tags" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Athena::DataCatalog" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Athena::DataCatalog.Tags": { + "additionalProperties": false, + "properties": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::Athena::NamedQuery": { "additionalProperties": false, "properties": { @@ -8663,6 +10045,9 @@ "MixedInstancesPolicy": { "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.MixedInstancesPolicy" }, + "NewInstancesProtectedFromScaleIn": { + "type": "boolean" + }, "NotificationConfigurations": { "items": { "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.NotificationConfiguration" @@ -11944,6 +13329,9 @@ }, "type": "array" }, + "CachePolicyId": { + "type": "string" + }, "CachedMethods": { "items": { "type": "string" @@ -11974,6 +13362,9 @@ "MinTTL": { "type": "number" }, + "OriginRequestPolicyId": { + "type": "string" + }, "PathPattern": { "type": "string" }, @@ -11994,7 +13385,6 @@ } }, "required": [ - "ForwardedValues", "PathPattern", "TargetOriginId", "ViewerProtocolPolicy" @@ -12079,6 +13469,9 @@ }, "type": "array" }, + "CachePolicyId": { + "type": "string" + }, "CachedMethods": { "items": { "type": "string" @@ -12109,6 +13502,9 @@ "MinTTL": { "type": "number" }, + "OriginRequestPolicyId": { + "type": "string" + }, "SmoothStreaming": { "type": "boolean" }, @@ -12126,7 +13522,6 @@ } }, "required": [ - "ForwardedValues", "TargetOriginId", "ViewerProtocolPolicy" ], @@ -13393,6 +14788,9 @@ "BadgeEnabled": { "type": "boolean" }, + "BuildBatchConfig": { + "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectBuildBatchConfig" + }, "Cache": { "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectCache" }, @@ -13528,6 +14926,33 @@ ], "type": "object" }, + "AWS::CodeBuild::Project.BatchRestrictions": { + "additionalProperties": false, + "properties": { + "ComputeTypesAllowed": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaximumBuildsAllowed": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Project.BuildStatusConfig": { + "additionalProperties": false, + "properties": { + "Context": { + "type": "string" + }, + "TargetUrl": { + "type": "string" + } + }, + "type": "object" + }, "AWS::CodeBuild::Project.CloudWatchLogsConfig": { "additionalProperties": false, "properties": { @@ -13632,6 +15057,24 @@ }, "type": "object" }, + "AWS::CodeBuild::Project.ProjectBuildBatchConfig": { + "additionalProperties": false, + "properties": { + "CombineArtifacts": { + "type": "boolean" + }, + "Restrictions": { + "$ref": "#/definitions/AWS::CodeBuild::Project.BatchRestrictions" + }, + "ServiceRole": { + "type": "string" + }, + "TimeoutInMins": { + "type": "number" + } + }, + "type": "object" + }, "AWS::CodeBuild::Project.ProjectCache": { "additionalProperties": false, "properties": { @@ -13753,6 +15196,9 @@ "BuildSpec": { "type": "string" }, + "BuildStatusConfig": { + "$ref": "#/definitions/AWS::CodeBuild::Project.BuildStatusConfig" + }, "GitCloneDepth": { "type": "number" }, @@ -14105,6 +15551,9 @@ "AWS::CodeCommit::Repository.Code": { "additionalProperties": false, "properties": { + "BranchName": { + "type": "string" + }, "S3": { "$ref": "#/definitions/AWS::CodeCommit::Repository.S3" } @@ -14715,8 +16164,23 @@ "AgentPermissions": { "type": "object" }, + "AnomalyDetectionNotificationConfiguration": { + "items": { + "$ref": "#/definitions/AWS::CodeGuruProfiler::ProfilingGroup.Channel" + }, + "type": "array" + }, + "ComputePlatform": { + "type": "string" + }, "ProfilingGroupName": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -14745,6 +16209,21 @@ ], "type": "object" }, + "AWS::CodeGuruProfiler::ProfilingGroup.Channel": { + "additionalProperties": false, + "properties": { + "channelId": { + "type": "string" + }, + "channelUri": { + "type": "string" + } + }, + "required": [ + "channelUri" + ], + "type": "object" + }, "AWS::CodePipeline::CustomActionType": { "additionalProperties": false, "properties": { @@ -15466,6 +16945,9 @@ "ConnectionName": { "type": "string" }, + "HostArn": { + "type": "string" + }, "ProviderType": { "type": "string" }, @@ -15477,8 +16959,7 @@ } }, "required": [ - "ConnectionName", - "ProviderType" + "ConnectionName" ], "type": "object" }, @@ -20707,6 +22188,83 @@ }, "type": "object" }, + "AWS::EC2::CarrierGateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Tags": { + "$ref": "#/definitions/AWS::EC2::CarrierGateway.Tags" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::CarrierGateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::CarrierGateway.Tags": { + "additionalProperties": false, + "properties": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::EC2::ClientVpnAuthorizationRule": { "additionalProperties": false, "properties": { @@ -21811,15 +23369,27 @@ "LogDestinationType": { "type": "string" }, + "LogFormat": { + "type": "string" + }, "LogGroupName": { "type": "string" }, + "MaxAggregationInterval": { + "type": "number" + }, "ResourceId": { "type": "string" }, "ResourceType": { "type": "string" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "TrafficType": { "type": "string" } @@ -23746,6 +25316,103 @@ ], "type": "object" }, + "AWS::EC2::PrefixList": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AddressFamily": { + "type": "string" + }, + "Entries": { + "items": { + "$ref": "#/definitions/AWS::EC2::PrefixList.Entry" + }, + "type": "array" + }, + "MaxEntries": { + "type": "number" + }, + "PrefixListName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AddressFamily", + "MaxEntries", + "PrefixListName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::PrefixList" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::PrefixList.Entry": { + "additionalProperties": false, + "properties": { + "Cidr": { + "type": "string" + }, + "Description": { + "type": "string" + } + }, + "required": [ + "Cidr" + ], + "type": "object" + }, "AWS::EC2::Route": { "additionalProperties": false, "properties": { @@ -25407,6 +27074,9 @@ "DnsSupport": { "type": "string" }, + "MulticastSupport": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -26955,8 +28625,14 @@ "Properties": { "additionalProperties": false, "properties": { + "ImageScanningConfiguration": { + "type": "object" + }, + "ImageTagMutability": { + "type": "string" + }, "LifecyclePolicy": { - "$ref": "#/definitions/AWS::ECR::Repository.LifecyclePolicy" + "type": "object" }, "RepositoryName": { "type": "string" @@ -26993,18 +28669,6 @@ ], "type": "object" }, - "AWS::ECR::Repository.LifecyclePolicy": { - "additionalProperties": false, - "properties": { - "LifecyclePolicyText": { - "type": "string" - }, - "RegistryId": { - "type": "string" - } - }, - "type": "object" - }, "AWS::ECS::CapacityProvider": { "additionalProperties": false, "properties": { @@ -27627,6 +29291,9 @@ }, "type": "array" }, + "TaskDefinitionStatus": { + "type": "string" + }, "TaskRoleArn": { "type": "string" }, @@ -27659,6 +29326,18 @@ ], "type": "object" }, + "AWS::ECS::TaskDefinition.AuthorizationConfig": { + "additionalProperties": false, + "properties": { + "AccessPointId": { + "type": "string" + }, + "IAM": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ECS::TaskDefinition.ContainerDefinition": { "additionalProperties": false, "properties": { @@ -27719,6 +29398,12 @@ }, "type": "array" }, + "EnvironmentFiles": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.EnvironmentFile" + }, + "type": "array" + }, "Essential": { "type": "boolean" }, @@ -27843,10 +29528,6 @@ "type": "string" } }, - "required": [ - "Condition", - "ContainerName" - ], "type": "object" }, "AWS::ECS::TaskDefinition.Device": { @@ -27865,9 +29546,6 @@ "type": "array" } }, - "required": [ - "HostPath" - ], "type": "object" }, "AWS::ECS::TaskDefinition.DockerVolumeConfiguration": { @@ -27903,27 +29581,54 @@ }, "type": "object" }, - "AWS::ECS::TaskDefinition.FirelensConfiguration": { + "AWS::ECS::TaskDefinition.EFSVolumeConfiguration": { "additionalProperties": false, "properties": { - "Options": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, + "AuthorizationConfig": { "type": "object" }, - "Type": { + "FilesystemId": { + "type": "string" + }, + "RootDirectory": { "type": "string" + }, + "TransitEncryption": { + "type": "string" + }, + "TransitEncryptionPort": { + "type": "number" } }, "required": [ - "Type" + "FilesystemId" ], "type": "object" }, + "AWS::ECS::TaskDefinition.EnvironmentFile": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.FirelensConfiguration": { + "additionalProperties": false, + "properties": { + "Options": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Options" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ECS::TaskDefinition.HealthCheck": { "additionalProperties": false, "properties": { @@ -27946,9 +29651,6 @@ "type": "number" } }, - "required": [ - "Command" - ], "type": "object" }, "AWS::ECS::TaskDefinition.HostEntry": { @@ -27961,10 +29663,6 @@ "type": "string" } }, - "required": [ - "Hostname", - "IpAddress" - ], "type": "object" }, "AWS::ECS::TaskDefinition.HostVolumeProperties": { @@ -28058,13 +29756,7 @@ "type": "string" }, "Options": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Options" }, "SecretOptions": { "items": { @@ -28093,6 +29785,11 @@ }, "type": "object" }, + "AWS::ECS::TaskDefinition.Options": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::ECS::TaskDefinition.PortMapping": { "additionalProperties": false, "properties": { @@ -28180,10 +29877,6 @@ "type": "string" } }, - "required": [ - "Namespace", - "Value" - ], "type": "object" }, "AWS::ECS::TaskDefinition.TaskDefinitionPlacementConstraint": { @@ -28248,6 +29941,9 @@ "DockerVolumeConfiguration": { "$ref": "#/definitions/AWS::ECS::TaskDefinition.DockerVolumeConfiguration" }, + "EFSVolumeConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.EFSVolumeConfiguration" + }, "Host": { "$ref": "#/definitions/AWS::ECS::TaskDefinition.HostVolumeProperties" }, @@ -28622,6 +30318,9 @@ "Properties": { "additionalProperties": false, "properties": { + "BackupPolicy": { + "$ref": "#/definitions/AWS::EFS::FileSystem.BackupPolicy" + }, "Encrypted": { "type": "boolean" }, @@ -28675,6 +30374,18 @@ ], "type": "object" }, + "AWS::EFS::FileSystem.BackupPolicy": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, "AWS::EFS::FileSystem.ElasticFileSystemTag": { "additionalProperties": false, "properties": { @@ -28955,6 +30666,9 @@ "Labels": { "type": "object" }, + "LaunchTemplate": { + "$ref": "#/definitions/AWS::EKS::Nodegroup.LaunchTemplateSpecification" + }, "NodeRole": { "type": "string" }, @@ -29011,6 +30725,21 @@ ], "type": "object" }, + "AWS::EKS::Nodegroup.LaunchTemplateSpecification": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EKS::Nodegroup.RemoteAccess": { "additionalProperties": false, "properties": { @@ -31886,6 +33615,12 @@ "Properties": { "additionalProperties": false, "properties": { + "AlpnPolicy": { + "items": { + "type": "string" + }, + "type": "array" + }, "Certificates": { "items": { "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.Certificate" @@ -32977,9 +34712,15 @@ }, "type": "object" }, + "AdvancedSecurityOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.AdvancedSecurityOptionsInput" + }, "CognitoOptions": { "$ref": "#/definitions/AWS::Elasticsearch::Domain.CognitoOptions" }, + "DomainEndpointOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.DomainEndpointOptions" + }, "DomainName": { "type": "string" }, @@ -33042,6 +34783,21 @@ ], "type": "object" }, + "AWS::Elasticsearch::Domain.AdvancedSecurityOptionsInput": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "InternalUserDatabaseEnabled": { + "type": "boolean" + }, + "MasterUserOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.MasterUserOptions" + } + }, + "type": "object" + }, "AWS::Elasticsearch::Domain.CognitoOptions": { "additionalProperties": false, "properties": { @@ -33060,6 +34816,18 @@ }, "type": "object" }, + "AWS::Elasticsearch::Domain.DomainEndpointOptions": { + "additionalProperties": false, + "properties": { + "EnforceHTTPS": { + "type": "boolean" + }, + "TLSSecurityPolicy": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Elasticsearch::Domain.EBSOptions": { "additionalProperties": false, "properties": { @@ -33129,6 +34897,21 @@ }, "type": "object" }, + "AWS::Elasticsearch::Domain.MasterUserOptions": { + "additionalProperties": false, + "properties": { + "MasterUserARN": { + "type": "string" + }, + "MasterUserName": { + "type": "string" + }, + "MasterUserPassword": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Elasticsearch::Domain.NodeToNodeEncryptionOptions": { "additionalProperties": false, "properties": { @@ -34326,9 +36109,24 @@ "AWS::FSx::FileSystem.LustreConfiguration": { "additionalProperties": false, "properties": { + "AutoImportPolicy": { + "type": "string" + }, + "AutomaticBackupRetentionDays": { + "type": "number" + }, + "CopyTagsToBackups": { + "type": "boolean" + }, + "DailyAutomaticBackupStartTime": { + "type": "string" + }, "DeploymentType": { "type": "string" }, + "DriveCacheType": { + "type": "string" + }, "ExportPath": { "type": "string" }, @@ -40704,6 +42502,12 @@ "Platform": { "type": "string" }, + "SupportedOsVersions": { + "items": { + "type": "string" + }, + "type": "array" + }, "Tags": { "additionalProperties": true, "patternProperties": { @@ -40845,102 +42649,108 @@ "type": "string" } }, - "type": "object" - }, - "AWS::ImageBuilder::Image": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DistributionConfigurationArn": { - "type": "string" - }, - "ImageRecipeArn": { - "type": "string" - }, - "ImageTestsConfiguration": { - "$ref": "#/definitions/AWS::ImageBuilder::Image.ImageTestsConfiguration" - }, - "InfrastructureConfigurationArn": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "ImageRecipeArn", - "InfrastructureConfigurationArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ImageBuilder::Image" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, "required": [ - "Type", - "Properties" + "Region" ], "type": "object" }, - "AWS::ImageBuilder::Image.ImageTestsConfiguration": { - "additionalProperties": false, - "properties": { - "ImageTestsEnabled": { - "type": "boolean" - }, - "TimeoutMinutes": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ImagePipeline": { + "AWS::ImageBuilder::Image": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DistributionConfigurationArn": { + "type": "string" + }, + "EnhancedImageMetadataEnabled": { + "type": "boolean" + }, + "ImageRecipeArn": { + "type": "string" + }, + "ImageTestsConfiguration": { + "$ref": "#/definitions/AWS::ImageBuilder::Image.ImageTestsConfiguration" + }, + "InfrastructureConfigurationArn": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "ImageRecipeArn", + "InfrastructureConfigurationArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ImageBuilder::Image" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::Image.ImageTestsConfiguration": { + "additionalProperties": false, + "properties": { + "ImageTestsEnabled": { + "type": "boolean" + }, + "TimeoutMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImagePipeline": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -40978,6 +42788,9 @@ "DistributionConfigurationArn": { "type": "string" }, + "EnhancedImageMetadataEnabled": { + "type": "boolean" + }, "ImageRecipeArn": { "type": "string" }, @@ -41122,6 +42935,9 @@ }, "Version": { "type": "string" + }, + "WorkingDirectory": { + "type": "string" } }, "required": [ @@ -41260,6 +43076,15 @@ "Name": { "type": "string" }, + "ResourceTags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, "SecurityGroupIds": { "items": { "type": "string" @@ -41802,6 +43627,15 @@ "Properties": { "additionalProperties": false, "properties": { + "CACertificatePem": { + "type": "string" + }, + "CertificateMode": { + "type": "string" + }, + "CertificatePem": { + "type": "string" + }, "CertificateSigningRequest": { "type": "string" }, @@ -41810,7 +43644,6 @@ } }, "required": [ - "CertificateSigningRequest", "Status" ], "type": "object" @@ -42012,10 +43845,7 @@ "type": "string" }, "Tags": { - "items": { - "type": "object" - }, - "type": "array" + "$ref": "#/definitions/AWS::IoT::ProvisioningTemplate.Tags" }, "TemplateBody": { "type": "string" @@ -42063,149 +43893,161 @@ }, "type": "object" }, - "AWS::IoT::Thing": { + "AWS::IoT::ProvisioningTemplate.Tags": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AttributePayload": { - "$ref": "#/definitions/AWS::IoT::Thing.AttributePayload" - }, - "ThingName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::Thing" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IoT::Thing.AttributePayload": { - "additionalProperties": false, - "properties": { - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "AWS::IoT::ThingPrincipalAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Principal": { - "type": "string" - }, - "ThingName": { - "type": "string" - } + "Tags": { + "items": { + "type": "object" }, - "required": [ - "Principal", - "ThingName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::ThingPrincipalAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "type": "array" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::IoT::TopicRule": { + "AWS::IoT::Thing": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AttributePayload": { + "$ref": "#/definitions/AWS::IoT::Thing.AttributePayload" + }, + "ThingName": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::Thing" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IoT::Thing.AttributePayload": { + "additionalProperties": false, + "properties": { + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::IoT::ThingPrincipalAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Principal": { + "type": "string" + }, + "ThingName": { + "type": "string" + } + }, + "required": [ + "Principal", + "ThingName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::ThingPrincipalAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::TopicRule": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -46230,6 +48072,9 @@ "ExtendedS3DestinationConfiguration": { "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ExtendedS3DestinationConfiguration" }, + "HttpEndpointDestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointDestinationConfiguration" + }, "KinesisStreamSourceConfiguration": { "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.KinesisStreamSourceConfiguration" }, @@ -46481,6 +48326,92 @@ }, "type": "object" }, + "AWS::KinesisFirehose::DeliveryStream.HttpEndpointCommonAttribute": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + }, + "AttributeValue": { + "type": "string" + } + }, + "required": [ + "AttributeName", + "AttributeValue" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.HttpEndpointConfiguration": { + "additionalProperties": false, + "properties": { + "AccessKey": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Url" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.HttpEndpointDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BufferingHints": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" + }, + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" + }, + "EndpointConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointConfiguration" + }, + "ProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" + }, + "RequestConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointRequestConfiguration" + }, + "RetryOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RetryOptions" + }, + "RoleARN": { + "type": "string" + }, + "S3BackupMode": { + "type": "string" + }, + "S3Configuration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + } + }, + "required": [ + "EndpointConfiguration", + "S3Configuration" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.HttpEndpointRequestConfiguration": { + "additionalProperties": false, + "properties": { + "CommonAttributes": { + "items": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointCommonAttribute" + }, + "type": "array" + }, + "ContentEncoding": { + "type": "string" + } + }, + "type": "object" + }, "AWS::KinesisFirehose::DeliveryStream.InputFormatConfiguration": { "additionalProperties": false, "properties": { @@ -46716,6 +48647,15 @@ }, "type": "object" }, + "AWS::KinesisFirehose::DeliveryStream.RetryOptions": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "number" + } + }, + "type": "object" + }, "AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration": { "additionalProperties": false, "properties": { @@ -47466,6 +49406,12 @@ }, "StartingPosition": { "type": "string" + }, + "Topics": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ @@ -47502,9 +49448,6 @@ "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.OnFailure" } }, - "required": [ - "OnFailure" - ], "type": "object" }, "AWS::Lambda::EventSourceMapping.OnFailure": { @@ -47514,9 +49457,6 @@ "type": "string" } }, - "required": [ - "Destination" - ], "type": "object" }, "AWS::Lambda::Function": { @@ -47563,6 +49503,12 @@ "Environment": { "$ref": "#/definitions/AWS::Lambda::Function.Environment" }, + "FileSystemConfigs": { + "items": { + "$ref": "#/definitions/AWS::Lambda::Function.FileSystemConfig" + }, + "type": "array" + }, "FunctionName": { "type": "string" }, @@ -47677,6 +49623,22 @@ }, "type": "object" }, + "AWS::Lambda::Function.FileSystemConfig": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "LocalMountPath": { + "type": "string" + } + }, + "required": [ + "Arn", + "LocalMountPath" + ], + "type": "object" + }, "AWS::Lambda::Function.TracingConfig": { "additionalProperties": false, "properties": { @@ -55193,7 +57155,7 @@ ], "type": "object" }, - "AWS::RAM::ResourceShare": { + "AWS::QLDB::Stream": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -55225,23 +57187,23 @@ "Properties": { "additionalProperties": false, "properties": { - "AllowExternalPrincipals": { - "type": "boolean" + "ExclusiveEndTime": { + "type": "string" }, - "Name": { + "InclusiveStartTime": { "type": "string" }, - "Principals": { - "items": { - "type": "string" - }, - "type": "array" + "KinesisConfiguration": { + "$ref": "#/definitions/AWS::QLDB::Stream.KinesisConfiguration" }, - "ResourceArns": { - "items": { - "type": "string" - }, - "type": "array" + "LedgerName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "StreamName": { + "type": "string" }, "Tags": { "items": { @@ -55251,13 +57213,17 @@ } }, "required": [ - "Name" + "InclusiveStartTime", + "KinesisConfiguration", + "LedgerName", + "RoleArn", + "StreamName" ], "type": "object" }, "Type": { "enum": [ - "AWS::RAM::ResourceShare" + "AWS::QLDB::Stream" ], "type": "string" }, @@ -55276,7 +57242,102 @@ ], "type": "object" }, - "AWS::RDS::DBCluster": { + "AWS::QLDB::Stream.KinesisConfiguration": { + "additionalProperties": false, + "properties": { + "AggregationEnabled": { + "type": "boolean" + }, + "StreamArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RAM::ResourceShare": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowExternalPrincipals": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Principals": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ResourceArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RAM::ResourceShare" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBCluster": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -56081,10 +58142,14 @@ }, "DBProxyName": { "type": "string" + }, + "TargetGroupName": { + "type": "string" } }, "required": [ - "DBProxyName" + "DBProxyName", + "TargetGroupName" ], "type": "object" }, @@ -60620,9 +62685,6 @@ "DisplayName": { "type": "string" }, - "FifoTopic": { - "type": "boolean" - }, "KmsMasterKeyId": { "type": "string" }, @@ -60944,6 +63006,9 @@ "Properties": { "additionalProperties": false, "properties": { + "ApplyOnlyAtCronInterval": { + "type": "boolean" + }, "AssociationName": { "type": "string" }, @@ -62235,6 +64300,9 @@ "Properties": { "additionalProperties": false, "properties": { + "DataCaptureConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.DataCaptureConfig" + }, "EndpointConfigName": { "type": "string" }, @@ -62280,6 +64348,68 @@ ], "type": "object" }, + "AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader": { + "additionalProperties": false, + "properties": { + "CsvContentTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "JsonContentTypes": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::EndpointConfig.CaptureOption": { + "additionalProperties": false, + "properties": { + "CaptureMode": { + "type": "string" + } + }, + "required": [ + "CaptureMode" + ], + "type": "object" + }, + "AWS::SageMaker::EndpointConfig.DataCaptureConfig": { + "additionalProperties": false, + "properties": { + "CaptureContentTypeHeader": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader" + }, + "CaptureOptions": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureOption" + }, + "type": "array" + }, + "DestinationS3Uri": { + "type": "string" + }, + "EnableCapture": { + "type": "boolean" + }, + "InitialSamplingPercentage": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" + } + }, + "required": [ + "CaptureOptions", + "DestinationS3Uri", + "InitialSamplingPercentage" + ], + "type": "object" + }, "AWS::SageMaker::EndpointConfig.ProductionVariant": { "additionalProperties": false, "properties": { @@ -62411,14 +64541,455 @@ }, "ModelDataUrl": { "type": "string" + }, + "ModelPackageName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::Model.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "Image" + "SecurityGroupIds", + "Subnets" ], "type": "object" }, - "AWS::SageMaker::Model.VpcConfig": { + "AWS::SageMaker::MonitoringSchedule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CreationTime": { + "type": "string" + }, + "EndpointName": { + "type": "string" + }, + "FailureReason": { + "type": "string" + }, + "LastModifiedTime": { + "type": "string" + }, + "LastMonitoringExecutionSummary": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary" + }, + "MonitoringScheduleArn": { + "type": "string" + }, + "MonitoringScheduleConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig" + }, + "MonitoringScheduleName": { + "type": "string" + }, + "MonitoringScheduleStatus": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "MonitoringScheduleConfig", + "MonitoringScheduleName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::MonitoringSchedule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.BaselineConfig": { + "additionalProperties": false, + "properties": { + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ConstraintsResource" + }, + "StatisticsResource": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StatisticsResource" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.ClusterConfig": { + "additionalProperties": false, + "properties": { + "InstanceCount": { + "type": "number" + }, + "InstanceType": { + "type": "string" + }, + "VolumeKmsKeyId": { + "type": "string" + }, + "VolumeSizeInGB": { + "type": "number" + } + }, + "required": [ + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.ConstraintsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.EndpointInput": { + "additionalProperties": false, + "properties": { + "EndpointName": { + "type": "string" + }, + "LocalPath": { + "type": "string" + }, + "S3DataDistributionType": { + "type": "string" + }, + "S3InputMode": { + "type": "string" + } + }, + "required": [ + "EndpointName", + "LocalPath" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.Environment": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification": { + "additionalProperties": false, + "properties": { + "ContainerArguments": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ContainerEntrypoint": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ImageUri": { + "type": "string" + }, + "PostAnalyticsProcessorSourceUri": { + "type": "string" + }, + "RecordPreprocessorSourceUri": { + "type": "string" + } + }, + "required": [ + "ImageUri" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary": { + "additionalProperties": false, + "properties": { + "CreationTime": { + "type": "string" + }, + "EndpointName": { + "type": "string" + }, + "FailureReason": { + "type": "string" + }, + "LastModifiedTime": { + "type": "string" + }, + "MonitoringExecutionStatus": { + "type": "string" + }, + "MonitoringScheduleName": { + "type": "string" + }, + "ProcessingJobArn": { + "type": "string" + }, + "ScheduledTime": { + "type": "string" + } + }, + "required": [ + "CreationTime", + "LastModifiedTime", + "MonitoringExecutionStatus", + "MonitoringScheduleName", + "ScheduledTime" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringInput": { + "additionalProperties": false, + "properties": { + "EndpointInput": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.EndpointInput" + } + }, + "required": [ + "EndpointInput" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringInputs": { + "additionalProperties": false, + "properties": { + "MonitoringInputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringInput" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition": { + "additionalProperties": false, + "properties": { + "BaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.BaselineConfig" + }, + "Environment": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.Environment" + }, + "MonitoringAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification" + }, + "MonitoringInputs": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringInputs" + }, + "MonitoringOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig" + }, + "MonitoringResources": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringResources" + }, + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.NetworkConfig" + }, + "RoleArn": { + "type": "string" + }, + "StoppingCondition": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StoppingCondition" + } + }, + "required": [ + "MonitoringAppSpecification", + "MonitoringInputs", + "MonitoringOutputConfig", + "MonitoringResources", + "RoleArn" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringOutput": { + "additionalProperties": false, + "properties": { + "S3Output": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.S3Output" + } + }, + "required": [ + "S3Output" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "MonitoringOutputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutput" + }, + "type": "array" + } + }, + "required": [ + "MonitoringOutputs" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringResources": { + "additionalProperties": false, + "properties": { + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ClusterConfig" + } + }, + "required": [ + "ClusterConfig" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig": { + "additionalProperties": false, + "properties": { + "MonitoringJobDefinition": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition" + }, + "ScheduleConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ScheduleConfig" + } + }, + "required": [ + "MonitoringJobDefinition" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.NetworkConfig": { + "additionalProperties": false, + "properties": { + "EnableInterContainerTrafficEncryption": { + "type": "boolean" + }, + "EnableNetworkIsolation": { + "type": "boolean" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.VpcConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.S3Output": { + "additionalProperties": false, + "properties": { + "LocalPath": { + "type": "string" + }, + "S3UploadMode": { + "type": "string" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "LocalPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.ScheduleConfig": { + "additionalProperties": false, + "properties": { + "ScheduleExpression": { + "type": "string" + } + }, + "required": [ + "ScheduleExpression" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.StatisticsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.StoppingCondition": { + "additionalProperties": false, + "properties": { + "MaxRuntimeInSeconds": { + "type": "number" + } + }, + "required": [ + "MaxRuntimeInSeconds" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.VpcConfig": { "additionalProperties": false, "properties": { "SecurityGroupIds": { @@ -62665,142 +65236,213 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "MemberDefinitions": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Workteam.MemberDefinition" - }, - "type": "array" - }, - "NotificationConfiguration": { - "$ref": "#/definitions/AWS::SageMaker::Workteam.NotificationConfiguration" + "Description": { + "type": "string" + }, + "MemberDefinitions": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Workteam.MemberDefinition" + }, + "type": "array" + }, + "NotificationConfiguration": { + "$ref": "#/definitions/AWS::SageMaker::Workteam.NotificationConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "WorkteamName": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::Workteam" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SageMaker::Workteam.CognitoMemberDefinition": { + "additionalProperties": false, + "properties": { + "CognitoClientId": { + "type": "string" + }, + "CognitoUserGroup": { + "type": "string" + }, + "CognitoUserPool": { + "type": "string" + } + }, + "required": [ + "CognitoClientId", + "CognitoUserGroup", + "CognitoUserPool" + ], + "type": "object" + }, + "AWS::SageMaker::Workteam.MemberDefinition": { + "additionalProperties": false, + "properties": { + "CognitoMemberDefinition": { + "$ref": "#/definitions/AWS::SageMaker::Workteam.CognitoMemberDefinition" + } + }, + "required": [ + "CognitoMemberDefinition" + ], + "type": "object" + }, + "AWS::SageMaker::Workteam.NotificationConfiguration": { + "additionalProperties": false, + "properties": { + "NotificationTopicArn": { + "type": "string" + } + }, + "required": [ + "NotificationTopicArn" + ], + "type": "object" + }, + "AWS::SecretsManager::ResourcePolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourcePolicy": { + "type": "object" + }, + "SecretId": { + "type": "string" + } + }, + "required": [ + "ResourcePolicy", + "SecretId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecretsManager::ResourcePolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SecretsManager::RotationSchedule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "HostedRotationLambda": { + "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.HostedRotationLambda" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "WorkteamName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::Workteam" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SageMaker::Workteam.CognitoMemberDefinition": { - "additionalProperties": false, - "properties": { - "CognitoClientId": { - "type": "string" - }, - "CognitoUserGroup": { - "type": "string" - }, - "CognitoUserPool": { - "type": "string" - } - }, - "required": [ - "CognitoClientId", - "CognitoUserGroup", - "CognitoUserPool" - ], - "type": "object" - }, - "AWS::SageMaker::Workteam.MemberDefinition": { - "additionalProperties": false, - "properties": { - "CognitoMemberDefinition": { - "$ref": "#/definitions/AWS::SageMaker::Workteam.CognitoMemberDefinition" - } - }, - "required": [ - "CognitoMemberDefinition" - ], - "type": "object" - }, - "AWS::SageMaker::Workteam.NotificationConfiguration": { - "additionalProperties": false, - "properties": { - "NotificationTopicArn": { - "type": "string" - } - }, - "required": [ - "NotificationTopicArn" - ], - "type": "object" - }, - "AWS::SecretsManager::ResourcePolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "RotationLambdaARN": { "type": "string" }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourcePolicy": { - "type": "object" + "RotationRules": { + "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.RotationRules" }, "SecretId": { "type": "string" } }, "required": [ - "ResourcePolicy", "SecretId" ], "type": "object" }, "Type": { "enum": [ - "AWS::SecretsManager::ResourcePolicy" + "AWS::SecretsManager::RotationSchedule" ], "type": "string" }, @@ -62819,71 +65461,33 @@ ], "type": "object" }, - "AWS::SecretsManager::RotationSchedule": { + "AWS::SecretsManager::RotationSchedule.HostedRotationLambda": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "KmsKeyArn": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "MasterSecretArn": { + "type": "string" }, - "Metadata": { - "type": "object" + "MasterSecretKmsKeyArn": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "RotationLambdaARN": { - "type": "string" - }, - "RotationRules": { - "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.RotationRules" - }, - "SecretId": { - "type": "string" - } - }, - "required": [ - "SecretId" - ], - "type": "object" + "RotationLambdaName": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::SecretsManager::RotationSchedule" - ], + "RotationType": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "VpcSecurityGroupIds": { + "type": "string" + }, + "VpcSubnetIds": { "type": "string" } }, "required": [ - "Type", - "Properties" + "RotationType" ], "type": "object" }, @@ -65230,6 +67834,10 @@ "type": "string" } }, + "required": [ + "Key", + "Value" + ], "type": "object" }, "AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningPreferences": { @@ -66671,6 +69279,9 @@ "$ref": "#/definitions/AWS::StepFunctions::StateMachine.TagsEntry" }, "type": "array" + }, + "TracingConfiguration": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachine.TracingConfiguration" } }, "required": [ @@ -66706,9 +69317,6 @@ "type": "string" } }, - "required": [ - "LogGroupArn" - ], "type": "object" }, "AWS::StepFunctions::StateMachine.DefinitionSubstitutions": { @@ -66778,6 +69386,15 @@ ], "type": "object" }, + "AWS::StepFunctions::StateMachine.TracingConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::Synthetics::Canary": { "additionalProperties": false, "properties": { @@ -66855,7 +69472,6 @@ "Code", "ExecutionRoleArn", "Name", - "RunConfig", "RuntimeVersion", "Schedule", "StartCanaryAfterCreation" @@ -66907,6 +69523,9 @@ "AWS::Synthetics::Canary.RunConfig": { "additionalProperties": false, "properties": { + "MemoryInMB": { + "type": "number" + }, "TimeoutInSeconds": { "type": "number" } @@ -66927,7 +69546,6 @@ } }, "required": [ - "DurationInSeconds", "Expression" ], "type": "object" @@ -67013,6 +69631,9 @@ }, "type": "array" }, + "SecurityPolicyName": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -69261,6 +71882,22 @@ }, "type": "object" }, + "AWS::WAFv2::RuleGroup.ForwardedIPConfiguration": { + "additionalProperties": false, + "properties": { + "FallbackBehavior": { + "type": "string" + }, + "HeaderName": { + "type": "string" + } + }, + "required": [ + "FallbackBehavior", + "HeaderName" + ], + "type": "object" + }, "AWS::WAFv2::RuleGroup.GeoMatchStatement": { "additionalProperties": false, "properties": { @@ -69269,8 +71906,31 @@ "type": "string" }, "type": "array" + }, + "ForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.ForwardedIPConfiguration" + } + }, + "type": "object" + }, + "AWS::WAFv2::RuleGroup.IPSetForwardedIPConfiguration": { + "additionalProperties": false, + "properties": { + "FallbackBehavior": { + "type": "string" + }, + "HeaderName": { + "type": "string" + }, + "Position": { + "type": "string" } }, + "required": [ + "FallbackBehavior", + "HeaderName", + "Position" + ], "type": "object" }, "AWS::WAFv2::RuleGroup.IPSetReferenceStatement": { @@ -69278,6 +71938,9 @@ "properties": { "Arn": { "type": "string" + }, + "IPSetForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.IPSetForwardedIPConfiguration" } }, "required": [ @@ -69345,6 +72008,9 @@ "AggregateKeyType": { "type": "string" }, + "ForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.ForwardedIPConfiguration" + }, "Limit": { "type": "number" }, @@ -69364,6 +72030,9 @@ "AggregateKeyType": { "type": "string" }, + "ForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.ForwardedIPConfiguration" + }, "Limit": { "type": "number" }, @@ -69846,6 +72515,22 @@ }, "type": "object" }, + "AWS::WAFv2::WebACL.ForwardedIPConfiguration": { + "additionalProperties": false, + "properties": { + "FallbackBehavior": { + "type": "string" + }, + "HeaderName": { + "type": "string" + } + }, + "required": [ + "FallbackBehavior", + "HeaderName" + ], + "type": "object" + }, "AWS::WAFv2::WebACL.GeoMatchStatement": { "additionalProperties": false, "properties": { @@ -69854,15 +72539,41 @@ "type": "string" }, "type": "array" + }, + "ForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ForwardedIPConfiguration" } }, "type": "object" }, + "AWS::WAFv2::WebACL.IPSetForwardedIPConfiguration": { + "additionalProperties": false, + "properties": { + "FallbackBehavior": { + "type": "string" + }, + "HeaderName": { + "type": "string" + }, + "Position": { + "type": "string" + } + }, + "required": [ + "FallbackBehavior", + "HeaderName", + "Position" + ], + "type": "object" + }, "AWS::WAFv2::WebACL.IPSetReferenceStatement": { "additionalProperties": false, "properties": { "Arn": { "type": "string" + }, + "IPSetForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.IPSetForwardedIPConfiguration" } }, "required": [ @@ -69964,6 +72675,9 @@ "AggregateKeyType": { "type": "string" }, + "ForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ForwardedIPConfiguration" + }, "Limit": { "type": "number" }, @@ -69983,6 +72697,9 @@ "AggregateKeyType": { "type": "string" }, + "ForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ForwardedIPConfiguration" + }, "Limit": { "type": "number" }, @@ -70864,6 +73581,9 @@ { "$ref": "#/definitions/AWS::ApiGatewayV2::Api" }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides" + }, { "$ref": "#/definitions/AWS::ApiGatewayV2::ApiMapping" }, @@ -70894,6 +73614,9 @@ { "$ref": "#/definitions/AWS::ApiGatewayV2::Stage" }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::VpcLink" + }, { "$ref": "#/definitions/AWS::AppConfig::Application" }, @@ -70912,12 +73635,18 @@ { "$ref": "#/definitions/AWS::AppConfig::HostedConfigurationVersion" }, + { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute" + }, { "$ref": "#/definitions/AWS::AppMesh::Mesh" }, { "$ref": "#/definitions/AWS::AppMesh::Route" }, + { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway" + }, { "$ref": "#/definitions/AWS::AppMesh::VirtualNode" }, @@ -70975,6 +73704,12 @@ { "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy" }, + { + "$ref": "#/definitions/AWS::ApplicationInsights::Application" + }, + { + "$ref": "#/definitions/AWS::Athena::DataCatalog" + }, { "$ref": "#/definitions/AWS::Athena::NamedQuery" }, @@ -71248,6 +73983,9 @@ { "$ref": "#/definitions/AWS::EC2::CapacityReservation" }, + { + "$ref": "#/definitions/AWS::EC2::CarrierGateway" + }, { "$ref": "#/definitions/AWS::EC2::ClientVpnAuthorizationRule" }, @@ -71323,6 +74061,9 @@ { "$ref": "#/definitions/AWS::EC2::PlacementGroup" }, + { + "$ref": "#/definitions/AWS::EC2::PrefixList" + }, { "$ref": "#/definitions/AWS::EC2::Route" }, @@ -72052,6 +74793,9 @@ { "$ref": "#/definitions/AWS::QLDB::Ledger" }, + { + "$ref": "#/definitions/AWS::QLDB::Stream" + }, { "$ref": "#/definitions/AWS::RAM::ResourceShare" }, @@ -72226,6 +74970,9 @@ { "$ref": "#/definitions/AWS::SageMaker::Model" }, + { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule" + }, { "$ref": "#/definitions/AWS::SageMaker::NotebookInstance" }, From e7917ba8a7647c74bd100e57fc361ddbb5514c71 Mon Sep 17 00:00:00 2001 From: Paul Maddox Date: Sun, 16 Aug 2020 09:26:22 +0400 Subject: [PATCH 18/57] Update update_schema.yml --- .github/workflows/update_schema.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/update_schema.yml b/.github/workflows/update_schema.yml index 792246c8a4..431977348a 100644 --- a/.github/workflows/update_schema.yml +++ b/.github/workflows/update_schema.yml @@ -1,6 +1,8 @@ name: Update Schema -on: [deployment] +on: + schedule: + - cron: '0 0 * * *' jobs: run: @@ -17,4 +19,4 @@ jobs: - name: Update Schema run: ./generate/create-pull-request.sh env: - GITHUB_TOKEN: ${{ secrets.GOFORMATION_GH_TOKEN }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 66bc344ed6a17a613abbb4d217afcc0b8ea02b48 Mon Sep 17 00:00:00 2001 From: Paul Maddox Date: Sun, 16 Aug 2020 09:29:35 +0400 Subject: [PATCH 19/57] feat(schema): dummy commit - trigger CI for schema update --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 575af81c59..d88b0c3e97 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ ![Version](https://img.shields.io/github/v/release/awslabs/goformation?label=stable%20version) ![Commits since release](https://img.shields.io/github.amrom.workers.devmits-since/awslabs/goformation/latest) [![Actions Status](https://github.com/awslabs/goformation/workflows/Release/badge.svg)](https://github.com/awslabs/goformation/actions) [![GoDoc Reference](https://godoc.org/gopkg.in/awslabs/goformation.v1?status.svg)](http://godoc.org/github.com/awslabs/goformation) ![Apache-2.0](https://img.shields.io/badge/Licence-Apache%202.0-blue.svg) ![Downloads](https://img.shields.io/github/downloads/awslabs/goformation/total) - + `GoFormation` is a Go library for working with AWS CloudFormation / AWS Serverless Application Model (SAM) templates. - [Main features](#main-features) - [Installation](#installation) From 2dbbc973243810f1bda177b48f6ead6938d1fd55 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Sun, 16 Aug 2020 05:30:31 +0000 Subject: [PATCH 20/57] chore(release): 4.15.0 [skip ci] # [4.15.0](https://github.com/awslabs/goformation/compare/v4.14.0...v4.15.0) (2020-08-16) ### Features * **schema:** dummy commit - trigger CI for schema update ([66bc344](https://github.com/awslabs/goformation/commit/66bc344ed6a17a613abbb4d217afcc0b8ea02b48)) --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 04938c48a5..9064567649 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # GoFormation Versioning Changelog +# [4.15.0](https://github.com/awslabs/goformation/compare/v4.14.0...v4.15.0) (2020-08-16) + + +### Features + +* **schema:** dummy commit - trigger CI for schema update ([66bc344](https://github.com/awslabs/goformation/commit/66bc344ed6a17a613abbb4d217afcc0b8ea02b48)) + # [4.14.0](https://github.com/awslabs/goformation/compare/v4.13.1...v4.14.0) (2020-07-26) From 828d966054ee95a6662b83155381d24545f727b8 Mon Sep 17 00:00:00 2001 From: Paul Maddox Date: Tue, 25 Aug 2020 09:19:14 +0400 Subject: [PATCH 21/57] Check for properties with no type in CFN spec (#301) * Check for properties with no type in CFN spec If the CloudFormation Resource Specification has a resource property that does not include any type information then this should be a breaking error and generation should fail. See #300 --- generate/generate.go | 14 ++++++++++++++ generate/property.go | 16 ++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/generate/generate.go b/generate/generate.go index 3bc74b7636..a5118a80fc 100644 --- a/generate/generate.go +++ b/generate/generate.go @@ -164,6 +164,20 @@ func (rg *ResourceGenerator) processSpec(specname string, data []byte) (*CloudFo return nil, err } + // Check that all of resource properties have a valid type + // see: https://github.com/awslabs/goformation/issues/300 + invalid := []string{} + for rname, resource := range spec.Resources { + for pname, property := range resource.Properties { + if !property.HasValidType() { + invalid = append(invalid, fmt.Sprintf("\t%s.%s", rname, pname)) + } + } + } + if len(invalid) > 0 { + return nil, fmt.Errorf("the following resource properties have no type information in the CloudFormation Resource Specification:\n%s\n", strings.Join(invalid, "\n")) + } + // Add the resources processed to the ResourceGenerator output for name := range spec.Resources { diff --git a/generate/property.go b/generate/property.go index 55fdbd386b..3667b21fb2 100644 --- a/generate/property.go +++ b/generate/property.go @@ -129,6 +129,22 @@ func (p Property) Schema(name, parent string) string { } +// HasValidType checks whether a property has a valid type defined +// It is possible that an invalid CloudFormation Resource Specification is published +// that does not have any type information for a property. If this happens, then +// generation should fail with an error message. +func (p Property) HasValidType() bool { + invalid := p.ItemType == "" && + p.PrimitiveType == "" && + p.PrimitiveItemType == "" && + p.Type == "" && + len(p.ItemTypes) == 0 && + len(p.PrimitiveTypes) == 0 && + len(p.PrimitiveItemTypes) == 0 && + len(p.Types) == 0 + return !invalid +} + // IsPolymorphic checks whether a property can be multiple different types func (p Property) IsPolymorphic() bool { return len(p.PrimitiveTypes) > 0 || len(p.PrimitiveItemTypes) > 0 || len(p.PrimitiveItemTypes) > 0 || len(p.ItemTypes) > 0 || len(p.Types) > 0 From 5f66a0da42693b974bded86fab50de4b123ed811 Mon Sep 17 00:00:00 2001 From: Paul Maddox Date: Tue, 25 Aug 2020 09:37:54 +0400 Subject: [PATCH 22/57] Add badge for automatic schema updates --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index d88b0c3e97..7234ace5f0 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,6 @@ # AWS GoFormation -![Version](https://img.shields.io/github/v/release/awslabs/goformation?label=stable%20version) ![Commits since release](https://img.shields.io/github.amrom.workers.devmits-since/awslabs/goformation/latest) [![Actions Status](https://github.com/awslabs/goformation/workflows/Release/badge.svg)](https://github.com/awslabs/goformation/actions) - [![GoDoc Reference](https://godoc.org/gopkg.in/awslabs/goformation.v1?status.svg)](http://godoc.org/github.com/awslabs/goformation) ![Apache-2.0](https://img.shields.io/badge/Licence-Apache%202.0-blue.svg) ![Downloads](https://img.shields.io/github/downloads/awslabs/goformation/total) +![Version](https://img.shields.io/github/v/release/awslabs/goformation?label=stable%20version) ![Commits since release](https://img.shields.io/github.amrom.workers.devmits-since/awslabs/goformation/latest) [![Actions Status](https://github.com/awslabs/goformation/workflows/Release/badge.svg)](https://github.com/awslabs/goformation/actions) ![Update Schema](https://github.com/awslabs/goformation/workflows/Update%20Schema/badge.svg) [![GoDoc Reference](https://godoc.org/gopkg.in/awslabs/goformation.v1?status.svg)](http://godoc.org/github.com/awslabs/goformation) ![Apache-2.0](https://img.shields.io/badge/Licence-Apache%202.0-blue.svg) ![Downloads](https://img.shields.io/github/downloads/awslabs/goformation/total) `GoFormation` is a Go library for working with AWS CloudFormation / AWS Serverless Application Model (SAM) templates. - [Main features](#main-features) From 1fab032afa2d4b7cc1ddd230da687c21abe44494 Mon Sep 17 00:00:00 2001 From: Jarred Ward Date: Wed, 23 Sep 2020 14:25:09 -0700 Subject: [PATCH 23/57] `go mod vendor` --- .../xeipuuv/gojsonpointer/README.md | 35 +- .../xeipuuv/gojsonpointer/pointer.go | 21 + .../xeipuuv/gojsonreference/reference.go | 18 +- vendor/golang.org/x/net/html/atom/gen.go | 648 -- vendor/golang.org/x/net/html/atom/table.go | 1474 +++-- vendor/golang.org/x/net/html/const.go | 15 +- vendor/golang.org/x/net/html/doc.go | 8 +- vendor/golang.org/x/net/html/entity.go | 4154 ++++++------ vendor/golang.org/x/net/html/foreign.go | 7 +- vendor/golang.org/x/net/html/node.go | 38 +- vendor/golang.org/x/net/html/parse.go | 771 ++- vendor/golang.org/x/net/html/render.go | 34 +- vendor/golang.org/x/net/html/token.go | 13 +- vendor/golang.org/x/sys/unix/.gitignore | 1 + vendor/golang.org/x/sys/unix/README.md | 20 +- .../golang.org/x/sys/unix/affinity_linux.go | 124 + vendor/golang.org/x/sys/unix/aliases.go | 14 + vendor/golang.org/x/sys/unix/asm_aix_ppc64.s | 17 + .../x/sys/unix/asm_dragonfly_amd64.s | 10 +- .../golang.org/x/sys/unix/asm_freebsd_arm64.s | 29 + vendor/golang.org/x/sys/unix/asm_linux_386.s | 36 +- .../golang.org/x/sys/unix/asm_linux_amd64.s | 30 +- vendor/golang.org/x/sys/unix/asm_linux_arm.s | 35 +- .../golang.org/x/sys/unix/asm_linux_arm64.s | 30 +- .../golang.org/x/sys/unix/asm_linux_mips64x.s | 36 +- .../golang.org/x/sys/unix/asm_linux_mipsx.s | 33 +- .../golang.org/x/sys/unix/asm_linux_ppc64x.s | 38 +- .../golang.org/x/sys/unix/asm_linux_s390x.s | 28 + .../golang.org/x/sys/unix/asm_netbsd_arm64.s | 29 + vendor/golang.org/x/sys/unix/cap_freebsd.go | 30 +- vendor/golang.org/x/sys/unix/constants.go | 2 +- vendor/golang.org/x/sys/unix/dev_aix_ppc.go | 27 + vendor/golang.org/x/sys/unix/dev_aix_ppc64.go | 29 + vendor/golang.org/x/sys/unix/dev_darwin.go | 24 + vendor/golang.org/x/sys/unix/dev_dragonfly.go | 30 + vendor/golang.org/x/sys/unix/dev_freebsd.go | 30 + vendor/golang.org/x/sys/unix/dev_linux.go | 8 +- vendor/golang.org/x/sys/unix/dev_netbsd.go | 29 + vendor/golang.org/x/sys/unix/dev_openbsd.go | 29 + vendor/golang.org/x/sys/unix/dirent.go | 91 +- vendor/golang.org/x/sys/unix/env_unix.go | 8 +- vendor/golang.org/x/sys/unix/env_unset.go | 14 - .../x/sys/unix/{flock.go => fcntl.go} | 12 +- vendor/golang.org/x/sys/unix/fcntl_darwin.go | 18 + ...ck_linux_32bit.go => fcntl_linux_32bit.go} | 0 vendor/golang.org/x/sys/unix/file_unix.go | 27 - vendor/golang.org/x/sys/unix/gccgo.go | 20 +- vendor/golang.org/x/sys/unix/gccgo_c.c | 12 +- .../x/sys/unix/gccgo_linux_amd64.go | 2 +- .../x/sys/unix/gccgo_linux_sparc64.go | 20 - vendor/golang.org/x/sys/unix/ioctl.go | 30 + vendor/golang.org/x/sys/unix/mkall.sh | 113 +- vendor/golang.org/x/sys/unix/mkerrors.sh | 164 +- vendor/golang.org/x/sys/unix/mkpost.go | 88 - vendor/golang.org/x/sys/unix/mksyscall.pl | 328 - .../x/sys/unix/mksyscall_solaris.pl | 289 - .../golang.org/x/sys/unix/mksysctl_openbsd.pl | 3 +- .../golang.org/x/sys/unix/mksysnum_darwin.pl | 39 - .../x/sys/unix/mksysnum_dragonfly.pl | 50 - .../golang.org/x/sys/unix/mksysnum_freebsd.pl | 50 - .../golang.org/x/sys/unix/mksysnum_netbsd.pl | 58 - .../golang.org/x/sys/unix/mksysnum_openbsd.pl | 50 - .../golang.org/x/sys/unix/openbsd_pledge.go | 152 +- .../golang.org/x/sys/unix/openbsd_unveil.go | 44 + vendor/golang.org/x/sys/unix/pagesize_unix.go | 15 + vendor/golang.org/x/sys/unix/race.go | 2 +- vendor/golang.org/x/sys/unix/race0.go | 4 +- .../golang.org/x/sys/unix/sockcmsg_linux.go | 2 +- vendor/golang.org/x/sys/unix/sockcmsg_unix.go | 29 +- vendor/golang.org/x/sys/unix/str.go | 2 +- vendor/golang.org/x/sys/unix/syscall.go | 37 +- vendor/golang.org/x/sys/unix/syscall_aix.go | 547 ++ .../golang.org/x/sys/unix/syscall_aix_ppc.go | 34 + .../x/sys/unix/syscall_aix_ppc64.go | 34 + vendor/golang.org/x/sys/unix/syscall_bsd.go | 108 +- .../golang.org/x/sys/unix/syscall_darwin.go | 269 +- .../x/sys/unix/syscall_darwin_386.go | 42 +- .../x/sys/unix/syscall_darwin_amd64.go | 42 +- .../x/sys/unix/syscall_darwin_arm.go | 43 +- .../x/sys/unix/syscall_darwin_arm64.go | 45 +- .../x/sys/unix/syscall_darwin_libSystem.go | 31 + .../x/sys/unix/syscall_dragonfly.go | 176 +- .../x/sys/unix/syscall_dragonfly_amd64.go | 17 +- .../golang.org/x/sys/unix/syscall_freebsd.go | 596 +- .../x/sys/unix/syscall_freebsd_386.go | 17 +- .../x/sys/unix/syscall_freebsd_amd64.go | 17 +- .../x/sys/unix/syscall_freebsd_arm.go | 17 +- .../x/sys/unix/syscall_freebsd_arm64.go | 52 + vendor/golang.org/x/sys/unix/syscall_linux.go | 501 +- .../x/sys/unix/syscall_linux_386.go | 39 +- .../x/sys/unix/syscall_linux_amd64.go | 72 +- .../x/sys/unix/syscall_linux_arm.go | 37 +- .../x/sys/unix/syscall_linux_arm64.go | 90 +- .../golang.org/x/sys/unix/syscall_linux_gc.go | 14 + .../x/sys/unix/syscall_linux_gc_386.go | 16 + .../x/sys/unix/syscall_linux_gccgo_386.go | 30 + .../x/sys/unix/syscall_linux_gccgo_arm.go | 20 + .../x/sys/unix/syscall_linux_mips64x.go | 41 +- .../x/sys/unix/syscall_linux_mipsx.go | 39 +- .../x/sys/unix/syscall_linux_ppc64x.go | 51 +- .../x/sys/unix/syscall_linux_riscv64.go | 213 + .../x/sys/unix/syscall_linux_s390x.go | 36 +- .../x/sys/unix/syscall_linux_sparc64.go | 40 +- .../golang.org/x/sys/unix/syscall_netbsd.go | 182 +- .../x/sys/unix/syscall_netbsd_386.go | 17 +- .../x/sys/unix/syscall_netbsd_amd64.go | 17 +- .../x/sys/unix/syscall_netbsd_arm.go | 17 +- .../x/sys/unix/syscall_netbsd_arm64.go | 33 + .../golang.org/x/sys/unix/syscall_no_getwd.go | 11 - .../golang.org/x/sys/unix/syscall_openbsd.go | 208 +- .../x/sys/unix/syscall_openbsd_386.go | 21 +- .../x/sys/unix/syscall_openbsd_amd64.go | 21 +- .../x/sys/unix/syscall_openbsd_arm.go | 23 +- .../golang.org/x/sys/unix/syscall_solaris.go | 121 +- .../x/sys/unix/syscall_solaris_amd64.go | 20 +- vendor/golang.org/x/sys/unix/syscall_unix.go | 122 +- .../golang.org/x/sys/unix/syscall_unix_gc.go | 2 +- .../x/sys/unix/syscall_unix_gc_ppc64x.go | 24 + vendor/golang.org/x/sys/unix/timestruct.go | 82 + vendor/golang.org/x/sys/unix/types_darwin.go | 254 - .../golang.org/x/sys/unix/types_dragonfly.go | 242 - vendor/golang.org/x/sys/unix/types_freebsd.go | 372 -- vendor/golang.org/x/sys/unix/types_netbsd.go | 232 - vendor/golang.org/x/sys/unix/types_openbsd.go | 244 - vendor/golang.org/x/sys/unix/types_solaris.go | 269 - vendor/golang.org/x/sys/unix/xattr_bsd.go | 240 + .../golang.org/x/sys/unix/zerrors_aix_ppc.go | 1372 ++++ .../x/sys/unix/zerrors_aix_ppc64.go | 1373 ++++ .../x/sys/unix/zerrors_darwin_386.go | 388 +- .../x/sys/unix/zerrors_darwin_amd64.go | 388 +- .../x/sys/unix/zerrors_darwin_arm.go | 388 +- .../x/sys/unix/zerrors_darwin_arm64.go | 388 +- .../x/sys/unix/zerrors_dragonfly_amd64.go | 354 +- .../x/sys/unix/zerrors_freebsd_386.go | 349 +- .../x/sys/unix/zerrors_freebsd_amd64.go | 349 +- .../x/sys/unix/zerrors_freebsd_arm.go | 349 +- .../x/sys/unix/zerrors_freebsd_arm64.go | 1794 +++++ .../x/sys/unix/zerrors_linux_386.go | 950 ++- .../x/sys/unix/zerrors_linux_amd64.go | 951 ++- .../x/sys/unix/zerrors_linux_arm.go | 951 ++- .../x/sys/unix/zerrors_linux_arm64.go | 953 ++- .../x/sys/unix/zerrors_linux_mips.go | 952 ++- .../x/sys/unix/zerrors_linux_mips64.go | 954 ++- .../x/sys/unix/zerrors_linux_mips64le.go | 954 ++- .../x/sys/unix/zerrors_linux_mipsle.go | 952 ++- .../x/sys/unix/zerrors_linux_ppc64.go | 953 ++- .../x/sys/unix/zerrors_linux_ppc64le.go | 953 ++- .../x/sys/unix/zerrors_linux_riscv64.go | 2769 ++++++++ .../x/sys/unix/zerrors_linux_s390x.go | 950 ++- .../x/sys/unix/zerrors_linux_sparc64.go | 4590 +++++++------ .../x/sys/unix/zerrors_netbsd_386.go | 322 +- .../x/sys/unix/zerrors_netbsd_amd64.go | 322 +- .../x/sys/unix/zerrors_netbsd_arm.go | 325 +- .../x/sys/unix/zerrors_netbsd_arm64.go | 1762 +++++ .../x/sys/unix/zerrors_openbsd_386.go | 322 +- .../x/sys/unix/zerrors_openbsd_amd64.go | 572 +- .../x/sys/unix/zerrors_openbsd_arm.go | 322 +- .../x/sys/unix/zerrors_solaris_amd64.go | 377 +- .../golang.org/x/sys/unix/zptrace386_linux.go | 80 + .../golang.org/x/sys/unix/zptracearm_linux.go | 41 + .../x/sys/unix/zptracemips_linux.go | 50 + .../x/sys/unix/zptracemipsle_linux.go | 50 + .../golang.org/x/sys/unix/zsyscall_aix_ppc.go | 1450 ++++ .../x/sys/unix/zsyscall_aix_ppc64.go | 1408 ++++ .../x/sys/unix/zsyscall_aix_ppc64_gc.go | 1162 ++++ .../x/sys/unix/zsyscall_aix_ppc64_gccgo.go | 1042 +++ .../x/sys/unix/zsyscall_darwin_386.1_11.go | 1810 +++++ .../x/sys/unix/zsyscall_darwin_386.go | 1542 ++++- .../x/sys/unix/zsyscall_darwin_386.s | 284 + .../x/sys/unix/zsyscall_darwin_amd64.1_11.go | 1810 +++++ .../x/sys/unix/zsyscall_darwin_amd64.go | 1553 ++++- .../x/sys/unix/zsyscall_darwin_amd64.s | 286 + .../x/sys/unix/zsyscall_darwin_arm.1_11.go | 1793 +++++ .../x/sys/unix/zsyscall_darwin_arm.go | 1468 ++++- .../x/sys/unix/zsyscall_darwin_arm.s | 282 + .../x/sys/unix/zsyscall_darwin_arm64.1_11.go | 1793 +++++ .../x/sys/unix/zsyscall_darwin_arm64.go | 1468 ++++- .../x/sys/unix/zsyscall_darwin_arm64.s | 282 + .../x/sys/unix/zsyscall_dragonfly_amd64.go | 366 +- .../x/sys/unix/zsyscall_freebsd_386.go | 309 +- .../x/sys/unix/zsyscall_freebsd_amd64.go | 309 +- .../x/sys/unix/zsyscall_freebsd_arm.go | 309 +- .../x/sys/unix/zsyscall_freebsd_arm64.go | 2015 ++++++ .../x/sys/unix/zsyscall_linux_386.go | 442 +- .../x/sys/unix/zsyscall_linux_amd64.go | 460 +- .../x/sys/unix/zsyscall_linux_arm.go | 446 +- .../x/sys/unix/zsyscall_linux_arm64.go | 357 +- .../x/sys/unix/zsyscall_linux_mips.go | 472 +- .../x/sys/unix/zsyscall_linux_mips64.go | 423 +- .../x/sys/unix/zsyscall_linux_mips64le.go | 423 +- .../x/sys/unix/zsyscall_linux_mipsle.go | 472 +- .../x/sys/unix/zsyscall_linux_ppc64.go | 459 +- .../x/sys/unix/zsyscall_linux_ppc64le.go | 459 +- .../x/sys/unix/zsyscall_linux_riscv64.go | 2188 +++++++ .../x/sys/unix/zsyscall_linux_s390x.go | 427 +- .../x/sys/unix/zsyscall_linux_sparc64.go | 760 ++- .../x/sys/unix/zsyscall_netbsd_386.go | 693 +- .../x/sys/unix/zsyscall_netbsd_amd64.go | 693 +- .../x/sys/unix/zsyscall_netbsd_arm.go | 693 +- .../x/sys/unix/zsyscall_netbsd_arm64.go | 1826 ++++++ .../x/sys/unix/zsyscall_openbsd_386.go | 421 +- .../x/sys/unix/zsyscall_openbsd_amd64.go | 421 +- .../x/sys/unix/zsyscall_openbsd_arm.go | 429 +- .../x/sys/unix/zsyscall_solaris_amd64.go | 381 +- ...sctl_openbsd.go => zsysctl_openbsd_386.go} | 2 +- .../x/sys/unix/zsysctl_openbsd_amd64.go | 270 + .../x/sys/unix/zsysctl_openbsd_arm.go | 270 + .../x/sys/unix/zsysnum_darwin_386.go | 60 +- .../x/sys/unix/zsysnum_darwin_amd64.go | 62 +- .../x/sys/unix/zsysnum_darwin_arm.go | 14 +- .../x/sys/unix/zsysnum_darwin_arm64.go | 14 +- .../x/sys/unix/zsysnum_dragonfly_amd64.go | 176 +- .../x/sys/unix/zsysnum_freebsd_386.go | 738 ++- .../x/sys/unix/zsysnum_freebsd_amd64.go | 738 ++- .../x/sys/unix/zsysnum_freebsd_arm.go | 738 ++- .../x/sys/unix/zsysnum_freebsd_arm64.go | 395 ++ .../x/sys/unix/zsysnum_linux_386.go | 6 +- .../x/sys/unix/zsysnum_linux_amd64.go | 5 +- .../x/sys/unix/zsysnum_linux_arm.go | 5 +- .../x/sys/unix/zsysnum_linux_arm64.go | 5 +- .../x/sys/unix/zsysnum_linux_mips.go | 5 +- .../x/sys/unix/zsysnum_linux_mips64.go | 5 +- .../x/sys/unix/zsysnum_linux_mips64le.go | 5 +- .../x/sys/unix/zsysnum_linux_mipsle.go | 5 +- .../x/sys/unix/zsysnum_linux_ppc64.go | 8 +- .../x/sys/unix/zsysnum_linux_ppc64le.go | 8 +- .../x/sys/unix/zsysnum_linux_riscv64.go | 287 + .../x/sys/unix/zsysnum_linux_s390x.go | 52 +- .../x/sys/unix/zsysnum_linux_sparc64.go | 6 +- .../x/sys/unix/zsysnum_netbsd_386.go | 5 +- .../x/sys/unix/zsysnum_netbsd_amd64.go | 5 +- .../x/sys/unix/zsysnum_netbsd_arm.go | 5 +- .../x/sys/unix/zsysnum_netbsd_arm64.go | 274 + .../x/sys/unix/zsysnum_openbsd_386.go | 223 +- .../x/sys/unix/zsysnum_openbsd_amd64.go | 223 +- .../x/sys/unix/zsysnum_openbsd_arm.go | 217 +- .../x/sys/unix/zsysnum_solaris_amd64.go | 13 - .../golang.org/x/sys/unix/ztypes_aix_ppc.go | 345 + .../golang.org/x/sys/unix/ztypes_aix_ppc64.go | 354 + .../x/sys/unix/ztypes_darwin_386.go | 149 +- .../x/sys/unix/ztypes_darwin_amd64.go | 195 +- .../x/sys/unix/ztypes_darwin_arm.go | 149 +- .../x/sys/unix/ztypes_darwin_arm64.go | 200 +- .../x/sys/unix/ztypes_dragonfly_amd64.go | 170 +- .../x/sys/unix/ztypes_freebsd_386.go | 308 +- .../x/sys/unix/ztypes_freebsd_amd64.go | 326 +- .../x/sys/unix/ztypes_freebsd_arm.go | 330 +- .../x/sys/unix/ztypes_freebsd_arm64.go | 602 ++ .../golang.org/x/sys/unix/ztypes_linux_386.go | 1657 ++++- .../x/sys/unix/ztypes_linux_amd64.go | 1658 ++++- .../golang.org/x/sys/unix/ztypes_linux_arm.go | 1677 ++++- .../x/sys/unix/ztypes_linux_arm64.go | 1660 ++++- .../x/sys/unix/ztypes_linux_mips.go | 1642 ++++- .../x/sys/unix/ztypes_linux_mips64.go | 1656 ++++- .../x/sys/unix/ztypes_linux_mips64le.go | 1656 ++++- .../x/sys/unix/ztypes_linux_mipsle.go | 1642 ++++- .../x/sys/unix/ztypes_linux_ppc64.go | 1666 ++++- .../x/sys/unix/ztypes_linux_ppc64le.go | 1666 ++++- .../x/sys/unix/ztypes_linux_riscv64.go | 2046 ++++++ .../x/sys/unix/ztypes_linux_s390x.go | 1601 ++++- .../x/sys/unix/ztypes_linux_sparc64.go | 1758 ++++- .../x/sys/unix/ztypes_netbsd_386.go | 83 +- .../x/sys/unix/ztypes_netbsd_amd64.go | 83 +- .../x/sys/unix/ztypes_netbsd_arm.go | 83 +- .../x/sys/unix/ztypes_netbsd_arm64.go | 472 ++ .../x/sys/unix/ztypes_openbsd_386.go | 167 +- .../x/sys/unix/ztypes_openbsd_amd64.go | 258 +- .../x/sys/unix/ztypes_openbsd_arm.go | 249 +- .../x/sys/unix/ztypes_solaris_amd64.go | 232 +- .../x/text/encoding/charmap/maketables.go | 556 -- .../x/text/encoding/htmlindex/gen.go | 173 - .../x/text/encoding/htmlindex/htmlindex.go | 2 +- .../text/encoding/internal/identifier/gen.go | 137 - .../x/text/encoding/japanese/maketables.go | 161 - .../x/text/encoding/korean/maketables.go | 143 - .../encoding/simplifiedchinese/maketables.go | 161 - .../encoding/traditionalchinese/maketables.go | 140 - vendor/golang.org/x/text/language/doc.go | 102 + vendor/golang.org/x/text/language/gen.go | 1699 ----- .../golang.org/x/text/language/gen_common.go | 20 - .../golang.org/x/text/language/gen_index.go | 162 - vendor/golang.org/x/text/language/index.go | 1476 ++--- vendor/golang.org/x/text/language/language.go | 117 +- vendor/golang.org/x/text/language/match.go | 306 +- vendor/golang.org/x/text/language/parse.go | 2 +- vendor/golang.org/x/text/language/tables.go | 5810 +++++++++-------- vendor/gopkg.in/yaml.v2/.travis.yml | 18 +- vendor/gopkg.in/yaml.v2/decode.go | 48 +- vendor/gopkg.in/yaml.v2/resolve.go | 2 +- vendor/gopkg.in/yaml.v2/scannerc.go | 123 +- vendor/gopkg.in/yaml.v2/yaml.go | 2 +- vendor/gopkg.in/yaml.v2/yamlh.go | 1 + vendor/modules.txt | 44 +- 293 files changed, 96353 insertions(+), 28448 deletions(-) delete mode 100644 vendor/golang.org/x/net/html/atom/gen.go create mode 100644 vendor/golang.org/x/sys/unix/affinity_linux.go create mode 100644 vendor/golang.org/x/sys/unix/aliases.go create mode 100644 vendor/golang.org/x/sys/unix/asm_aix_ppc64.s create mode 100644 vendor/golang.org/x/sys/unix/asm_freebsd_arm64.s create mode 100644 vendor/golang.org/x/sys/unix/asm_netbsd_arm64.s create mode 100644 vendor/golang.org/x/sys/unix/dev_aix_ppc.go create mode 100644 vendor/golang.org/x/sys/unix/dev_aix_ppc64.go create mode 100644 vendor/golang.org/x/sys/unix/dev_darwin.go create mode 100644 vendor/golang.org/x/sys/unix/dev_dragonfly.go create mode 100644 vendor/golang.org/x/sys/unix/dev_freebsd.go create mode 100644 vendor/golang.org/x/sys/unix/dev_netbsd.go create mode 100644 vendor/golang.org/x/sys/unix/dev_openbsd.go delete mode 100644 vendor/golang.org/x/sys/unix/env_unset.go rename vendor/golang.org/x/sys/unix/{flock.go => fcntl.go} (65%) create mode 100644 vendor/golang.org/x/sys/unix/fcntl_darwin.go rename vendor/golang.org/x/sys/unix/{flock_linux_32bit.go => fcntl_linux_32bit.go} (100%) delete mode 100644 vendor/golang.org/x/sys/unix/file_unix.go delete mode 100644 vendor/golang.org/x/sys/unix/gccgo_linux_sparc64.go create mode 100644 vendor/golang.org/x/sys/unix/ioctl.go delete mode 100644 vendor/golang.org/x/sys/unix/mkpost.go delete mode 100644 vendor/golang.org/x/sys/unix/mksyscall.pl delete mode 100644 vendor/golang.org/x/sys/unix/mksyscall_solaris.pl delete mode 100644 vendor/golang.org/x/sys/unix/mksysnum_darwin.pl delete mode 100644 vendor/golang.org/x/sys/unix/mksysnum_dragonfly.pl delete mode 100644 vendor/golang.org/x/sys/unix/mksysnum_freebsd.pl delete mode 100644 vendor/golang.org/x/sys/unix/mksysnum_netbsd.pl delete mode 100644 vendor/golang.org/x/sys/unix/mksysnum_openbsd.pl create mode 100644 vendor/golang.org/x/sys/unix/openbsd_unveil.go create mode 100644 vendor/golang.org/x/sys/unix/pagesize_unix.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_aix.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_aix_ppc.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_gc.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go delete mode 100644 vendor/golang.org/x/sys/unix/syscall_no_getwd.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go create mode 100644 vendor/golang.org/x/sys/unix/timestruct.go delete mode 100644 vendor/golang.org/x/sys/unix/types_darwin.go delete mode 100644 vendor/golang.org/x/sys/unix/types_dragonfly.go delete mode 100644 vendor/golang.org/x/sys/unix/types_freebsd.go delete mode 100644 vendor/golang.org/x/sys/unix/types_netbsd.go delete mode 100644 vendor/golang.org/x/sys/unix/types_openbsd.go delete mode 100644 vendor/golang.org/x/sys/unix/types_solaris.go create mode 100644 vendor/golang.org/x/sys/unix/xattr_bsd.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_netbsd_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/zptrace386_linux.go create mode 100644 vendor/golang.org/x/sys/unix/zptracearm_linux.go create mode 100644 vendor/golang.org/x/sys/unix/zptracemips_linux.go create mode 100644 vendor/golang.org/x/sys/unix/zptracemipsle_linux.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_11.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_386.s create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_11.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_11.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.s create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_11.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go rename vendor/golang.org/x/sys/unix/{zsysctl_openbsd.go => zsysctl_openbsd_386.go} (99%) create mode 100644 vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm64.go delete mode 100644 vendor/golang.org/x/sys/unix/zsysnum_solaris_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go delete mode 100644 vendor/golang.org/x/text/encoding/charmap/maketables.go delete mode 100644 vendor/golang.org/x/text/encoding/htmlindex/gen.go delete mode 100644 vendor/golang.org/x/text/encoding/internal/identifier/gen.go delete mode 100644 vendor/golang.org/x/text/encoding/japanese/maketables.go delete mode 100644 vendor/golang.org/x/text/encoding/korean/maketables.go delete mode 100644 vendor/golang.org/x/text/encoding/simplifiedchinese/maketables.go delete mode 100644 vendor/golang.org/x/text/encoding/traditionalchinese/maketables.go create mode 100644 vendor/golang.org/x/text/language/doc.go delete mode 100644 vendor/golang.org/x/text/language/gen.go delete mode 100644 vendor/golang.org/x/text/language/gen_common.go delete mode 100644 vendor/golang.org/x/text/language/gen_index.go diff --git a/vendor/github.com/xeipuuv/gojsonpointer/README.md b/vendor/github.com/xeipuuv/gojsonpointer/README.md index dbe4d50824..a4f5f1458f 100644 --- a/vendor/github.com/xeipuuv/gojsonpointer/README.md +++ b/vendor/github.com/xeipuuv/gojsonpointer/README.md @@ -1,8 +1,41 @@ # gojsonpointer An implementation of JSON Pointer - Go language +## Usage + jsonText := `{ + "name": "Bobby B", + "occupation": { + "title" : "King", + "years" : 15, + "heir" : "Joffrey B" + } + }` + + var jsonDocument map[string]interface{} + json.Unmarshal([]byte(jsonText), &jsonDocument) + + //create a JSON pointer + pointerString := "/occupation/title" + pointer, _ := NewJsonPointer(pointerString) + + //SET a new value for the "title" in the document + pointer.Set(jsonDocument, "Supreme Leader of Westeros") + + //GET the new "title" from the document + title, _, _ := pointer.Get(jsonDocument) + fmt.Println(title) //outputs "Supreme Leader of Westeros" + + //DELETE the "heir" from the document + deletePointer := NewJsonPointer("/occupation/heir") + deletePointer.Delete(jsonDocument) + + b, _ := json.Marshal(jsonDocument) + fmt.Println(string(b)) + //outputs `{"name":"Bobby B","occupation":{"title":"Supreme Leader of Westeros","years":15}}` + + ## References -http://tools.ietf.org/html/draft-ietf-appsawg-json-pointer-07 +https://tools.ietf.org/html/rfc6901 ### Note The 4.Evaluation part of the previous reference, starting with 'If the currently referenced value is a JSON array, the reference token MUST contain either...' is not implemented. diff --git a/vendor/github.com/xeipuuv/gojsonpointer/pointer.go b/vendor/github.com/xeipuuv/gojsonpointer/pointer.go index 06f1918e84..798c1f1c57 100644 --- a/vendor/github.com/xeipuuv/gojsonpointer/pointer.go +++ b/vendor/github.com/xeipuuv/gojsonpointer/pointer.go @@ -90,6 +90,13 @@ func (p *JsonPointer) Set(document interface{}, value interface{}) (interface{}, } +// Uses the pointer to delete a value from a JSON document +func (p *JsonPointer) Delete(document interface{}) (interface{}, error) { + is := &implStruct{mode: "DEL", inDocument: document} + p.implementation(is) + return document, is.outError +} + // Both Get and Set functions use the same implementation to avoid code duplication func (p *JsonPointer) implementation(i *implStruct) { @@ -106,9 +113,14 @@ func (p *JsonPointer) implementation(i *implStruct) { node := i.inDocument + previousNodes := make([]interface{}, len(p.referenceTokens)) + previousTokens := make([]string, len(p.referenceTokens)) + for ti, token := range p.referenceTokens { isLastToken := ti == len(p.referenceTokens)-1 + previousNodes[ti] = node + previousTokens[ti] = token switch v := node.(type) { @@ -118,7 +130,11 @@ func (p *JsonPointer) implementation(i *implStruct) { node = v[decodedToken] if isLastToken && i.mode == "SET" { v[decodedToken] = i.setInValue + } else if isLastToken && i.mode == "DEL" { + delete(v, decodedToken) } + } else if isLastToken && i.mode == "SET" { + v[decodedToken] = i.setInValue } else { i.outError = fmt.Errorf("Object has no key '%s'", decodedToken) i.getOutKind = reflect.Map @@ -144,6 +160,11 @@ func (p *JsonPointer) implementation(i *implStruct) { node = v[tokenIndex] if isLastToken && i.mode == "SET" { v[tokenIndex] = i.setInValue + } else if isLastToken && i.mode == "DEL" { + v[tokenIndex] = v[len(v)-1] + v[len(v)-1] = nil + v = v[:len(v)-1] + previousNodes[ti-1].(map[string]interface{})[previousTokens[ti-1]] = v } default: diff --git a/vendor/github.com/xeipuuv/gojsonreference/reference.go b/vendor/github.com/xeipuuv/gojsonreference/reference.go index d4d2eca0aa..6457291301 100644 --- a/vendor/github.com/xeipuuv/gojsonreference/reference.go +++ b/vendor/github.com/xeipuuv/gojsonreference/reference.go @@ -27,11 +27,12 @@ package gojsonreference import ( "errors" - "github.com/xeipuuv/gojsonpointer" "net/url" "path/filepath" "runtime" "strings" + + "github.com/xeipuuv/gojsonpointer" ) const ( @@ -124,16 +125,21 @@ func (r *JsonReference) parse(jsonReferenceString string) (err error) { // Creates a new reference from a parent and a child // If the child cannot inherit from the parent, an error is returned func (r *JsonReference) Inherits(child JsonReference) (*JsonReference, error) { - childUrl := child.GetUrl() - parentUrl := r.GetUrl() - if childUrl == nil { + if child.GetUrl() == nil { return nil, errors.New("childUrl is nil!") } - if parentUrl == nil { + + if r.GetUrl() == nil { return nil, errors.New("parentUrl is nil!") } - ref, err := NewJsonReference(parentUrl.ResolveReference(childUrl).String()) + // Get a copy of the parent url to make sure we do not modify the original. + // URL reference resolving fails if the fragment of the child is empty, but the parent's is not. + // The fragment of the child must be used, so the fragment of the parent is manually removed. + parentUrl := *r.GetUrl() + parentUrl.Fragment = "" + + ref, err := NewJsonReference(parentUrl.ResolveReference(child.GetUrl()).String()) if err != nil { return nil, err } diff --git a/vendor/golang.org/x/net/html/atom/gen.go b/vendor/golang.org/x/net/html/atom/gen.go deleted file mode 100644 index 6bfa866019..0000000000 --- a/vendor/golang.org/x/net/html/atom/gen.go +++ /dev/null @@ -1,648 +0,0 @@ -// Copyright 2012 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// +build ignore - -package main - -// This program generates table.go and table_test.go. -// Invoke as -// -// go run gen.go |gofmt >table.go -// go run gen.go -test |gofmt >table_test.go - -import ( - "flag" - "fmt" - "math/rand" - "os" - "sort" - "strings" -) - -// identifier converts s to a Go exported identifier. -// It converts "div" to "Div" and "accept-charset" to "AcceptCharset". -func identifier(s string) string { - b := make([]byte, 0, len(s)) - cap := true - for _, c := range s { - if c == '-' { - cap = true - continue - } - if cap && 'a' <= c && c <= 'z' { - c -= 'a' - 'A' - } - cap = false - b = append(b, byte(c)) - } - return string(b) -} - -var test = flag.Bool("test", false, "generate table_test.go") - -func main() { - flag.Parse() - - var all []string - all = append(all, elements...) - all = append(all, attributes...) - all = append(all, eventHandlers...) - all = append(all, extra...) - sort.Strings(all) - - if *test { - fmt.Printf("// generated by go run gen.go -test; DO NOT EDIT\n\n") - fmt.Printf("package atom\n\n") - fmt.Printf("var testAtomList = []string{\n") - for _, s := range all { - fmt.Printf("\t%q,\n", s) - } - fmt.Printf("}\n") - return - } - - // uniq - lists have dups - // compute max len too - maxLen := 0 - w := 0 - for _, s := range all { - if w == 0 || all[w-1] != s { - if maxLen < len(s) { - maxLen = len(s) - } - all[w] = s - w++ - } - } - all = all[:w] - - // Find hash that minimizes table size. - var best *table - for i := 0; i < 1000000; i++ { - if best != nil && 1<<(best.k-1) < len(all) { - break - } - h := rand.Uint32() - for k := uint(0); k <= 16; k++ { - if best != nil && k >= best.k { - break - } - var t table - if t.init(h, k, all) { - best = &t - break - } - } - } - if best == nil { - fmt.Fprintf(os.Stderr, "failed to construct string table\n") - os.Exit(1) - } - - // Lay out strings, using overlaps when possible. - layout := append([]string{}, all...) - - // Remove strings that are substrings of other strings - for changed := true; changed; { - changed = false - for i, s := range layout { - if s == "" { - continue - } - for j, t := range layout { - if i != j && t != "" && strings.Contains(s, t) { - changed = true - layout[j] = "" - } - } - } - } - - // Join strings where one suffix matches another prefix. - for { - // Find best i, j, k such that layout[i][len-k:] == layout[j][:k], - // maximizing overlap length k. - besti := -1 - bestj := -1 - bestk := 0 - for i, s := range layout { - if s == "" { - continue - } - for j, t := range layout { - if i == j { - continue - } - for k := bestk + 1; k <= len(s) && k <= len(t); k++ { - if s[len(s)-k:] == t[:k] { - besti = i - bestj = j - bestk = k - } - } - } - } - if bestk > 0 { - layout[besti] += layout[bestj][bestk:] - layout[bestj] = "" - continue - } - break - } - - text := strings.Join(layout, "") - - atom := map[string]uint32{} - for _, s := range all { - off := strings.Index(text, s) - if off < 0 { - panic("lost string " + s) - } - atom[s] = uint32(off<<8 | len(s)) - } - - // Generate the Go code. - fmt.Printf("// generated by go run gen.go; DO NOT EDIT\n\n") - fmt.Printf("package atom\n\nconst (\n") - for _, s := range all { - fmt.Printf("\t%s Atom = %#x\n", identifier(s), atom[s]) - } - fmt.Printf(")\n\n") - - fmt.Printf("const hash0 = %#x\n\n", best.h0) - fmt.Printf("const maxAtomLen = %d\n\n", maxLen) - - fmt.Printf("var table = [1<<%d]Atom{\n", best.k) - for i, s := range best.tab { - if s == "" { - continue - } - fmt.Printf("\t%#x: %#x, // %s\n", i, atom[s], s) - } - fmt.Printf("}\n") - datasize := (1 << best.k) * 4 - - fmt.Printf("const atomText =\n") - textsize := len(text) - for len(text) > 60 { - fmt.Printf("\t%q +\n", text[:60]) - text = text[60:] - } - fmt.Printf("\t%q\n\n", text) - - fmt.Fprintf(os.Stderr, "%d atoms; %d string bytes + %d tables = %d total data\n", len(all), textsize, datasize, textsize+datasize) -} - -type byLen []string - -func (x byLen) Less(i, j int) bool { return len(x[i]) > len(x[j]) } -func (x byLen) Swap(i, j int) { x[i], x[j] = x[j], x[i] } -func (x byLen) Len() int { return len(x) } - -// fnv computes the FNV hash with an arbitrary starting value h. -func fnv(h uint32, s string) uint32 { - for i := 0; i < len(s); i++ { - h ^= uint32(s[i]) - h *= 16777619 - } - return h -} - -// A table represents an attempt at constructing the lookup table. -// The lookup table uses cuckoo hashing, meaning that each string -// can be found in one of two positions. -type table struct { - h0 uint32 - k uint - mask uint32 - tab []string -} - -// hash returns the two hashes for s. -func (t *table) hash(s string) (h1, h2 uint32) { - h := fnv(t.h0, s) - h1 = h & t.mask - h2 = (h >> 16) & t.mask - return -} - -// init initializes the table with the given parameters. -// h0 is the initial hash value, -// k is the number of bits of hash value to use, and -// x is the list of strings to store in the table. -// init returns false if the table cannot be constructed. -func (t *table) init(h0 uint32, k uint, x []string) bool { - t.h0 = h0 - t.k = k - t.tab = make([]string, 1< len(t.tab) { - return false - } - s := t.tab[i] - h1, h2 := t.hash(s) - j := h1 + h2 - i - if t.tab[j] != "" && !t.push(j, depth+1) { - return false - } - t.tab[j] = s - return true -} - -// The lists of element names and attribute keys were taken from -// https://html.spec.whatwg.org/multipage/indices.html#index -// as of the "HTML Living Standard - Last Updated 21 February 2015" version. - -var elements = []string{ - "a", - "abbr", - "address", - "area", - "article", - "aside", - "audio", - "b", - "base", - "bdi", - "bdo", - "blockquote", - "body", - "br", - "button", - "canvas", - "caption", - "cite", - "code", - "col", - "colgroup", - "command", - "data", - "datalist", - "dd", - "del", - "details", - "dfn", - "dialog", - "div", - "dl", - "dt", - "em", - "embed", - "fieldset", - "figcaption", - "figure", - "footer", - "form", - "h1", - "h2", - "h3", - "h4", - "h5", - "h6", - "head", - "header", - "hgroup", - "hr", - "html", - "i", - "iframe", - "img", - "input", - "ins", - "kbd", - "keygen", - "label", - "legend", - "li", - "link", - "map", - "mark", - "menu", - "menuitem", - "meta", - "meter", - "nav", - "noscript", - "object", - "ol", - "optgroup", - "option", - "output", - "p", - "param", - "pre", - "progress", - "q", - "rp", - "rt", - "ruby", - "s", - "samp", - "script", - "section", - "select", - "small", - "source", - "span", - "strong", - "style", - "sub", - "summary", - "sup", - "table", - "tbody", - "td", - "template", - "textarea", - "tfoot", - "th", - "thead", - "time", - "title", - "tr", - "track", - "u", - "ul", - "var", - "video", - "wbr", -} - -// https://html.spec.whatwg.org/multipage/indices.html#attributes-3 - -var attributes = []string{ - "abbr", - "accept", - "accept-charset", - "accesskey", - "action", - "alt", - "async", - "autocomplete", - "autofocus", - "autoplay", - "challenge", - "charset", - "checked", - "cite", - "class", - "cols", - "colspan", - "command", - "content", - "contenteditable", - "contextmenu", - "controls", - "coords", - "crossorigin", - "data", - "datetime", - "default", - "defer", - "dir", - "dirname", - "disabled", - "download", - "draggable", - "dropzone", - "enctype", - "for", - "form", - "formaction", - "formenctype", - "formmethod", - "formnovalidate", - "formtarget", - "headers", - "height", - "hidden", - "high", - "href", - "hreflang", - "http-equiv", - "icon", - "id", - "inputmode", - "ismap", - "itemid", - "itemprop", - "itemref", - "itemscope", - "itemtype", - "keytype", - "kind", - "label", - "lang", - "list", - "loop", - "low", - "manifest", - "max", - "maxlength", - "media", - "mediagroup", - "method", - "min", - "minlength", - "multiple", - "muted", - "name", - "novalidate", - "open", - "optimum", - "pattern", - "ping", - "placeholder", - "poster", - "preload", - "radiogroup", - "readonly", - "rel", - "required", - "reversed", - "rows", - "rowspan", - "sandbox", - "spellcheck", - "scope", - "scoped", - "seamless", - "selected", - "shape", - "size", - "sizes", - "sortable", - "sorted", - "span", - "src", - "srcdoc", - "srclang", - "start", - "step", - "style", - "tabindex", - "target", - "title", - "translate", - "type", - "typemustmatch", - "usemap", - "value", - "width", - "wrap", -} - -var eventHandlers = []string{ - "onabort", - "onautocomplete", - "onautocompleteerror", - "onafterprint", - "onbeforeprint", - "onbeforeunload", - "onblur", - "oncancel", - "oncanplay", - "oncanplaythrough", - "onchange", - "onclick", - "onclose", - "oncontextmenu", - "oncuechange", - "ondblclick", - "ondrag", - "ondragend", - "ondragenter", - "ondragleave", - "ondragover", - "ondragstart", - "ondrop", - "ondurationchange", - "onemptied", - "onended", - "onerror", - "onfocus", - "onhashchange", - "oninput", - "oninvalid", - "onkeydown", - "onkeypress", - "onkeyup", - "onlanguagechange", - "onload", - "onloadeddata", - "onloadedmetadata", - "onloadstart", - "onmessage", - "onmousedown", - "onmousemove", - "onmouseout", - "onmouseover", - "onmouseup", - "onmousewheel", - "onoffline", - "ononline", - "onpagehide", - "onpageshow", - "onpause", - "onplay", - "onplaying", - "onpopstate", - "onprogress", - "onratechange", - "onreset", - "onresize", - "onscroll", - "onseeked", - "onseeking", - "onselect", - "onshow", - "onsort", - "onstalled", - "onstorage", - "onsubmit", - "onsuspend", - "ontimeupdate", - "ontoggle", - "onunload", - "onvolumechange", - "onwaiting", -} - -// extra are ad-hoc values not covered by any of the lists above. -var extra = []string{ - "align", - "annotation", - "annotation-xml", - "applet", - "basefont", - "bgsound", - "big", - "blink", - "center", - "color", - "desc", - "face", - "font", - "foreignObject", // HTML is case-insensitive, but SVG-embedded-in-HTML is case-sensitive. - "foreignobject", - "frame", - "frameset", - "image", - "isindex", - "listing", - "malignmark", - "marquee", - "math", - "mglyph", - "mi", - "mn", - "mo", - "ms", - "mtext", - "nobr", - "noembed", - "noframes", - "plaintext", - "prompt", - "public", - "spacer", - "strike", - "svg", - "system", - "tt", - "xmp", -} diff --git a/vendor/golang.org/x/net/html/atom/table.go b/vendor/golang.org/x/net/html/atom/table.go index 2605ba3102..2a938864cb 100644 --- a/vendor/golang.org/x/net/html/atom/table.go +++ b/vendor/golang.org/x/net/html/atom/table.go @@ -1,713 +1,783 @@ -// generated by go run gen.go; DO NOT EDIT +// Code generated by go generate gen.go; DO NOT EDIT. + +//go:generate go run gen.go package atom const ( - A Atom = 0x1 - Abbr Atom = 0x4 - Accept Atom = 0x2106 - AcceptCharset Atom = 0x210e - Accesskey Atom = 0x3309 - Action Atom = 0x1f606 - Address Atom = 0x4f307 - Align Atom = 0x1105 - Alt Atom = 0x4503 - Annotation Atom = 0x1670a - AnnotationXml Atom = 0x1670e - Applet Atom = 0x2b306 - Area Atom = 0x2fa04 - Article Atom = 0x38807 - Aside Atom = 0x8305 - Async Atom = 0x7b05 - Audio Atom = 0xa605 - Autocomplete Atom = 0x1fc0c - Autofocus Atom = 0xb309 - Autoplay Atom = 0xce08 - B Atom = 0x101 - Base Atom = 0xd604 - Basefont Atom = 0xd608 - Bdi Atom = 0x1a03 - Bdo Atom = 0xe703 - Bgsound Atom = 0x11807 - Big Atom = 0x12403 - Blink Atom = 0x12705 - Blockquote Atom = 0x12c0a - Body Atom = 0x2f04 - Br Atom = 0x202 - Button Atom = 0x13606 - Canvas Atom = 0x7f06 - Caption Atom = 0x1bb07 - Center Atom = 0x5b506 - Challenge Atom = 0x21f09 - Charset Atom = 0x2807 - Checked Atom = 0x32807 - Cite Atom = 0x3c804 - Class Atom = 0x4de05 - Code Atom = 0x14904 - Col Atom = 0x15003 - Colgroup Atom = 0x15008 - Color Atom = 0x15d05 - Cols Atom = 0x16204 - Colspan Atom = 0x16207 - Command Atom = 0x17507 - Content Atom = 0x42307 - Contenteditable Atom = 0x4230f - Contextmenu Atom = 0x3310b - Controls Atom = 0x18808 - Coords Atom = 0x19406 - Crossorigin Atom = 0x19f0b - Data Atom = 0x44a04 - Datalist Atom = 0x44a08 - Datetime Atom = 0x23c08 - Dd Atom = 0x26702 - Default Atom = 0x8607 - Defer Atom = 0x14b05 - Del Atom = 0x3ef03 - Desc Atom = 0x4db04 - Details Atom = 0x4807 - Dfn Atom = 0x6103 - Dialog Atom = 0x1b06 - Dir Atom = 0x6903 - Dirname Atom = 0x6907 - Disabled Atom = 0x10c08 - Div Atom = 0x11303 - Dl Atom = 0x11e02 - Download Atom = 0x40008 - Draggable Atom = 0x17b09 - Dropzone Atom = 0x39108 - Dt Atom = 0x50902 - Em Atom = 0x6502 - Embed Atom = 0x6505 - Enctype Atom = 0x21107 - Face Atom = 0x5b304 - Fieldset Atom = 0x1b008 - Figcaption Atom = 0x1b80a - Figure Atom = 0x1cc06 - Font Atom = 0xda04 - Footer Atom = 0x8d06 - For Atom = 0x1d803 - ForeignObject Atom = 0x1d80d - Foreignobject Atom = 0x1e50d - Form Atom = 0x1f204 - Formaction Atom = 0x1f20a - Formenctype Atom = 0x20d0b - Formmethod Atom = 0x2280a - Formnovalidate Atom = 0x2320e - Formtarget Atom = 0x2470a - Frame Atom = 0x9a05 - Frameset Atom = 0x9a08 - H1 Atom = 0x26e02 - H2 Atom = 0x29402 - H3 Atom = 0x2a702 - H4 Atom = 0x2e902 - H5 Atom = 0x2f302 - H6 Atom = 0x50b02 - Head Atom = 0x2d504 - Header Atom = 0x2d506 - Headers Atom = 0x2d507 - Height Atom = 0x25106 - Hgroup Atom = 0x25906 - Hidden Atom = 0x26506 - High Atom = 0x26b04 - Hr Atom = 0x27002 - Href Atom = 0x27004 - Hreflang Atom = 0x27008 - Html Atom = 0x25504 - HttpEquiv Atom = 0x2780a - I Atom = 0x601 - Icon Atom = 0x42204 - Id Atom = 0x8502 - Iframe Atom = 0x29606 - Image Atom = 0x29c05 - Img Atom = 0x2a103 - Input Atom = 0x3e805 - Inputmode Atom = 0x3e809 - Ins Atom = 0x1a803 - Isindex Atom = 0x2a907 - Ismap Atom = 0x2b005 - Itemid Atom = 0x33c06 - Itemprop Atom = 0x3c908 - Itemref Atom = 0x5ad07 - Itemscope Atom = 0x2b909 - Itemtype Atom = 0x2c308 - Kbd Atom = 0x1903 - Keygen Atom = 0x3906 - Keytype Atom = 0x53707 - Kind Atom = 0x10904 - Label Atom = 0xf005 - Lang Atom = 0x27404 - Legend Atom = 0x18206 - Li Atom = 0x1202 - Link Atom = 0x12804 - List Atom = 0x44e04 - Listing Atom = 0x44e07 - Loop Atom = 0xf404 - Low Atom = 0x11f03 - Malignmark Atom = 0x100a - Manifest Atom = 0x5f108 - Map Atom = 0x2b203 - Mark Atom = 0x1604 - Marquee Atom = 0x2cb07 - Math Atom = 0x2d204 - Max Atom = 0x2e103 - Maxlength Atom = 0x2e109 - Media Atom = 0x6e05 - Mediagroup Atom = 0x6e0a - Menu Atom = 0x33804 - Menuitem Atom = 0x33808 - Meta Atom = 0x45d04 - Meter Atom = 0x24205 - Method Atom = 0x22c06 - Mglyph Atom = 0x2a206 - Mi Atom = 0x2eb02 - Min Atom = 0x2eb03 - Minlength Atom = 0x2eb09 - Mn Atom = 0x23502 - Mo Atom = 0x3ed02 - Ms Atom = 0x2bc02 - Mtext Atom = 0x2f505 - Multiple Atom = 0x30308 - Muted Atom = 0x30b05 - Name Atom = 0x6c04 - Nav Atom = 0x3e03 - Nobr Atom = 0x5704 - Noembed Atom = 0x6307 - Noframes Atom = 0x9808 - Noscript Atom = 0x3d208 - Novalidate Atom = 0x2360a - Object Atom = 0x1ec06 - Ol Atom = 0xc902 - Onabort Atom = 0x13a07 - Onafterprint Atom = 0x1c00c - Onautocomplete Atom = 0x1fa0e - Onautocompleteerror Atom = 0x1fa13 - Onbeforeprint Atom = 0x6040d - Onbeforeunload Atom = 0x4e70e - Onblur Atom = 0xaa06 - Oncancel Atom = 0xe908 - Oncanplay Atom = 0x28509 - Oncanplaythrough Atom = 0x28510 - Onchange Atom = 0x3a708 - Onclick Atom = 0x31007 - Onclose Atom = 0x31707 - Oncontextmenu Atom = 0x32f0d - Oncuechange Atom = 0x3420b - Ondblclick Atom = 0x34d0a - Ondrag Atom = 0x35706 - Ondragend Atom = 0x35709 - Ondragenter Atom = 0x3600b - Ondragleave Atom = 0x36b0b - Ondragover Atom = 0x3760a - Ondragstart Atom = 0x3800b - Ondrop Atom = 0x38f06 - Ondurationchange Atom = 0x39f10 - Onemptied Atom = 0x39609 - Onended Atom = 0x3af07 - Onerror Atom = 0x3b607 - Onfocus Atom = 0x3bd07 - Onhashchange Atom = 0x3da0c - Oninput Atom = 0x3e607 - Oninvalid Atom = 0x3f209 - Onkeydown Atom = 0x3fb09 - Onkeypress Atom = 0x4080a - Onkeyup Atom = 0x41807 - Onlanguagechange Atom = 0x43210 - Onload Atom = 0x44206 - Onloadeddata Atom = 0x4420c - Onloadedmetadata Atom = 0x45510 - Onloadstart Atom = 0x46b0b - Onmessage Atom = 0x47609 - Onmousedown Atom = 0x47f0b - Onmousemove Atom = 0x48a0b - Onmouseout Atom = 0x4950a - Onmouseover Atom = 0x4a20b - Onmouseup Atom = 0x4ad09 - Onmousewheel Atom = 0x4b60c - Onoffline Atom = 0x4c209 - Ononline Atom = 0x4cb08 - Onpagehide Atom = 0x4d30a - Onpageshow Atom = 0x4fe0a - Onpause Atom = 0x50d07 - Onplay Atom = 0x51706 - Onplaying Atom = 0x51709 - Onpopstate Atom = 0x5200a - Onprogress Atom = 0x52a0a - Onratechange Atom = 0x53e0c - Onreset Atom = 0x54a07 - Onresize Atom = 0x55108 - Onscroll Atom = 0x55f08 - Onseeked Atom = 0x56708 - Onseeking Atom = 0x56f09 - Onselect Atom = 0x57808 - Onshow Atom = 0x58206 - Onsort Atom = 0x58b06 - Onstalled Atom = 0x59509 - Onstorage Atom = 0x59e09 - Onsubmit Atom = 0x5a708 - Onsuspend Atom = 0x5bb09 - Ontimeupdate Atom = 0xdb0c - Ontoggle Atom = 0x5c408 - Onunload Atom = 0x5cc08 - Onvolumechange Atom = 0x5d40e - Onwaiting Atom = 0x5e209 - Open Atom = 0x3cf04 - Optgroup Atom = 0xf608 - Optimum Atom = 0x5eb07 - Option Atom = 0x60006 - Output Atom = 0x49c06 - P Atom = 0xc01 - Param Atom = 0xc05 - Pattern Atom = 0x5107 - Ping Atom = 0x7704 - Placeholder Atom = 0xc30b - Plaintext Atom = 0xfd09 - Poster Atom = 0x15706 - Pre Atom = 0x25e03 - Preload Atom = 0x25e07 - Progress Atom = 0x52c08 - Prompt Atom = 0x5fa06 - Public Atom = 0x41e06 - Q Atom = 0x13101 - Radiogroup Atom = 0x30a - Readonly Atom = 0x2fb08 - Rel Atom = 0x25f03 - Required Atom = 0x1d008 - Reversed Atom = 0x5a08 - Rows Atom = 0x9204 - Rowspan Atom = 0x9207 - Rp Atom = 0x1c602 - Rt Atom = 0x13f02 - Ruby Atom = 0xaf04 - S Atom = 0x2c01 - Samp Atom = 0x4e04 - Sandbox Atom = 0xbb07 - Scope Atom = 0x2bd05 - Scoped Atom = 0x2bd06 - Script Atom = 0x3d406 - Seamless Atom = 0x31c08 - Section Atom = 0x4e207 - Select Atom = 0x57a06 - Selected Atom = 0x57a08 - Shape Atom = 0x4f905 - Size Atom = 0x55504 - Sizes Atom = 0x55505 - Small Atom = 0x18f05 - Sortable Atom = 0x58d08 - Sorted Atom = 0x19906 - Source Atom = 0x1aa06 - Spacer Atom = 0x2db06 - Span Atom = 0x9504 - Spellcheck Atom = 0x3230a - Src Atom = 0x3c303 - Srcdoc Atom = 0x3c306 - Srclang Atom = 0x41107 - Start Atom = 0x38605 - Step Atom = 0x5f704 - Strike Atom = 0x53306 - Strong Atom = 0x55906 - Style Atom = 0x61105 - Sub Atom = 0x5a903 - Summary Atom = 0x61607 - Sup Atom = 0x61d03 - Svg Atom = 0x62003 - System Atom = 0x62306 - Tabindex Atom = 0x46308 - Table Atom = 0x42d05 - Target Atom = 0x24b06 - Tbody Atom = 0x2e05 - Td Atom = 0x4702 - Template Atom = 0x62608 - Textarea Atom = 0x2f608 - Tfoot Atom = 0x8c05 - Th Atom = 0x22e02 - Thead Atom = 0x2d405 - Time Atom = 0xdd04 - Title Atom = 0xa105 - Tr Atom = 0x10502 - Track Atom = 0x10505 - Translate Atom = 0x14009 - Tt Atom = 0x5302 - Type Atom = 0x21404 - Typemustmatch Atom = 0x2140d - U Atom = 0xb01 - Ul Atom = 0x8a02 - Usemap Atom = 0x51106 - Value Atom = 0x4005 - Var Atom = 0x11503 - Video Atom = 0x28105 - Wbr Atom = 0x12103 - Width Atom = 0x50705 - Wrap Atom = 0x58704 - Xmp Atom = 0xc103 + A Atom = 0x1 + Abbr Atom = 0x4 + Accept Atom = 0x1a06 + AcceptCharset Atom = 0x1a0e + Accesskey Atom = 0x2c09 + Acronym Atom = 0xaa07 + Action Atom = 0x27206 + Address Atom = 0x6f307 + Align Atom = 0xb105 + Allowfullscreen Atom = 0x2080f + Allowpaymentrequest Atom = 0xc113 + Allowusermedia Atom = 0xdd0e + Alt Atom = 0xf303 + Annotation Atom = 0x1c90a + AnnotationXml Atom = 0x1c90e + Applet Atom = 0x31906 + Area Atom = 0x35604 + Article Atom = 0x3fc07 + As Atom = 0x3c02 + Aside Atom = 0x10705 + Async Atom = 0xff05 + Audio Atom = 0x11505 + Autocomplete Atom = 0x2780c + Autofocus Atom = 0x12109 + Autoplay Atom = 0x13c08 + B Atom = 0x101 + Base Atom = 0x3b04 + Basefont Atom = 0x3b08 + Bdi Atom = 0xba03 + Bdo Atom = 0x14b03 + Bgsound Atom = 0x15e07 + Big Atom = 0x17003 + Blink Atom = 0x17305 + Blockquote Atom = 0x1870a + Body Atom = 0x2804 + Br Atom = 0x202 + Button Atom = 0x19106 + Canvas Atom = 0x10306 + Caption Atom = 0x23107 + Center Atom = 0x22006 + Challenge Atom = 0x29b09 + Charset Atom = 0x2107 + Checked Atom = 0x47907 + Cite Atom = 0x19c04 + Class Atom = 0x56405 + Code Atom = 0x5c504 + Col Atom = 0x1ab03 + Colgroup Atom = 0x1ab08 + Color Atom = 0x1bf05 + Cols Atom = 0x1c404 + Colspan Atom = 0x1c407 + Command Atom = 0x1d707 + Content Atom = 0x58b07 + Contenteditable Atom = 0x58b0f + Contextmenu Atom = 0x3800b + Controls Atom = 0x1de08 + Coords Atom = 0x1ea06 + Crossorigin Atom = 0x1fb0b + Data Atom = 0x4a504 + Datalist Atom = 0x4a508 + Datetime Atom = 0x2b808 + Dd Atom = 0x2d702 + Default Atom = 0x10a07 + Defer Atom = 0x5c705 + Del Atom = 0x45203 + Desc Atom = 0x56104 + Details Atom = 0x7207 + Dfn Atom = 0x8703 + Dialog Atom = 0xbb06 + Dir Atom = 0x9303 + Dirname Atom = 0x9307 + Disabled Atom = 0x16408 + Div Atom = 0x16b03 + Dl Atom = 0x5e602 + Download Atom = 0x46308 + Draggable Atom = 0x17a09 + Dropzone Atom = 0x40508 + Dt Atom = 0x64b02 + Em Atom = 0x6e02 + Embed Atom = 0x6e05 + Enctype Atom = 0x28d07 + Face Atom = 0x21e04 + Fieldset Atom = 0x22608 + Figcaption Atom = 0x22e0a + Figure Atom = 0x24806 + Font Atom = 0x3f04 + Footer Atom = 0xf606 + For Atom = 0x25403 + ForeignObject Atom = 0x2540d + Foreignobject Atom = 0x2610d + Form Atom = 0x26e04 + Formaction Atom = 0x26e0a + Formenctype Atom = 0x2890b + Formmethod Atom = 0x2a40a + Formnovalidate Atom = 0x2ae0e + Formtarget Atom = 0x2c00a + Frame Atom = 0x8b05 + Frameset Atom = 0x8b08 + H1 Atom = 0x15c02 + H2 Atom = 0x2de02 + H3 Atom = 0x30d02 + H4 Atom = 0x34502 + H5 Atom = 0x34f02 + H6 Atom = 0x64d02 + Head Atom = 0x33104 + Header Atom = 0x33106 + Headers Atom = 0x33107 + Height Atom = 0x5206 + Hgroup Atom = 0x2ca06 + Hidden Atom = 0x2d506 + High Atom = 0x2db04 + Hr Atom = 0x15702 + Href Atom = 0x2e004 + Hreflang Atom = 0x2e008 + Html Atom = 0x5604 + HttpEquiv Atom = 0x2e80a + I Atom = 0x601 + Icon Atom = 0x58a04 + Id Atom = 0x10902 + Iframe Atom = 0x2fc06 + Image Atom = 0x30205 + Img Atom = 0x30703 + Input Atom = 0x44b05 + Inputmode Atom = 0x44b09 + Ins Atom = 0x20403 + Integrity Atom = 0x23f09 + Is Atom = 0x16502 + Isindex Atom = 0x30f07 + Ismap Atom = 0x31605 + Itemid Atom = 0x38b06 + Itemprop Atom = 0x19d08 + Itemref Atom = 0x3cd07 + Itemscope Atom = 0x67109 + Itemtype Atom = 0x31f08 + Kbd Atom = 0xb903 + Keygen Atom = 0x3206 + Keytype Atom = 0xd607 + Kind Atom = 0x17704 + Label Atom = 0x5905 + Lang Atom = 0x2e404 + Legend Atom = 0x18106 + Li Atom = 0xb202 + Link Atom = 0x17404 + List Atom = 0x4a904 + Listing Atom = 0x4a907 + Loop Atom = 0x5d04 + Low Atom = 0xc303 + Main Atom = 0x1004 + Malignmark Atom = 0xb00a + Manifest Atom = 0x6d708 + Map Atom = 0x31803 + Mark Atom = 0xb604 + Marquee Atom = 0x32707 + Math Atom = 0x32e04 + Max Atom = 0x33d03 + Maxlength Atom = 0x33d09 + Media Atom = 0xe605 + Mediagroup Atom = 0xe60a + Menu Atom = 0x38704 + Menuitem Atom = 0x38708 + Meta Atom = 0x4b804 + Meter Atom = 0x9805 + Method Atom = 0x2a806 + Mglyph Atom = 0x30806 + Mi Atom = 0x34702 + Min Atom = 0x34703 + Minlength Atom = 0x34709 + Mn Atom = 0x2b102 + Mo Atom = 0xa402 + Ms Atom = 0x67402 + Mtext Atom = 0x35105 + Multiple Atom = 0x35f08 + Muted Atom = 0x36705 + Name Atom = 0x9604 + Nav Atom = 0x1303 + Nobr Atom = 0x3704 + Noembed Atom = 0x6c07 + Noframes Atom = 0x8908 + Nomodule Atom = 0xa208 + Nonce Atom = 0x1a605 + Noscript Atom = 0x21608 + Novalidate Atom = 0x2b20a + Object Atom = 0x26806 + Ol Atom = 0x13702 + Onabort Atom = 0x19507 + Onafterprint Atom = 0x2360c + Onautocomplete Atom = 0x2760e + Onautocompleteerror Atom = 0x27613 + Onauxclick Atom = 0x61f0a + Onbeforeprint Atom = 0x69e0d + Onbeforeunload Atom = 0x6e70e + Onblur Atom = 0x56d06 + Oncancel Atom = 0x11908 + Oncanplay Atom = 0x14d09 + Oncanplaythrough Atom = 0x14d10 + Onchange Atom = 0x41b08 + Onclick Atom = 0x2f507 + Onclose Atom = 0x36c07 + Oncontextmenu Atom = 0x37e0d + Oncopy Atom = 0x39106 + Oncuechange Atom = 0x3970b + Oncut Atom = 0x3a205 + Ondblclick Atom = 0x3a70a + Ondrag Atom = 0x3b106 + Ondragend Atom = 0x3b109 + Ondragenter Atom = 0x3ba0b + Ondragexit Atom = 0x3c50a + Ondragleave Atom = 0x3df0b + Ondragover Atom = 0x3ea0a + Ondragstart Atom = 0x3f40b + Ondrop Atom = 0x40306 + Ondurationchange Atom = 0x41310 + Onemptied Atom = 0x40a09 + Onended Atom = 0x42307 + Onerror Atom = 0x42a07 + Onfocus Atom = 0x43107 + Onhashchange Atom = 0x43d0c + Oninput Atom = 0x44907 + Oninvalid Atom = 0x45509 + Onkeydown Atom = 0x45e09 + Onkeypress Atom = 0x46b0a + Onkeyup Atom = 0x48007 + Onlanguagechange Atom = 0x48d10 + Onload Atom = 0x49d06 + Onloadeddata Atom = 0x49d0c + Onloadedmetadata Atom = 0x4b010 + Onloadend Atom = 0x4c609 + Onloadstart Atom = 0x4cf0b + Onmessage Atom = 0x4da09 + Onmessageerror Atom = 0x4da0e + Onmousedown Atom = 0x4e80b + Onmouseenter Atom = 0x4f30c + Onmouseleave Atom = 0x4ff0c + Onmousemove Atom = 0x50b0b + Onmouseout Atom = 0x5160a + Onmouseover Atom = 0x5230b + Onmouseup Atom = 0x52e09 + Onmousewheel Atom = 0x53c0c + Onoffline Atom = 0x54809 + Ononline Atom = 0x55108 + Onpagehide Atom = 0x5590a + Onpageshow Atom = 0x5730a + Onpaste Atom = 0x57f07 + Onpause Atom = 0x59a07 + Onplay Atom = 0x5a406 + Onplaying Atom = 0x5a409 + Onpopstate Atom = 0x5ad0a + Onprogress Atom = 0x5b70a + Onratechange Atom = 0x5cc0c + Onrejectionhandled Atom = 0x5d812 + Onreset Atom = 0x5ea07 + Onresize Atom = 0x5f108 + Onscroll Atom = 0x60008 + Onsecuritypolicyviolation Atom = 0x60819 + Onseeked Atom = 0x62908 + Onseeking Atom = 0x63109 + Onselect Atom = 0x63a08 + Onshow Atom = 0x64406 + Onsort Atom = 0x64f06 + Onstalled Atom = 0x65909 + Onstorage Atom = 0x66209 + Onsubmit Atom = 0x66b08 + Onsuspend Atom = 0x67b09 + Ontimeupdate Atom = 0x400c + Ontoggle Atom = 0x68408 + Onunhandledrejection Atom = 0x68c14 + Onunload Atom = 0x6ab08 + Onvolumechange Atom = 0x6b30e + Onwaiting Atom = 0x6c109 + Onwheel Atom = 0x6ca07 + Open Atom = 0x1a304 + Optgroup Atom = 0x5f08 + Optimum Atom = 0x6d107 + Option Atom = 0x6e306 + Output Atom = 0x51d06 + P Atom = 0xc01 + Param Atom = 0xc05 + Pattern Atom = 0x6607 + Picture Atom = 0x7b07 + Ping Atom = 0xef04 + Placeholder Atom = 0x1310b + Plaintext Atom = 0x1b209 + Playsinline Atom = 0x1400b + Poster Atom = 0x2cf06 + Pre Atom = 0x47003 + Preload Atom = 0x48607 + Progress Atom = 0x5b908 + Prompt Atom = 0x53606 + Public Atom = 0x58606 + Q Atom = 0xcf01 + Radiogroup Atom = 0x30a + Rb Atom = 0x3a02 + Readonly Atom = 0x35708 + Referrerpolicy Atom = 0x3d10e + Rel Atom = 0x48703 + Required Atom = 0x24c08 + Reversed Atom = 0x8008 + Rows Atom = 0x9c04 + Rowspan Atom = 0x9c07 + Rp Atom = 0x23c02 + Rt Atom = 0x19a02 + Rtc Atom = 0x19a03 + Ruby Atom = 0xfb04 + S Atom = 0x2501 + Samp Atom = 0x7804 + Sandbox Atom = 0x12907 + Scope Atom = 0x67505 + Scoped Atom = 0x67506 + Script Atom = 0x21806 + Seamless Atom = 0x37108 + Section Atom = 0x56807 + Select Atom = 0x63c06 + Selected Atom = 0x63c08 + Shape Atom = 0x1e505 + Size Atom = 0x5f504 + Sizes Atom = 0x5f505 + Slot Atom = 0x1ef04 + Small Atom = 0x20605 + Sortable Atom = 0x65108 + Sorted Atom = 0x33706 + Source Atom = 0x37806 + Spacer Atom = 0x43706 + Span Atom = 0x9f04 + Spellcheck Atom = 0x4740a + Src Atom = 0x5c003 + Srcdoc Atom = 0x5c006 + Srclang Atom = 0x5f907 + Srcset Atom = 0x6f906 + Start Atom = 0x3fa05 + Step Atom = 0x58304 + Strike Atom = 0xd206 + Strong Atom = 0x6dd06 + Style Atom = 0x6ff05 + Sub Atom = 0x66d03 + Summary Atom = 0x70407 + Sup Atom = 0x70b03 + Svg Atom = 0x70e03 + System Atom = 0x71106 + Tabindex Atom = 0x4be08 + Table Atom = 0x59505 + Target Atom = 0x2c406 + Tbody Atom = 0x2705 + Td Atom = 0x9202 + Template Atom = 0x71408 + Textarea Atom = 0x35208 + Tfoot Atom = 0xf505 + Th Atom = 0x15602 + Thead Atom = 0x33005 + Time Atom = 0x4204 + Title Atom = 0x11005 + Tr Atom = 0xcc02 + Track Atom = 0x1ba05 + Translate Atom = 0x1f209 + Tt Atom = 0x6802 + Type Atom = 0xd904 + Typemustmatch Atom = 0x2900d + U Atom = 0xb01 + Ul Atom = 0xa702 + Updateviacache Atom = 0x460e + Usemap Atom = 0x59e06 + Value Atom = 0x1505 + Var Atom = 0x16d03 + Video Atom = 0x2f105 + Wbr Atom = 0x57c03 + Width Atom = 0x64905 + Workertype Atom = 0x71c0a + Wrap Atom = 0x72604 + Xmp Atom = 0x12f03 ) -const hash0 = 0xc17da63e +const hash0 = 0x81cdf10e -const maxAtomLen = 19 +const maxAtomLen = 25 var table = [1 << 9]Atom{ - 0x1: 0x48a0b, // onmousemove - 0x2: 0x5e209, // onwaiting - 0x3: 0x1fa13, // onautocompleteerror - 0x4: 0x5fa06, // prompt - 0x7: 0x5eb07, // optimum - 0x8: 0x1604, // mark - 0xa: 0x5ad07, // itemref - 0xb: 0x4fe0a, // onpageshow - 0xc: 0x57a06, // select - 0xd: 0x17b09, // draggable - 0xe: 0x3e03, // nav - 0xf: 0x17507, // command - 0x11: 0xb01, // u - 0x14: 0x2d507, // headers - 0x15: 0x44a08, // datalist - 0x17: 0x4e04, // samp - 0x1a: 0x3fb09, // onkeydown - 0x1b: 0x55f08, // onscroll - 0x1c: 0x15003, // col - 0x20: 0x3c908, // itemprop - 0x21: 0x2780a, // http-equiv - 0x22: 0x61d03, // sup - 0x24: 0x1d008, // required - 0x2b: 0x25e07, // preload - 0x2c: 0x6040d, // onbeforeprint - 0x2d: 0x3600b, // ondragenter - 0x2e: 0x50902, // dt - 0x2f: 0x5a708, // onsubmit - 0x30: 0x27002, // hr - 0x31: 0x32f0d, // oncontextmenu - 0x33: 0x29c05, // image - 0x34: 0x50d07, // onpause - 0x35: 0x25906, // hgroup - 0x36: 0x7704, // ping - 0x37: 0x57808, // onselect - 0x3a: 0x11303, // div - 0x3b: 0x1fa0e, // onautocomplete - 0x40: 0x2eb02, // mi - 0x41: 0x31c08, // seamless - 0x42: 0x2807, // charset - 0x43: 0x8502, // id - 0x44: 0x5200a, // onpopstate - 0x45: 0x3ef03, // del - 0x46: 0x2cb07, // marquee - 0x47: 0x3309, // accesskey - 0x49: 0x8d06, // footer - 0x4a: 0x44e04, // list - 0x4b: 0x2b005, // ismap - 0x51: 0x33804, // menu - 0x52: 0x2f04, // body - 0x55: 0x9a08, // frameset - 0x56: 0x54a07, // onreset - 0x57: 0x12705, // blink - 0x58: 0xa105, // title - 0x59: 0x38807, // article - 0x5b: 0x22e02, // th - 0x5d: 0x13101, // q - 0x5e: 0x3cf04, // open - 0x5f: 0x2fa04, // area - 0x61: 0x44206, // onload - 0x62: 0xda04, // font - 0x63: 0xd604, // base - 0x64: 0x16207, // colspan - 0x65: 0x53707, // keytype - 0x66: 0x11e02, // dl - 0x68: 0x1b008, // fieldset - 0x6a: 0x2eb03, // min - 0x6b: 0x11503, // var - 0x6f: 0x2d506, // header - 0x70: 0x13f02, // rt - 0x71: 0x15008, // colgroup - 0x72: 0x23502, // mn - 0x74: 0x13a07, // onabort - 0x75: 0x3906, // keygen - 0x76: 0x4c209, // onoffline - 0x77: 0x21f09, // challenge - 0x78: 0x2b203, // map - 0x7a: 0x2e902, // h4 - 0x7b: 0x3b607, // onerror - 0x7c: 0x2e109, // maxlength - 0x7d: 0x2f505, // mtext - 0x7e: 0xbb07, // sandbox - 0x7f: 0x58b06, // onsort - 0x80: 0x100a, // malignmark - 0x81: 0x45d04, // meta - 0x82: 0x7b05, // async - 0x83: 0x2a702, // h3 - 0x84: 0x26702, // dd - 0x85: 0x27004, // href - 0x86: 0x6e0a, // mediagroup - 0x87: 0x19406, // coords - 0x88: 0x41107, // srclang - 0x89: 0x34d0a, // ondblclick - 0x8a: 0x4005, // value - 0x8c: 0xe908, // oncancel - 0x8e: 0x3230a, // spellcheck - 0x8f: 0x9a05, // frame - 0x91: 0x12403, // big - 0x94: 0x1f606, // action - 0x95: 0x6903, // dir - 0x97: 0x2fb08, // readonly - 0x99: 0x42d05, // table - 0x9a: 0x61607, // summary - 0x9b: 0x12103, // wbr - 0x9c: 0x30a, // radiogroup - 0x9d: 0x6c04, // name - 0x9f: 0x62306, // system - 0xa1: 0x15d05, // color - 0xa2: 0x7f06, // canvas - 0xa3: 0x25504, // html - 0xa5: 0x56f09, // onseeking - 0xac: 0x4f905, // shape - 0xad: 0x25f03, // rel - 0xae: 0x28510, // oncanplaythrough - 0xaf: 0x3760a, // ondragover - 0xb0: 0x62608, // template - 0xb1: 0x1d80d, // foreignObject - 0xb3: 0x9204, // rows - 0xb6: 0x44e07, // listing - 0xb7: 0x49c06, // output - 0xb9: 0x3310b, // contextmenu - 0xbb: 0x11f03, // low - 0xbc: 0x1c602, // rp - 0xbd: 0x5bb09, // onsuspend - 0xbe: 0x13606, // button - 0xbf: 0x4db04, // desc - 0xc1: 0x4e207, // section - 0xc2: 0x52a0a, // onprogress - 0xc3: 0x59e09, // onstorage - 0xc4: 0x2d204, // math - 0xc5: 0x4503, // alt - 0xc7: 0x8a02, // ul - 0xc8: 0x5107, // pattern - 0xc9: 0x4b60c, // onmousewheel - 0xca: 0x35709, // ondragend - 0xcb: 0xaf04, // ruby - 0xcc: 0xc01, // p - 0xcd: 0x31707, // onclose - 0xce: 0x24205, // meter - 0xcf: 0x11807, // bgsound - 0xd2: 0x25106, // height - 0xd4: 0x101, // b - 0xd5: 0x2c308, // itemtype - 0xd8: 0x1bb07, // caption - 0xd9: 0x10c08, // disabled - 0xdb: 0x33808, // menuitem - 0xdc: 0x62003, // svg - 0xdd: 0x18f05, // small - 0xde: 0x44a04, // data - 0xe0: 0x4cb08, // ononline - 0xe1: 0x2a206, // mglyph - 0xe3: 0x6505, // embed - 0xe4: 0x10502, // tr - 0xe5: 0x46b0b, // onloadstart - 0xe7: 0x3c306, // srcdoc - 0xeb: 0x5c408, // ontoggle - 0xed: 0xe703, // bdo - 0xee: 0x4702, // td - 0xef: 0x8305, // aside - 0xf0: 0x29402, // h2 - 0xf1: 0x52c08, // progress - 0xf2: 0x12c0a, // blockquote - 0xf4: 0xf005, // label - 0xf5: 0x601, // i - 0xf7: 0x9207, // rowspan - 0xfb: 0x51709, // onplaying - 0xfd: 0x2a103, // img - 0xfe: 0xf608, // optgroup - 0xff: 0x42307, // content - 0x101: 0x53e0c, // onratechange - 0x103: 0x3da0c, // onhashchange - 0x104: 0x4807, // details - 0x106: 0x40008, // download - 0x109: 0x14009, // translate - 0x10b: 0x4230f, // contenteditable - 0x10d: 0x36b0b, // ondragleave - 0x10e: 0x2106, // accept - 0x10f: 0x57a08, // selected - 0x112: 0x1f20a, // formaction - 0x113: 0x5b506, // center - 0x115: 0x45510, // onloadedmetadata - 0x116: 0x12804, // link - 0x117: 0xdd04, // time - 0x118: 0x19f0b, // crossorigin - 0x119: 0x3bd07, // onfocus - 0x11a: 0x58704, // wrap - 0x11b: 0x42204, // icon - 0x11d: 0x28105, // video - 0x11e: 0x4de05, // class - 0x121: 0x5d40e, // onvolumechange - 0x122: 0xaa06, // onblur - 0x123: 0x2b909, // itemscope - 0x124: 0x61105, // style - 0x127: 0x41e06, // public - 0x129: 0x2320e, // formnovalidate - 0x12a: 0x58206, // onshow - 0x12c: 0x51706, // onplay - 0x12d: 0x3c804, // cite - 0x12e: 0x2bc02, // ms - 0x12f: 0xdb0c, // ontimeupdate - 0x130: 0x10904, // kind - 0x131: 0x2470a, // formtarget - 0x135: 0x3af07, // onended - 0x136: 0x26506, // hidden - 0x137: 0x2c01, // s - 0x139: 0x2280a, // formmethod - 0x13a: 0x3e805, // input - 0x13c: 0x50b02, // h6 - 0x13d: 0xc902, // ol - 0x13e: 0x3420b, // oncuechange - 0x13f: 0x1e50d, // foreignobject - 0x143: 0x4e70e, // onbeforeunload - 0x144: 0x2bd05, // scope - 0x145: 0x39609, // onemptied - 0x146: 0x14b05, // defer - 0x147: 0xc103, // xmp - 0x148: 0x39f10, // ondurationchange - 0x149: 0x1903, // kbd - 0x14c: 0x47609, // onmessage - 0x14d: 0x60006, // option - 0x14e: 0x2eb09, // minlength - 0x14f: 0x32807, // checked - 0x150: 0xce08, // autoplay - 0x152: 0x202, // br - 0x153: 0x2360a, // novalidate - 0x156: 0x6307, // noembed - 0x159: 0x31007, // onclick - 0x15a: 0x47f0b, // onmousedown - 0x15b: 0x3a708, // onchange - 0x15e: 0x3f209, // oninvalid - 0x15f: 0x2bd06, // scoped - 0x160: 0x18808, // controls - 0x161: 0x30b05, // muted - 0x162: 0x58d08, // sortable - 0x163: 0x51106, // usemap - 0x164: 0x1b80a, // figcaption - 0x165: 0x35706, // ondrag - 0x166: 0x26b04, // high - 0x168: 0x3c303, // src - 0x169: 0x15706, // poster - 0x16b: 0x1670e, // annotation-xml - 0x16c: 0x5f704, // step - 0x16d: 0x4, // abbr - 0x16e: 0x1b06, // dialog - 0x170: 0x1202, // li - 0x172: 0x3ed02, // mo - 0x175: 0x1d803, // for - 0x176: 0x1a803, // ins - 0x178: 0x55504, // size - 0x179: 0x43210, // onlanguagechange - 0x17a: 0x8607, // default - 0x17b: 0x1a03, // bdi - 0x17c: 0x4d30a, // onpagehide - 0x17d: 0x6907, // dirname - 0x17e: 0x21404, // type - 0x17f: 0x1f204, // form - 0x181: 0x28509, // oncanplay - 0x182: 0x6103, // dfn - 0x183: 0x46308, // tabindex - 0x186: 0x6502, // em - 0x187: 0x27404, // lang - 0x189: 0x39108, // dropzone - 0x18a: 0x4080a, // onkeypress - 0x18b: 0x23c08, // datetime - 0x18c: 0x16204, // cols - 0x18d: 0x1, // a - 0x18e: 0x4420c, // onloadeddata - 0x190: 0xa605, // audio - 0x192: 0x2e05, // tbody - 0x193: 0x22c06, // method - 0x195: 0xf404, // loop - 0x196: 0x29606, // iframe - 0x198: 0x2d504, // head - 0x19e: 0x5f108, // manifest - 0x19f: 0xb309, // autofocus - 0x1a0: 0x14904, // code - 0x1a1: 0x55906, // strong - 0x1a2: 0x30308, // multiple - 0x1a3: 0xc05, // param - 0x1a6: 0x21107, // enctype - 0x1a7: 0x5b304, // face - 0x1a8: 0xfd09, // plaintext - 0x1a9: 0x26e02, // h1 - 0x1aa: 0x59509, // onstalled - 0x1ad: 0x3d406, // script - 0x1ae: 0x2db06, // spacer - 0x1af: 0x55108, // onresize - 0x1b0: 0x4a20b, // onmouseover - 0x1b1: 0x5cc08, // onunload - 0x1b2: 0x56708, // onseeked - 0x1b4: 0x2140d, // typemustmatch - 0x1b5: 0x1cc06, // figure - 0x1b6: 0x4950a, // onmouseout - 0x1b7: 0x25e03, // pre - 0x1b8: 0x50705, // width - 0x1b9: 0x19906, // sorted - 0x1bb: 0x5704, // nobr - 0x1be: 0x5302, // tt - 0x1bf: 0x1105, // align - 0x1c0: 0x3e607, // oninput - 0x1c3: 0x41807, // onkeyup - 0x1c6: 0x1c00c, // onafterprint - 0x1c7: 0x210e, // accept-charset - 0x1c8: 0x33c06, // itemid - 0x1c9: 0x3e809, // inputmode - 0x1cb: 0x53306, // strike - 0x1cc: 0x5a903, // sub - 0x1cd: 0x10505, // track - 0x1ce: 0x38605, // start - 0x1d0: 0xd608, // basefont - 0x1d6: 0x1aa06, // source - 0x1d7: 0x18206, // legend - 0x1d8: 0x2d405, // thead - 0x1da: 0x8c05, // tfoot - 0x1dd: 0x1ec06, // object - 0x1de: 0x6e05, // media - 0x1df: 0x1670a, // annotation - 0x1e0: 0x20d0b, // formenctype - 0x1e2: 0x3d208, // noscript - 0x1e4: 0x55505, // sizes - 0x1e5: 0x1fc0c, // autocomplete - 0x1e6: 0x9504, // span - 0x1e7: 0x9808, // noframes - 0x1e8: 0x24b06, // target - 0x1e9: 0x38f06, // ondrop - 0x1ea: 0x2b306, // applet - 0x1ec: 0x5a08, // reversed - 0x1f0: 0x2a907, // isindex - 0x1f3: 0x27008, // hreflang - 0x1f5: 0x2f302, // h5 - 0x1f6: 0x4f307, // address - 0x1fa: 0x2e103, // max - 0x1fb: 0xc30b, // placeholder - 0x1fc: 0x2f608, // textarea - 0x1fe: 0x4ad09, // onmouseup - 0x1ff: 0x3800b, // ondragstart + 0x1: 0xe60a, // mediagroup + 0x2: 0x2e404, // lang + 0x4: 0x2c09, // accesskey + 0x5: 0x8b08, // frameset + 0x7: 0x63a08, // onselect + 0x8: 0x71106, // system + 0xa: 0x64905, // width + 0xc: 0x2890b, // formenctype + 0xd: 0x13702, // ol + 0xe: 0x3970b, // oncuechange + 0x10: 0x14b03, // bdo + 0x11: 0x11505, // audio + 0x12: 0x17a09, // draggable + 0x14: 0x2f105, // video + 0x15: 0x2b102, // mn + 0x16: 0x38704, // menu + 0x17: 0x2cf06, // poster + 0x19: 0xf606, // footer + 0x1a: 0x2a806, // method + 0x1b: 0x2b808, // datetime + 0x1c: 0x19507, // onabort + 0x1d: 0x460e, // updateviacache + 0x1e: 0xff05, // async + 0x1f: 0x49d06, // onload + 0x21: 0x11908, // oncancel + 0x22: 0x62908, // onseeked + 0x23: 0x30205, // image + 0x24: 0x5d812, // onrejectionhandled + 0x26: 0x17404, // link + 0x27: 0x51d06, // output + 0x28: 0x33104, // head + 0x29: 0x4ff0c, // onmouseleave + 0x2a: 0x57f07, // onpaste + 0x2b: 0x5a409, // onplaying + 0x2c: 0x1c407, // colspan + 0x2f: 0x1bf05, // color + 0x30: 0x5f504, // size + 0x31: 0x2e80a, // http-equiv + 0x33: 0x601, // i + 0x34: 0x5590a, // onpagehide + 0x35: 0x68c14, // onunhandledrejection + 0x37: 0x42a07, // onerror + 0x3a: 0x3b08, // basefont + 0x3f: 0x1303, // nav + 0x40: 0x17704, // kind + 0x41: 0x35708, // readonly + 0x42: 0x30806, // mglyph + 0x44: 0xb202, // li + 0x46: 0x2d506, // hidden + 0x47: 0x70e03, // svg + 0x48: 0x58304, // step + 0x49: 0x23f09, // integrity + 0x4a: 0x58606, // public + 0x4c: 0x1ab03, // col + 0x4d: 0x1870a, // blockquote + 0x4e: 0x34f02, // h5 + 0x50: 0x5b908, // progress + 0x51: 0x5f505, // sizes + 0x52: 0x34502, // h4 + 0x56: 0x33005, // thead + 0x57: 0xd607, // keytype + 0x58: 0x5b70a, // onprogress + 0x59: 0x44b09, // inputmode + 0x5a: 0x3b109, // ondragend + 0x5d: 0x3a205, // oncut + 0x5e: 0x43706, // spacer + 0x5f: 0x1ab08, // colgroup + 0x62: 0x16502, // is + 0x65: 0x3c02, // as + 0x66: 0x54809, // onoffline + 0x67: 0x33706, // sorted + 0x69: 0x48d10, // onlanguagechange + 0x6c: 0x43d0c, // onhashchange + 0x6d: 0x9604, // name + 0x6e: 0xf505, // tfoot + 0x6f: 0x56104, // desc + 0x70: 0x33d03, // max + 0x72: 0x1ea06, // coords + 0x73: 0x30d02, // h3 + 0x74: 0x6e70e, // onbeforeunload + 0x75: 0x9c04, // rows + 0x76: 0x63c06, // select + 0x77: 0x9805, // meter + 0x78: 0x38b06, // itemid + 0x79: 0x53c0c, // onmousewheel + 0x7a: 0x5c006, // srcdoc + 0x7d: 0x1ba05, // track + 0x7f: 0x31f08, // itemtype + 0x82: 0xa402, // mo + 0x83: 0x41b08, // onchange + 0x84: 0x33107, // headers + 0x85: 0x5cc0c, // onratechange + 0x86: 0x60819, // onsecuritypolicyviolation + 0x88: 0x4a508, // datalist + 0x89: 0x4e80b, // onmousedown + 0x8a: 0x1ef04, // slot + 0x8b: 0x4b010, // onloadedmetadata + 0x8c: 0x1a06, // accept + 0x8d: 0x26806, // object + 0x91: 0x6b30e, // onvolumechange + 0x92: 0x2107, // charset + 0x93: 0x27613, // onautocompleteerror + 0x94: 0xc113, // allowpaymentrequest + 0x95: 0x2804, // body + 0x96: 0x10a07, // default + 0x97: 0x63c08, // selected + 0x98: 0x21e04, // face + 0x99: 0x1e505, // shape + 0x9b: 0x68408, // ontoggle + 0x9e: 0x64b02, // dt + 0x9f: 0xb604, // mark + 0xa1: 0xb01, // u + 0xa4: 0x6ab08, // onunload + 0xa5: 0x5d04, // loop + 0xa6: 0x16408, // disabled + 0xaa: 0x42307, // onended + 0xab: 0xb00a, // malignmark + 0xad: 0x67b09, // onsuspend + 0xae: 0x35105, // mtext + 0xaf: 0x64f06, // onsort + 0xb0: 0x19d08, // itemprop + 0xb3: 0x67109, // itemscope + 0xb4: 0x17305, // blink + 0xb6: 0x3b106, // ondrag + 0xb7: 0xa702, // ul + 0xb8: 0x26e04, // form + 0xb9: 0x12907, // sandbox + 0xba: 0x8b05, // frame + 0xbb: 0x1505, // value + 0xbc: 0x66209, // onstorage + 0xbf: 0xaa07, // acronym + 0xc0: 0x19a02, // rt + 0xc2: 0x202, // br + 0xc3: 0x22608, // fieldset + 0xc4: 0x2900d, // typemustmatch + 0xc5: 0xa208, // nomodule + 0xc6: 0x6c07, // noembed + 0xc7: 0x69e0d, // onbeforeprint + 0xc8: 0x19106, // button + 0xc9: 0x2f507, // onclick + 0xca: 0x70407, // summary + 0xcd: 0xfb04, // ruby + 0xce: 0x56405, // class + 0xcf: 0x3f40b, // ondragstart + 0xd0: 0x23107, // caption + 0xd4: 0xdd0e, // allowusermedia + 0xd5: 0x4cf0b, // onloadstart + 0xd9: 0x16b03, // div + 0xda: 0x4a904, // list + 0xdb: 0x32e04, // math + 0xdc: 0x44b05, // input + 0xdf: 0x3ea0a, // ondragover + 0xe0: 0x2de02, // h2 + 0xe2: 0x1b209, // plaintext + 0xe4: 0x4f30c, // onmouseenter + 0xe7: 0x47907, // checked + 0xe8: 0x47003, // pre + 0xea: 0x35f08, // multiple + 0xeb: 0xba03, // bdi + 0xec: 0x33d09, // maxlength + 0xed: 0xcf01, // q + 0xee: 0x61f0a, // onauxclick + 0xf0: 0x57c03, // wbr + 0xf2: 0x3b04, // base + 0xf3: 0x6e306, // option + 0xf5: 0x41310, // ondurationchange + 0xf7: 0x8908, // noframes + 0xf9: 0x40508, // dropzone + 0xfb: 0x67505, // scope + 0xfc: 0x8008, // reversed + 0xfd: 0x3ba0b, // ondragenter + 0xfe: 0x3fa05, // start + 0xff: 0x12f03, // xmp + 0x100: 0x5f907, // srclang + 0x101: 0x30703, // img + 0x104: 0x101, // b + 0x105: 0x25403, // for + 0x106: 0x10705, // aside + 0x107: 0x44907, // oninput + 0x108: 0x35604, // area + 0x109: 0x2a40a, // formmethod + 0x10a: 0x72604, // wrap + 0x10c: 0x23c02, // rp + 0x10d: 0x46b0a, // onkeypress + 0x10e: 0x6802, // tt + 0x110: 0x34702, // mi + 0x111: 0x36705, // muted + 0x112: 0xf303, // alt + 0x113: 0x5c504, // code + 0x114: 0x6e02, // em + 0x115: 0x3c50a, // ondragexit + 0x117: 0x9f04, // span + 0x119: 0x6d708, // manifest + 0x11a: 0x38708, // menuitem + 0x11b: 0x58b07, // content + 0x11d: 0x6c109, // onwaiting + 0x11f: 0x4c609, // onloadend + 0x121: 0x37e0d, // oncontextmenu + 0x123: 0x56d06, // onblur + 0x124: 0x3fc07, // article + 0x125: 0x9303, // dir + 0x126: 0xef04, // ping + 0x127: 0x24c08, // required + 0x128: 0x45509, // oninvalid + 0x129: 0xb105, // align + 0x12b: 0x58a04, // icon + 0x12c: 0x64d02, // h6 + 0x12d: 0x1c404, // cols + 0x12e: 0x22e0a, // figcaption + 0x12f: 0x45e09, // onkeydown + 0x130: 0x66b08, // onsubmit + 0x131: 0x14d09, // oncanplay + 0x132: 0x70b03, // sup + 0x133: 0xc01, // p + 0x135: 0x40a09, // onemptied + 0x136: 0x39106, // oncopy + 0x137: 0x19c04, // cite + 0x138: 0x3a70a, // ondblclick + 0x13a: 0x50b0b, // onmousemove + 0x13c: 0x66d03, // sub + 0x13d: 0x48703, // rel + 0x13e: 0x5f08, // optgroup + 0x142: 0x9c07, // rowspan + 0x143: 0x37806, // source + 0x144: 0x21608, // noscript + 0x145: 0x1a304, // open + 0x146: 0x20403, // ins + 0x147: 0x2540d, // foreignObject + 0x148: 0x5ad0a, // onpopstate + 0x14a: 0x28d07, // enctype + 0x14b: 0x2760e, // onautocomplete + 0x14c: 0x35208, // textarea + 0x14e: 0x2780c, // autocomplete + 0x14f: 0x15702, // hr + 0x150: 0x1de08, // controls + 0x151: 0x10902, // id + 0x153: 0x2360c, // onafterprint + 0x155: 0x2610d, // foreignobject + 0x156: 0x32707, // marquee + 0x157: 0x59a07, // onpause + 0x158: 0x5e602, // dl + 0x159: 0x5206, // height + 0x15a: 0x34703, // min + 0x15b: 0x9307, // dirname + 0x15c: 0x1f209, // translate + 0x15d: 0x5604, // html + 0x15e: 0x34709, // minlength + 0x15f: 0x48607, // preload + 0x160: 0x71408, // template + 0x161: 0x3df0b, // ondragleave + 0x162: 0x3a02, // rb + 0x164: 0x5c003, // src + 0x165: 0x6dd06, // strong + 0x167: 0x7804, // samp + 0x168: 0x6f307, // address + 0x169: 0x55108, // ononline + 0x16b: 0x1310b, // placeholder + 0x16c: 0x2c406, // target + 0x16d: 0x20605, // small + 0x16e: 0x6ca07, // onwheel + 0x16f: 0x1c90a, // annotation + 0x170: 0x4740a, // spellcheck + 0x171: 0x7207, // details + 0x172: 0x10306, // canvas + 0x173: 0x12109, // autofocus + 0x174: 0xc05, // param + 0x176: 0x46308, // download + 0x177: 0x45203, // del + 0x178: 0x36c07, // onclose + 0x179: 0xb903, // kbd + 0x17a: 0x31906, // applet + 0x17b: 0x2e004, // href + 0x17c: 0x5f108, // onresize + 0x17e: 0x49d0c, // onloadeddata + 0x180: 0xcc02, // tr + 0x181: 0x2c00a, // formtarget + 0x182: 0x11005, // title + 0x183: 0x6ff05, // style + 0x184: 0xd206, // strike + 0x185: 0x59e06, // usemap + 0x186: 0x2fc06, // iframe + 0x187: 0x1004, // main + 0x189: 0x7b07, // picture + 0x18c: 0x31605, // ismap + 0x18e: 0x4a504, // data + 0x18f: 0x5905, // label + 0x191: 0x3d10e, // referrerpolicy + 0x192: 0x15602, // th + 0x194: 0x53606, // prompt + 0x195: 0x56807, // section + 0x197: 0x6d107, // optimum + 0x198: 0x2db04, // high + 0x199: 0x15c02, // h1 + 0x19a: 0x65909, // onstalled + 0x19b: 0x16d03, // var + 0x19c: 0x4204, // time + 0x19e: 0x67402, // ms + 0x19f: 0x33106, // header + 0x1a0: 0x4da09, // onmessage + 0x1a1: 0x1a605, // nonce + 0x1a2: 0x26e0a, // formaction + 0x1a3: 0x22006, // center + 0x1a4: 0x3704, // nobr + 0x1a5: 0x59505, // table + 0x1a6: 0x4a907, // listing + 0x1a7: 0x18106, // legend + 0x1a9: 0x29b09, // challenge + 0x1aa: 0x24806, // figure + 0x1ab: 0xe605, // media + 0x1ae: 0xd904, // type + 0x1af: 0x3f04, // font + 0x1b0: 0x4da0e, // onmessageerror + 0x1b1: 0x37108, // seamless + 0x1b2: 0x8703, // dfn + 0x1b3: 0x5c705, // defer + 0x1b4: 0xc303, // low + 0x1b5: 0x19a03, // rtc + 0x1b6: 0x5230b, // onmouseover + 0x1b7: 0x2b20a, // novalidate + 0x1b8: 0x71c0a, // workertype + 0x1ba: 0x3cd07, // itemref + 0x1bd: 0x1, // a + 0x1be: 0x31803, // map + 0x1bf: 0x400c, // ontimeupdate + 0x1c0: 0x15e07, // bgsound + 0x1c1: 0x3206, // keygen + 0x1c2: 0x2705, // tbody + 0x1c5: 0x64406, // onshow + 0x1c7: 0x2501, // s + 0x1c8: 0x6607, // pattern + 0x1cc: 0x14d10, // oncanplaythrough + 0x1ce: 0x2d702, // dd + 0x1cf: 0x6f906, // srcset + 0x1d0: 0x17003, // big + 0x1d2: 0x65108, // sortable + 0x1d3: 0x48007, // onkeyup + 0x1d5: 0x5a406, // onplay + 0x1d7: 0x4b804, // meta + 0x1d8: 0x40306, // ondrop + 0x1da: 0x60008, // onscroll + 0x1db: 0x1fb0b, // crossorigin + 0x1dc: 0x5730a, // onpageshow + 0x1dd: 0x4, // abbr + 0x1de: 0x9202, // td + 0x1df: 0x58b0f, // contenteditable + 0x1e0: 0x27206, // action + 0x1e1: 0x1400b, // playsinline + 0x1e2: 0x43107, // onfocus + 0x1e3: 0x2e008, // hreflang + 0x1e5: 0x5160a, // onmouseout + 0x1e6: 0x5ea07, // onreset + 0x1e7: 0x13c08, // autoplay + 0x1e8: 0x63109, // onseeking + 0x1ea: 0x67506, // scoped + 0x1ec: 0x30a, // radiogroup + 0x1ee: 0x3800b, // contextmenu + 0x1ef: 0x52e09, // onmouseup + 0x1f1: 0x2ca06, // hgroup + 0x1f2: 0x2080f, // allowfullscreen + 0x1f3: 0x4be08, // tabindex + 0x1f6: 0x30f07, // isindex + 0x1f7: 0x1a0e, // accept-charset + 0x1f8: 0x2ae0e, // formnovalidate + 0x1fb: 0x1c90e, // annotation-xml + 0x1fc: 0x6e05, // embed + 0x1fd: 0x21806, // script + 0x1fe: 0xbb06, // dialog + 0x1ff: 0x1d707, // command } -const atomText = "abbradiogrouparamalignmarkbdialogaccept-charsetbodyaccesskey" + - "genavaluealtdetailsampatternobreversedfnoembedirnamediagroup" + - "ingasyncanvasidefaultfooterowspanoframesetitleaudionblurubya" + - "utofocusandboxmplaceholderautoplaybasefontimeupdatebdoncance" + - "labelooptgrouplaintextrackindisabledivarbgsoundlowbrbigblink" + - "blockquotebuttonabortranslatecodefercolgroupostercolorcolspa" + - "nnotation-xmlcommandraggablegendcontrolsmallcoordsortedcross" + - "originsourcefieldsetfigcaptionafterprintfigurequiredforeignO" + - "bjectforeignobjectformactionautocompleteerrorformenctypemust" + - "matchallengeformmethodformnovalidatetimeterformtargetheightm" + - "lhgroupreloadhiddenhigh1hreflanghttp-equivideoncanplaythroug" + - "h2iframeimageimglyph3isindexismappletitemscopeditemtypemarqu" + - "eematheaderspacermaxlength4minlength5mtextareadonlymultiplem" + - "utedonclickoncloseamlesspellcheckedoncontextmenuitemidoncuec" + - "hangeondblclickondragendondragenterondragleaveondragoverondr" + - "agstarticleondropzonemptiedondurationchangeonendedonerroronf" + - "ocusrcdocitempropenoscriptonhashchangeoninputmodeloninvalido" + - "nkeydownloadonkeypressrclangonkeyupublicontenteditableonlang" + - "uagechangeonloadeddatalistingonloadedmetadatabindexonloadsta" + - "rtonmessageonmousedownonmousemoveonmouseoutputonmouseoveronm" + - "ouseuponmousewheelonofflineononlineonpagehidesclassectionbef" + - "oreunloaddresshapeonpageshowidth6onpausemaponplayingonpopsta" + - "teonprogresstrikeytypeonratechangeonresetonresizestrongonscr" + - "ollonseekedonseekingonselectedonshowraponsortableonstalledon" + - "storageonsubmitemrefacenteronsuspendontoggleonunloadonvolume" + - "changeonwaitingoptimumanifestepromptoptionbeforeprintstylesu" + - "mmarysupsvgsystemplate" +const atomText = "abbradiogrouparamainavalueaccept-charsetbodyaccesskeygenobrb" + + "asefontimeupdateviacacheightmlabelooptgroupatternoembedetail" + + "sampictureversedfnoframesetdirnameterowspanomoduleacronymali" + + "gnmarkbdialogallowpaymentrequestrikeytypeallowusermediagroup" + + "ingaltfooterubyasyncanvasidefaultitleaudioncancelautofocusan" + + "dboxmplaceholderautoplaysinlinebdoncanplaythrough1bgsoundisa" + + "bledivarbigblinkindraggablegendblockquotebuttonabortcitempro" + + "penoncecolgrouplaintextrackcolorcolspannotation-xmlcommandco" + + "ntrolshapecoordslotranslatecrossoriginsmallowfullscreenoscri" + + "ptfacenterfieldsetfigcaptionafterprintegrityfigurequiredfore" + + "ignObjectforeignobjectformactionautocompleteerrorformenctype" + + "mustmatchallengeformmethodformnovalidatetimeformtargethgroup" + + "osterhiddenhigh2hreflanghttp-equivideonclickiframeimageimgly" + + "ph3isindexismappletitemtypemarqueematheadersortedmaxlength4m" + + "inlength5mtextareadonlymultiplemutedoncloseamlessourceoncont" + + "extmenuitemidoncopyoncuechangeoncutondblclickondragendondrag" + + "enterondragexitemreferrerpolicyondragleaveondragoverondragst" + + "articleondropzonemptiedondurationchangeonendedonerroronfocus" + + "paceronhashchangeoninputmodeloninvalidonkeydownloadonkeypres" + + "spellcheckedonkeyupreloadonlanguagechangeonloadeddatalisting" + + "onloadedmetadatabindexonloadendonloadstartonmessageerroronmo" + + "usedownonmouseenteronmouseleaveonmousemoveonmouseoutputonmou" + + "seoveronmouseupromptonmousewheelonofflineononlineonpagehides" + + "classectionbluronpageshowbronpastepublicontenteditableonpaus" + + "emaponplayingonpopstateonprogressrcdocodeferonratechangeonre" + + "jectionhandledonresetonresizesrclangonscrollonsecuritypolicy" + + "violationauxclickonseekedonseekingonselectedonshowidth6onsor" + + "tableonstalledonstorageonsubmitemscopedonsuspendontoggleonun" + + "handledrejectionbeforeprintonunloadonvolumechangeonwaitingon" + + "wheeloptimumanifestrongoptionbeforeunloaddressrcsetstylesumm" + + "arysupsvgsystemplateworkertypewrap" diff --git a/vendor/golang.org/x/net/html/const.go b/vendor/golang.org/x/net/html/const.go index 52f651ff6d..73804d3472 100644 --- a/vendor/golang.org/x/net/html/const.go +++ b/vendor/golang.org/x/net/html/const.go @@ -4,7 +4,7 @@ package html -// Section 12.2.3.2 of the HTML5 specification says "The following elements +// Section 12.2.4.2 of the HTML5 specification says "The following elements // have varying levels of special parsing rules". // https://html.spec.whatwg.org/multipage/syntax.html#the-stack-of-open-elements var isSpecialElementMap = map[string]bool{ @@ -52,10 +52,11 @@ var isSpecialElementMap = map[string]bool{ "iframe": true, "img": true, "input": true, - "isindex": true, + "keygen": true, "li": true, "link": true, "listing": true, + "main": true, "marquee": true, "menu": true, "meta": true, @@ -95,8 +96,16 @@ func isSpecialElement(element *Node) bool { switch element.Namespace { case "", "html": return isSpecialElementMap[element.Data] + case "math": + switch element.Data { + case "mi", "mo", "mn", "ms", "mtext", "annotation-xml": + return true + } case "svg": - return element.Data == "foreignObject" + switch element.Data { + case "foreignObject", "desc", "title": + return true + } } return false } diff --git a/vendor/golang.org/x/net/html/doc.go b/vendor/golang.org/x/net/html/doc.go index 94f496874a..822ed42a04 100644 --- a/vendor/golang.org/x/net/html/doc.go +++ b/vendor/golang.org/x/net/html/doc.go @@ -49,18 +49,18 @@ call to Next. For example, to extract an HTML page's anchor text: for { tt := z.Next() switch tt { - case ErrorToken: + case html.ErrorToken: return z.Err() - case TextToken: + case html.TextToken: if depth > 0 { // emitBytes should copy the []byte it receives, // if it doesn't process it immediately. emitBytes(z.Text()) } - case StartTagToken, EndTagToken: + case html.StartTagToken, html.EndTagToken: tn, _ := z.TagName() if len(tn) == 1 && tn[0] == 'a' { - if tt == StartTagToken { + if tt == html.StartTagToken { depth++ } else { depth-- diff --git a/vendor/golang.org/x/net/html/entity.go b/vendor/golang.org/x/net/html/entity.go index a50c04c60e..b628880a01 100644 --- a/vendor/golang.org/x/net/html/entity.go +++ b/vendor/golang.org/x/net/html/entity.go @@ -75,2083 +75,2083 @@ var entity = map[string]rune{ "Copf;": '\U00002102', "Coproduct;": '\U00002210', "CounterClockwiseContourIntegral;": '\U00002233', - "Cross;": '\U00002A2F', - "Cscr;": '\U0001D49E', - "Cup;": '\U000022D3', - "CupCap;": '\U0000224D', - "DD;": '\U00002145', - "DDotrahd;": '\U00002911', - "DJcy;": '\U00000402', - "DScy;": '\U00000405', - "DZcy;": '\U0000040F', - "Dagger;": '\U00002021', - "Darr;": '\U000021A1', - "Dashv;": '\U00002AE4', - "Dcaron;": '\U0000010E', - "Dcy;": '\U00000414', - "Del;": '\U00002207', - "Delta;": '\U00000394', - "Dfr;": '\U0001D507', - "DiacriticalAcute;": '\U000000B4', - "DiacriticalDot;": '\U000002D9', - "DiacriticalDoubleAcute;": '\U000002DD', - "DiacriticalGrave;": '\U00000060', - "DiacriticalTilde;": '\U000002DC', - "Diamond;": '\U000022C4', - "DifferentialD;": '\U00002146', - "Dopf;": '\U0001D53B', - "Dot;": '\U000000A8', - "DotDot;": '\U000020DC', - "DotEqual;": '\U00002250', - "DoubleContourIntegral;": '\U0000222F', - "DoubleDot;": '\U000000A8', - "DoubleDownArrow;": '\U000021D3', - "DoubleLeftArrow;": '\U000021D0', - "DoubleLeftRightArrow;": '\U000021D4', - "DoubleLeftTee;": '\U00002AE4', - "DoubleLongLeftArrow;": '\U000027F8', - "DoubleLongLeftRightArrow;": '\U000027FA', - "DoubleLongRightArrow;": '\U000027F9', - "DoubleRightArrow;": '\U000021D2', - "DoubleRightTee;": '\U000022A8', - "DoubleUpArrow;": '\U000021D1', - "DoubleUpDownArrow;": '\U000021D5', - "DoubleVerticalBar;": '\U00002225', - "DownArrow;": '\U00002193', - "DownArrowBar;": '\U00002913', - "DownArrowUpArrow;": '\U000021F5', - "DownBreve;": '\U00000311', - "DownLeftRightVector;": '\U00002950', - "DownLeftTeeVector;": '\U0000295E', - "DownLeftVector;": '\U000021BD', - "DownLeftVectorBar;": '\U00002956', - "DownRightTeeVector;": '\U0000295F', - "DownRightVector;": '\U000021C1', - "DownRightVectorBar;": '\U00002957', - "DownTee;": '\U000022A4', - "DownTeeArrow;": '\U000021A7', - "Downarrow;": '\U000021D3', - "Dscr;": '\U0001D49F', - "Dstrok;": '\U00000110', - "ENG;": '\U0000014A', - "ETH;": '\U000000D0', - "Eacute;": '\U000000C9', - "Ecaron;": '\U0000011A', - "Ecirc;": '\U000000CA', - "Ecy;": '\U0000042D', - "Edot;": '\U00000116', - "Efr;": '\U0001D508', - "Egrave;": '\U000000C8', - "Element;": '\U00002208', - "Emacr;": '\U00000112', - "EmptySmallSquare;": '\U000025FB', - "EmptyVerySmallSquare;": '\U000025AB', - "Eogon;": '\U00000118', - "Eopf;": '\U0001D53C', - "Epsilon;": '\U00000395', - "Equal;": '\U00002A75', - "EqualTilde;": '\U00002242', - "Equilibrium;": '\U000021CC', - "Escr;": '\U00002130', - "Esim;": '\U00002A73', - "Eta;": '\U00000397', - "Euml;": '\U000000CB', - "Exists;": '\U00002203', - "ExponentialE;": '\U00002147', - "Fcy;": '\U00000424', - "Ffr;": '\U0001D509', - "FilledSmallSquare;": '\U000025FC', - "FilledVerySmallSquare;": '\U000025AA', - "Fopf;": '\U0001D53D', - "ForAll;": '\U00002200', - "Fouriertrf;": '\U00002131', - "Fscr;": '\U00002131', - "GJcy;": '\U00000403', - "GT;": '\U0000003E', - "Gamma;": '\U00000393', - "Gammad;": '\U000003DC', - "Gbreve;": '\U0000011E', - "Gcedil;": '\U00000122', - "Gcirc;": '\U0000011C', - "Gcy;": '\U00000413', - "Gdot;": '\U00000120', - "Gfr;": '\U0001D50A', - "Gg;": '\U000022D9', - "Gopf;": '\U0001D53E', - "GreaterEqual;": '\U00002265', - "GreaterEqualLess;": '\U000022DB', - "GreaterFullEqual;": '\U00002267', - "GreaterGreater;": '\U00002AA2', - "GreaterLess;": '\U00002277', - "GreaterSlantEqual;": '\U00002A7E', - "GreaterTilde;": '\U00002273', - "Gscr;": '\U0001D4A2', - "Gt;": '\U0000226B', - "HARDcy;": '\U0000042A', - "Hacek;": '\U000002C7', - "Hat;": '\U0000005E', - "Hcirc;": '\U00000124', - "Hfr;": '\U0000210C', - "HilbertSpace;": '\U0000210B', - "Hopf;": '\U0000210D', - "HorizontalLine;": '\U00002500', - "Hscr;": '\U0000210B', - "Hstrok;": '\U00000126', - "HumpDownHump;": '\U0000224E', - "HumpEqual;": '\U0000224F', - "IEcy;": '\U00000415', - "IJlig;": '\U00000132', - "IOcy;": '\U00000401', - "Iacute;": '\U000000CD', - "Icirc;": '\U000000CE', - "Icy;": '\U00000418', - "Idot;": '\U00000130', - "Ifr;": '\U00002111', - "Igrave;": '\U000000CC', - "Im;": '\U00002111', - "Imacr;": '\U0000012A', - "ImaginaryI;": '\U00002148', - "Implies;": '\U000021D2', - "Int;": '\U0000222C', - "Integral;": '\U0000222B', - "Intersection;": '\U000022C2', - "InvisibleComma;": '\U00002063', - "InvisibleTimes;": '\U00002062', - "Iogon;": '\U0000012E', - "Iopf;": '\U0001D540', - "Iota;": '\U00000399', - "Iscr;": '\U00002110', - "Itilde;": '\U00000128', - "Iukcy;": '\U00000406', - "Iuml;": '\U000000CF', - "Jcirc;": '\U00000134', - "Jcy;": '\U00000419', - "Jfr;": '\U0001D50D', - "Jopf;": '\U0001D541', - "Jscr;": '\U0001D4A5', - "Jsercy;": '\U00000408', - "Jukcy;": '\U00000404', - "KHcy;": '\U00000425', - "KJcy;": '\U0000040C', - "Kappa;": '\U0000039A', - "Kcedil;": '\U00000136', - "Kcy;": '\U0000041A', - "Kfr;": '\U0001D50E', - "Kopf;": '\U0001D542', - "Kscr;": '\U0001D4A6', - "LJcy;": '\U00000409', - "LT;": '\U0000003C', - "Lacute;": '\U00000139', - "Lambda;": '\U0000039B', - "Lang;": '\U000027EA', - "Laplacetrf;": '\U00002112', - "Larr;": '\U0000219E', - "Lcaron;": '\U0000013D', - "Lcedil;": '\U0000013B', - "Lcy;": '\U0000041B', - "LeftAngleBracket;": '\U000027E8', - "LeftArrow;": '\U00002190', - "LeftArrowBar;": '\U000021E4', - "LeftArrowRightArrow;": '\U000021C6', - "LeftCeiling;": '\U00002308', - "LeftDoubleBracket;": '\U000027E6', - "LeftDownTeeVector;": '\U00002961', - "LeftDownVector;": '\U000021C3', - "LeftDownVectorBar;": '\U00002959', - "LeftFloor;": '\U0000230A', - "LeftRightArrow;": '\U00002194', - "LeftRightVector;": '\U0000294E', - "LeftTee;": '\U000022A3', - "LeftTeeArrow;": '\U000021A4', - "LeftTeeVector;": '\U0000295A', - "LeftTriangle;": '\U000022B2', - "LeftTriangleBar;": '\U000029CF', - "LeftTriangleEqual;": '\U000022B4', - "LeftUpDownVector;": '\U00002951', - "LeftUpTeeVector;": '\U00002960', - "LeftUpVector;": '\U000021BF', - "LeftUpVectorBar;": '\U00002958', - "LeftVector;": '\U000021BC', - "LeftVectorBar;": '\U00002952', - "Leftarrow;": '\U000021D0', - "Leftrightarrow;": '\U000021D4', - "LessEqualGreater;": '\U000022DA', - "LessFullEqual;": '\U00002266', - "LessGreater;": '\U00002276', - "LessLess;": '\U00002AA1', - "LessSlantEqual;": '\U00002A7D', - "LessTilde;": '\U00002272', - "Lfr;": '\U0001D50F', - "Ll;": '\U000022D8', - "Lleftarrow;": '\U000021DA', - "Lmidot;": '\U0000013F', - "LongLeftArrow;": '\U000027F5', - "LongLeftRightArrow;": '\U000027F7', - "LongRightArrow;": '\U000027F6', - "Longleftarrow;": '\U000027F8', - "Longleftrightarrow;": '\U000027FA', - "Longrightarrow;": '\U000027F9', - "Lopf;": '\U0001D543', - "LowerLeftArrow;": '\U00002199', - "LowerRightArrow;": '\U00002198', - "Lscr;": '\U00002112', - "Lsh;": '\U000021B0', - "Lstrok;": '\U00000141', - "Lt;": '\U0000226A', - "Map;": '\U00002905', - "Mcy;": '\U0000041C', - "MediumSpace;": '\U0000205F', - "Mellintrf;": '\U00002133', - "Mfr;": '\U0001D510', - "MinusPlus;": '\U00002213', - "Mopf;": '\U0001D544', - "Mscr;": '\U00002133', - "Mu;": '\U0000039C', - "NJcy;": '\U0000040A', - "Nacute;": '\U00000143', - "Ncaron;": '\U00000147', - "Ncedil;": '\U00000145', - "Ncy;": '\U0000041D', - "NegativeMediumSpace;": '\U0000200B', - "NegativeThickSpace;": '\U0000200B', - "NegativeThinSpace;": '\U0000200B', - "NegativeVeryThinSpace;": '\U0000200B', - "NestedGreaterGreater;": '\U0000226B', - "NestedLessLess;": '\U0000226A', - "NewLine;": '\U0000000A', - "Nfr;": '\U0001D511', - "NoBreak;": '\U00002060', - "NonBreakingSpace;": '\U000000A0', - "Nopf;": '\U00002115', - "Not;": '\U00002AEC', - "NotCongruent;": '\U00002262', - "NotCupCap;": '\U0000226D', - "NotDoubleVerticalBar;": '\U00002226', - "NotElement;": '\U00002209', - "NotEqual;": '\U00002260', - "NotExists;": '\U00002204', - "NotGreater;": '\U0000226F', - "NotGreaterEqual;": '\U00002271', - "NotGreaterLess;": '\U00002279', - "NotGreaterTilde;": '\U00002275', - "NotLeftTriangle;": '\U000022EA', - "NotLeftTriangleEqual;": '\U000022EC', - "NotLess;": '\U0000226E', - "NotLessEqual;": '\U00002270', - "NotLessGreater;": '\U00002278', - "NotLessTilde;": '\U00002274', - "NotPrecedes;": '\U00002280', - "NotPrecedesSlantEqual;": '\U000022E0', - "NotReverseElement;": '\U0000220C', - "NotRightTriangle;": '\U000022EB', - "NotRightTriangleEqual;": '\U000022ED', - "NotSquareSubsetEqual;": '\U000022E2', - "NotSquareSupersetEqual;": '\U000022E3', - "NotSubsetEqual;": '\U00002288', - "NotSucceeds;": '\U00002281', - "NotSucceedsSlantEqual;": '\U000022E1', - "NotSupersetEqual;": '\U00002289', - "NotTilde;": '\U00002241', - "NotTildeEqual;": '\U00002244', - "NotTildeFullEqual;": '\U00002247', - "NotTildeTilde;": '\U00002249', - "NotVerticalBar;": '\U00002224', - "Nscr;": '\U0001D4A9', - "Ntilde;": '\U000000D1', - "Nu;": '\U0000039D', - "OElig;": '\U00000152', - "Oacute;": '\U000000D3', - "Ocirc;": '\U000000D4', - "Ocy;": '\U0000041E', - "Odblac;": '\U00000150', - "Ofr;": '\U0001D512', - "Ograve;": '\U000000D2', - "Omacr;": '\U0000014C', - "Omega;": '\U000003A9', - "Omicron;": '\U0000039F', - "Oopf;": '\U0001D546', - "OpenCurlyDoubleQuote;": '\U0000201C', - "OpenCurlyQuote;": '\U00002018', - "Or;": '\U00002A54', - "Oscr;": '\U0001D4AA', - "Oslash;": '\U000000D8', - "Otilde;": '\U000000D5', - "Otimes;": '\U00002A37', - "Ouml;": '\U000000D6', - "OverBar;": '\U0000203E', - "OverBrace;": '\U000023DE', - "OverBracket;": '\U000023B4', - "OverParenthesis;": '\U000023DC', - "PartialD;": '\U00002202', - "Pcy;": '\U0000041F', - "Pfr;": '\U0001D513', - "Phi;": '\U000003A6', - "Pi;": '\U000003A0', - "PlusMinus;": '\U000000B1', - "Poincareplane;": '\U0000210C', - "Popf;": '\U00002119', - "Pr;": '\U00002ABB', - "Precedes;": '\U0000227A', - "PrecedesEqual;": '\U00002AAF', - "PrecedesSlantEqual;": '\U0000227C', - "PrecedesTilde;": '\U0000227E', - "Prime;": '\U00002033', - "Product;": '\U0000220F', - "Proportion;": '\U00002237', - "Proportional;": '\U0000221D', - "Pscr;": '\U0001D4AB', - "Psi;": '\U000003A8', - "QUOT;": '\U00000022', - "Qfr;": '\U0001D514', - "Qopf;": '\U0000211A', - "Qscr;": '\U0001D4AC', - "RBarr;": '\U00002910', - "REG;": '\U000000AE', - "Racute;": '\U00000154', - "Rang;": '\U000027EB', - "Rarr;": '\U000021A0', - "Rarrtl;": '\U00002916', - "Rcaron;": '\U00000158', - "Rcedil;": '\U00000156', - "Rcy;": '\U00000420', - "Re;": '\U0000211C', - "ReverseElement;": '\U0000220B', - "ReverseEquilibrium;": '\U000021CB', - "ReverseUpEquilibrium;": '\U0000296F', - "Rfr;": '\U0000211C', - "Rho;": '\U000003A1', - "RightAngleBracket;": '\U000027E9', - "RightArrow;": '\U00002192', - "RightArrowBar;": '\U000021E5', - "RightArrowLeftArrow;": '\U000021C4', - "RightCeiling;": '\U00002309', - "RightDoubleBracket;": '\U000027E7', - "RightDownTeeVector;": '\U0000295D', - "RightDownVector;": '\U000021C2', - "RightDownVectorBar;": '\U00002955', - "RightFloor;": '\U0000230B', - "RightTee;": '\U000022A2', - "RightTeeArrow;": '\U000021A6', - "RightTeeVector;": '\U0000295B', - "RightTriangle;": '\U000022B3', - "RightTriangleBar;": '\U000029D0', - "RightTriangleEqual;": '\U000022B5', - "RightUpDownVector;": '\U0000294F', - "RightUpTeeVector;": '\U0000295C', - "RightUpVector;": '\U000021BE', - "RightUpVectorBar;": '\U00002954', - "RightVector;": '\U000021C0', - "RightVectorBar;": '\U00002953', - "Rightarrow;": '\U000021D2', - "Ropf;": '\U0000211D', - "RoundImplies;": '\U00002970', - "Rrightarrow;": '\U000021DB', - "Rscr;": '\U0000211B', - "Rsh;": '\U000021B1', - "RuleDelayed;": '\U000029F4', - "SHCHcy;": '\U00000429', - "SHcy;": '\U00000428', - "SOFTcy;": '\U0000042C', - "Sacute;": '\U0000015A', - "Sc;": '\U00002ABC', - "Scaron;": '\U00000160', - "Scedil;": '\U0000015E', - "Scirc;": '\U0000015C', - "Scy;": '\U00000421', - "Sfr;": '\U0001D516', - "ShortDownArrow;": '\U00002193', - "ShortLeftArrow;": '\U00002190', - "ShortRightArrow;": '\U00002192', - "ShortUpArrow;": '\U00002191', - "Sigma;": '\U000003A3', - "SmallCircle;": '\U00002218', - "Sopf;": '\U0001D54A', - "Sqrt;": '\U0000221A', - "Square;": '\U000025A1', - "SquareIntersection;": '\U00002293', - "SquareSubset;": '\U0000228F', - "SquareSubsetEqual;": '\U00002291', - "SquareSuperset;": '\U00002290', - "SquareSupersetEqual;": '\U00002292', - "SquareUnion;": '\U00002294', - "Sscr;": '\U0001D4AE', - "Star;": '\U000022C6', - "Sub;": '\U000022D0', - "Subset;": '\U000022D0', - "SubsetEqual;": '\U00002286', - "Succeeds;": '\U0000227B', - "SucceedsEqual;": '\U00002AB0', - "SucceedsSlantEqual;": '\U0000227D', - "SucceedsTilde;": '\U0000227F', - "SuchThat;": '\U0000220B', - "Sum;": '\U00002211', - "Sup;": '\U000022D1', - "Superset;": '\U00002283', - "SupersetEqual;": '\U00002287', - "Supset;": '\U000022D1', - "THORN;": '\U000000DE', - "TRADE;": '\U00002122', - "TSHcy;": '\U0000040B', - "TScy;": '\U00000426', - "Tab;": '\U00000009', - "Tau;": '\U000003A4', - "Tcaron;": '\U00000164', - "Tcedil;": '\U00000162', - "Tcy;": '\U00000422', - "Tfr;": '\U0001D517', - "Therefore;": '\U00002234', - "Theta;": '\U00000398', - "ThinSpace;": '\U00002009', - "Tilde;": '\U0000223C', - "TildeEqual;": '\U00002243', - "TildeFullEqual;": '\U00002245', - "TildeTilde;": '\U00002248', - "Topf;": '\U0001D54B', - "TripleDot;": '\U000020DB', - "Tscr;": '\U0001D4AF', - "Tstrok;": '\U00000166', - "Uacute;": '\U000000DA', - "Uarr;": '\U0000219F', - "Uarrocir;": '\U00002949', - "Ubrcy;": '\U0000040E', - "Ubreve;": '\U0000016C', - "Ucirc;": '\U000000DB', - "Ucy;": '\U00000423', - "Udblac;": '\U00000170', - "Ufr;": '\U0001D518', - "Ugrave;": '\U000000D9', - "Umacr;": '\U0000016A', - "UnderBar;": '\U0000005F', - "UnderBrace;": '\U000023DF', - "UnderBracket;": '\U000023B5', - "UnderParenthesis;": '\U000023DD', - "Union;": '\U000022C3', - "UnionPlus;": '\U0000228E', - "Uogon;": '\U00000172', - "Uopf;": '\U0001D54C', - "UpArrow;": '\U00002191', - "UpArrowBar;": '\U00002912', - "UpArrowDownArrow;": '\U000021C5', - "UpDownArrow;": '\U00002195', - "UpEquilibrium;": '\U0000296E', - "UpTee;": '\U000022A5', - "UpTeeArrow;": '\U000021A5', - "Uparrow;": '\U000021D1', - "Updownarrow;": '\U000021D5', - "UpperLeftArrow;": '\U00002196', - "UpperRightArrow;": '\U00002197', - "Upsi;": '\U000003D2', - "Upsilon;": '\U000003A5', - "Uring;": '\U0000016E', - "Uscr;": '\U0001D4B0', - "Utilde;": '\U00000168', - "Uuml;": '\U000000DC', - "VDash;": '\U000022AB', - "Vbar;": '\U00002AEB', - "Vcy;": '\U00000412', - "Vdash;": '\U000022A9', - "Vdashl;": '\U00002AE6', - "Vee;": '\U000022C1', - "Verbar;": '\U00002016', - "Vert;": '\U00002016', - "VerticalBar;": '\U00002223', - "VerticalLine;": '\U0000007C', - "VerticalSeparator;": '\U00002758', - "VerticalTilde;": '\U00002240', - "VeryThinSpace;": '\U0000200A', - "Vfr;": '\U0001D519', - "Vopf;": '\U0001D54D', - "Vscr;": '\U0001D4B1', - "Vvdash;": '\U000022AA', - "Wcirc;": '\U00000174', - "Wedge;": '\U000022C0', - "Wfr;": '\U0001D51A', - "Wopf;": '\U0001D54E', - "Wscr;": '\U0001D4B2', - "Xfr;": '\U0001D51B', - "Xi;": '\U0000039E', - "Xopf;": '\U0001D54F', - "Xscr;": '\U0001D4B3', - "YAcy;": '\U0000042F', - "YIcy;": '\U00000407', - "YUcy;": '\U0000042E', - "Yacute;": '\U000000DD', - "Ycirc;": '\U00000176', - "Ycy;": '\U0000042B', - "Yfr;": '\U0001D51C', - "Yopf;": '\U0001D550', - "Yscr;": '\U0001D4B4', - "Yuml;": '\U00000178', - "ZHcy;": '\U00000416', - "Zacute;": '\U00000179', - "Zcaron;": '\U0000017D', - "Zcy;": '\U00000417', - "Zdot;": '\U0000017B', - "ZeroWidthSpace;": '\U0000200B', - "Zeta;": '\U00000396', - "Zfr;": '\U00002128', - "Zopf;": '\U00002124', - "Zscr;": '\U0001D4B5', - "aacute;": '\U000000E1', - "abreve;": '\U00000103', - "ac;": '\U0000223E', - "acd;": '\U0000223F', - "acirc;": '\U000000E2', - "acute;": '\U000000B4', - "acy;": '\U00000430', - "aelig;": '\U000000E6', - "af;": '\U00002061', - "afr;": '\U0001D51E', - "agrave;": '\U000000E0', - "alefsym;": '\U00002135', - "aleph;": '\U00002135', - "alpha;": '\U000003B1', - "amacr;": '\U00000101', - "amalg;": '\U00002A3F', - "amp;": '\U00000026', - "and;": '\U00002227', - "andand;": '\U00002A55', - "andd;": '\U00002A5C', - "andslope;": '\U00002A58', - "andv;": '\U00002A5A', - "ang;": '\U00002220', - "ange;": '\U000029A4', - "angle;": '\U00002220', - "angmsd;": '\U00002221', - "angmsdaa;": '\U000029A8', - "angmsdab;": '\U000029A9', - "angmsdac;": '\U000029AA', - "angmsdad;": '\U000029AB', - "angmsdae;": '\U000029AC', - "angmsdaf;": '\U000029AD', - "angmsdag;": '\U000029AE', - "angmsdah;": '\U000029AF', - "angrt;": '\U0000221F', - "angrtvb;": '\U000022BE', - "angrtvbd;": '\U0000299D', - "angsph;": '\U00002222', - "angst;": '\U000000C5', - "angzarr;": '\U0000237C', - "aogon;": '\U00000105', - "aopf;": '\U0001D552', - "ap;": '\U00002248', - "apE;": '\U00002A70', - "apacir;": '\U00002A6F', - "ape;": '\U0000224A', - "apid;": '\U0000224B', - "apos;": '\U00000027', - "approx;": '\U00002248', - "approxeq;": '\U0000224A', - "aring;": '\U000000E5', - "ascr;": '\U0001D4B6', - "ast;": '\U0000002A', - "asymp;": '\U00002248', - "asympeq;": '\U0000224D', - "atilde;": '\U000000E3', - "auml;": '\U000000E4', - "awconint;": '\U00002233', - "awint;": '\U00002A11', - "bNot;": '\U00002AED', - "backcong;": '\U0000224C', - "backepsilon;": '\U000003F6', - "backprime;": '\U00002035', - "backsim;": '\U0000223D', - "backsimeq;": '\U000022CD', - "barvee;": '\U000022BD', - "barwed;": '\U00002305', - "barwedge;": '\U00002305', - "bbrk;": '\U000023B5', - "bbrktbrk;": '\U000023B6', - "bcong;": '\U0000224C', - "bcy;": '\U00000431', - "bdquo;": '\U0000201E', - "becaus;": '\U00002235', - "because;": '\U00002235', - "bemptyv;": '\U000029B0', - "bepsi;": '\U000003F6', - "bernou;": '\U0000212C', - "beta;": '\U000003B2', - "beth;": '\U00002136', - "between;": '\U0000226C', - "bfr;": '\U0001D51F', - "bigcap;": '\U000022C2', - "bigcirc;": '\U000025EF', - "bigcup;": '\U000022C3', - "bigodot;": '\U00002A00', - "bigoplus;": '\U00002A01', - "bigotimes;": '\U00002A02', - "bigsqcup;": '\U00002A06', - "bigstar;": '\U00002605', - "bigtriangledown;": '\U000025BD', - "bigtriangleup;": '\U000025B3', - "biguplus;": '\U00002A04', - "bigvee;": '\U000022C1', - "bigwedge;": '\U000022C0', - "bkarow;": '\U0000290D', - "blacklozenge;": '\U000029EB', - "blacksquare;": '\U000025AA', - "blacktriangle;": '\U000025B4', - "blacktriangledown;": '\U000025BE', - "blacktriangleleft;": '\U000025C2', - "blacktriangleright;": '\U000025B8', - "blank;": '\U00002423', - "blk12;": '\U00002592', - "blk14;": '\U00002591', - "blk34;": '\U00002593', - "block;": '\U00002588', - "bnot;": '\U00002310', - "bopf;": '\U0001D553', - "bot;": '\U000022A5', - "bottom;": '\U000022A5', - "bowtie;": '\U000022C8', - "boxDL;": '\U00002557', - "boxDR;": '\U00002554', - "boxDl;": '\U00002556', - "boxDr;": '\U00002553', - "boxH;": '\U00002550', - "boxHD;": '\U00002566', - "boxHU;": '\U00002569', - "boxHd;": '\U00002564', - "boxHu;": '\U00002567', - "boxUL;": '\U0000255D', - "boxUR;": '\U0000255A', - "boxUl;": '\U0000255C', - "boxUr;": '\U00002559', - "boxV;": '\U00002551', - "boxVH;": '\U0000256C', - "boxVL;": '\U00002563', - "boxVR;": '\U00002560', - "boxVh;": '\U0000256B', - "boxVl;": '\U00002562', - "boxVr;": '\U0000255F', - "boxbox;": '\U000029C9', - "boxdL;": '\U00002555', - "boxdR;": '\U00002552', - "boxdl;": '\U00002510', - "boxdr;": '\U0000250C', - "boxh;": '\U00002500', - "boxhD;": '\U00002565', - "boxhU;": '\U00002568', - "boxhd;": '\U0000252C', - "boxhu;": '\U00002534', - "boxminus;": '\U0000229F', - "boxplus;": '\U0000229E', - "boxtimes;": '\U000022A0', - "boxuL;": '\U0000255B', - "boxuR;": '\U00002558', - "boxul;": '\U00002518', - "boxur;": '\U00002514', - "boxv;": '\U00002502', - "boxvH;": '\U0000256A', - "boxvL;": '\U00002561', - "boxvR;": '\U0000255E', - "boxvh;": '\U0000253C', - "boxvl;": '\U00002524', - "boxvr;": '\U0000251C', - "bprime;": '\U00002035', - "breve;": '\U000002D8', - "brvbar;": '\U000000A6', - "bscr;": '\U0001D4B7', - "bsemi;": '\U0000204F', - "bsim;": '\U0000223D', - "bsime;": '\U000022CD', - "bsol;": '\U0000005C', - "bsolb;": '\U000029C5', - "bsolhsub;": '\U000027C8', - "bull;": '\U00002022', - "bullet;": '\U00002022', - "bump;": '\U0000224E', - "bumpE;": '\U00002AAE', - "bumpe;": '\U0000224F', - "bumpeq;": '\U0000224F', - "cacute;": '\U00000107', - "cap;": '\U00002229', - "capand;": '\U00002A44', - "capbrcup;": '\U00002A49', - "capcap;": '\U00002A4B', - "capcup;": '\U00002A47', - "capdot;": '\U00002A40', - "caret;": '\U00002041', - "caron;": '\U000002C7', - "ccaps;": '\U00002A4D', - "ccaron;": '\U0000010D', - "ccedil;": '\U000000E7', - "ccirc;": '\U00000109', - "ccups;": '\U00002A4C', - "ccupssm;": '\U00002A50', - "cdot;": '\U0000010B', - "cedil;": '\U000000B8', - "cemptyv;": '\U000029B2', - "cent;": '\U000000A2', - "centerdot;": '\U000000B7', - "cfr;": '\U0001D520', - "chcy;": '\U00000447', - "check;": '\U00002713', - "checkmark;": '\U00002713', - "chi;": '\U000003C7', - "cir;": '\U000025CB', - "cirE;": '\U000029C3', - "circ;": '\U000002C6', - "circeq;": '\U00002257', - "circlearrowleft;": '\U000021BA', - "circlearrowright;": '\U000021BB', - "circledR;": '\U000000AE', - "circledS;": '\U000024C8', - "circledast;": '\U0000229B', - "circledcirc;": '\U0000229A', - "circleddash;": '\U0000229D', - "cire;": '\U00002257', - "cirfnint;": '\U00002A10', - "cirmid;": '\U00002AEF', - "cirscir;": '\U000029C2', - "clubs;": '\U00002663', - "clubsuit;": '\U00002663', - "colon;": '\U0000003A', - "colone;": '\U00002254', - "coloneq;": '\U00002254', - "comma;": '\U0000002C', - "commat;": '\U00000040', - "comp;": '\U00002201', - "compfn;": '\U00002218', - "complement;": '\U00002201', - "complexes;": '\U00002102', - "cong;": '\U00002245', - "congdot;": '\U00002A6D', - "conint;": '\U0000222E', - "copf;": '\U0001D554', - "coprod;": '\U00002210', - "copy;": '\U000000A9', - "copysr;": '\U00002117', - "crarr;": '\U000021B5', - "cross;": '\U00002717', - "cscr;": '\U0001D4B8', - "csub;": '\U00002ACF', - "csube;": '\U00002AD1', - "csup;": '\U00002AD0', - "csupe;": '\U00002AD2', - "ctdot;": '\U000022EF', - "cudarrl;": '\U00002938', - "cudarrr;": '\U00002935', - "cuepr;": '\U000022DE', - "cuesc;": '\U000022DF', - "cularr;": '\U000021B6', - "cularrp;": '\U0000293D', - "cup;": '\U0000222A', - "cupbrcap;": '\U00002A48', - "cupcap;": '\U00002A46', - "cupcup;": '\U00002A4A', - "cupdot;": '\U0000228D', - "cupor;": '\U00002A45', - "curarr;": '\U000021B7', - "curarrm;": '\U0000293C', - "curlyeqprec;": '\U000022DE', - "curlyeqsucc;": '\U000022DF', - "curlyvee;": '\U000022CE', - "curlywedge;": '\U000022CF', - "curren;": '\U000000A4', - "curvearrowleft;": '\U000021B6', - "curvearrowright;": '\U000021B7', - "cuvee;": '\U000022CE', - "cuwed;": '\U000022CF', - "cwconint;": '\U00002232', - "cwint;": '\U00002231', - "cylcty;": '\U0000232D', - "dArr;": '\U000021D3', - "dHar;": '\U00002965', - "dagger;": '\U00002020', - "daleth;": '\U00002138', - "darr;": '\U00002193', - "dash;": '\U00002010', - "dashv;": '\U000022A3', - "dbkarow;": '\U0000290F', - "dblac;": '\U000002DD', - "dcaron;": '\U0000010F', - "dcy;": '\U00000434', - "dd;": '\U00002146', - "ddagger;": '\U00002021', - "ddarr;": '\U000021CA', - "ddotseq;": '\U00002A77', - "deg;": '\U000000B0', - "delta;": '\U000003B4', - "demptyv;": '\U000029B1', - "dfisht;": '\U0000297F', - "dfr;": '\U0001D521', - "dharl;": '\U000021C3', - "dharr;": '\U000021C2', - "diam;": '\U000022C4', - "diamond;": '\U000022C4', - "diamondsuit;": '\U00002666', - "diams;": '\U00002666', - "die;": '\U000000A8', - "digamma;": '\U000003DD', - "disin;": '\U000022F2', - "div;": '\U000000F7', - "divide;": '\U000000F7', - "divideontimes;": '\U000022C7', - "divonx;": '\U000022C7', - "djcy;": '\U00000452', - "dlcorn;": '\U0000231E', - "dlcrop;": '\U0000230D', - "dollar;": '\U00000024', - "dopf;": '\U0001D555', - "dot;": '\U000002D9', - "doteq;": '\U00002250', - "doteqdot;": '\U00002251', - "dotminus;": '\U00002238', - "dotplus;": '\U00002214', - "dotsquare;": '\U000022A1', - "doublebarwedge;": '\U00002306', - "downarrow;": '\U00002193', - "downdownarrows;": '\U000021CA', - "downharpoonleft;": '\U000021C3', - "downharpoonright;": '\U000021C2', - "drbkarow;": '\U00002910', - "drcorn;": '\U0000231F', - "drcrop;": '\U0000230C', - "dscr;": '\U0001D4B9', - "dscy;": '\U00000455', - "dsol;": '\U000029F6', - "dstrok;": '\U00000111', - "dtdot;": '\U000022F1', - "dtri;": '\U000025BF', - "dtrif;": '\U000025BE', - "duarr;": '\U000021F5', - "duhar;": '\U0000296F', - "dwangle;": '\U000029A6', - "dzcy;": '\U0000045F', - "dzigrarr;": '\U000027FF', - "eDDot;": '\U00002A77', - "eDot;": '\U00002251', - "eacute;": '\U000000E9', - "easter;": '\U00002A6E', - "ecaron;": '\U0000011B', - "ecir;": '\U00002256', - "ecirc;": '\U000000EA', - "ecolon;": '\U00002255', - "ecy;": '\U0000044D', - "edot;": '\U00000117', - "ee;": '\U00002147', - "efDot;": '\U00002252', - "efr;": '\U0001D522', - "eg;": '\U00002A9A', - "egrave;": '\U000000E8', - "egs;": '\U00002A96', - "egsdot;": '\U00002A98', - "el;": '\U00002A99', - "elinters;": '\U000023E7', - "ell;": '\U00002113', - "els;": '\U00002A95', - "elsdot;": '\U00002A97', - "emacr;": '\U00000113', - "empty;": '\U00002205', - "emptyset;": '\U00002205', - "emptyv;": '\U00002205', - "emsp;": '\U00002003', - "emsp13;": '\U00002004', - "emsp14;": '\U00002005', - "eng;": '\U0000014B', - "ensp;": '\U00002002', - "eogon;": '\U00000119', - "eopf;": '\U0001D556', - "epar;": '\U000022D5', - "eparsl;": '\U000029E3', - "eplus;": '\U00002A71', - "epsi;": '\U000003B5', - "epsilon;": '\U000003B5', - "epsiv;": '\U000003F5', - "eqcirc;": '\U00002256', - "eqcolon;": '\U00002255', - "eqsim;": '\U00002242', - "eqslantgtr;": '\U00002A96', - "eqslantless;": '\U00002A95', - "equals;": '\U0000003D', - "equest;": '\U0000225F', - "equiv;": '\U00002261', - "equivDD;": '\U00002A78', - "eqvparsl;": '\U000029E5', - "erDot;": '\U00002253', - "erarr;": '\U00002971', - "escr;": '\U0000212F', - "esdot;": '\U00002250', - "esim;": '\U00002242', - "eta;": '\U000003B7', - "eth;": '\U000000F0', - "euml;": '\U000000EB', - "euro;": '\U000020AC', - "excl;": '\U00000021', - "exist;": '\U00002203', - "expectation;": '\U00002130', - "exponentiale;": '\U00002147', - "fallingdotseq;": '\U00002252', - "fcy;": '\U00000444', - "female;": '\U00002640', - "ffilig;": '\U0000FB03', - "fflig;": '\U0000FB00', - "ffllig;": '\U0000FB04', - "ffr;": '\U0001D523', - "filig;": '\U0000FB01', - "flat;": '\U0000266D', - "fllig;": '\U0000FB02', - "fltns;": '\U000025B1', - "fnof;": '\U00000192', - "fopf;": '\U0001D557', - "forall;": '\U00002200', - "fork;": '\U000022D4', - "forkv;": '\U00002AD9', - "fpartint;": '\U00002A0D', - "frac12;": '\U000000BD', - "frac13;": '\U00002153', - "frac14;": '\U000000BC', - "frac15;": '\U00002155', - "frac16;": '\U00002159', - "frac18;": '\U0000215B', - "frac23;": '\U00002154', - "frac25;": '\U00002156', - "frac34;": '\U000000BE', - "frac35;": '\U00002157', - "frac38;": '\U0000215C', - "frac45;": '\U00002158', - "frac56;": '\U0000215A', - "frac58;": '\U0000215D', - "frac78;": '\U0000215E', - "frasl;": '\U00002044', - "frown;": '\U00002322', - "fscr;": '\U0001D4BB', - "gE;": '\U00002267', - "gEl;": '\U00002A8C', - "gacute;": '\U000001F5', - "gamma;": '\U000003B3', - "gammad;": '\U000003DD', - "gap;": '\U00002A86', - "gbreve;": '\U0000011F', - "gcirc;": '\U0000011D', - "gcy;": '\U00000433', - "gdot;": '\U00000121', - "ge;": '\U00002265', - "gel;": '\U000022DB', - "geq;": '\U00002265', - "geqq;": '\U00002267', - "geqslant;": '\U00002A7E', - "ges;": '\U00002A7E', - "gescc;": '\U00002AA9', - "gesdot;": '\U00002A80', - "gesdoto;": '\U00002A82', - "gesdotol;": '\U00002A84', - "gesles;": '\U00002A94', - "gfr;": '\U0001D524', - "gg;": '\U0000226B', - "ggg;": '\U000022D9', - "gimel;": '\U00002137', - "gjcy;": '\U00000453', - "gl;": '\U00002277', - "glE;": '\U00002A92', - "gla;": '\U00002AA5', - "glj;": '\U00002AA4', - "gnE;": '\U00002269', - "gnap;": '\U00002A8A', - "gnapprox;": '\U00002A8A', - "gne;": '\U00002A88', - "gneq;": '\U00002A88', - "gneqq;": '\U00002269', - "gnsim;": '\U000022E7', - "gopf;": '\U0001D558', - "grave;": '\U00000060', - "gscr;": '\U0000210A', - "gsim;": '\U00002273', - "gsime;": '\U00002A8E', - "gsiml;": '\U00002A90', - "gt;": '\U0000003E', - "gtcc;": '\U00002AA7', - "gtcir;": '\U00002A7A', - "gtdot;": '\U000022D7', - "gtlPar;": '\U00002995', - "gtquest;": '\U00002A7C', - "gtrapprox;": '\U00002A86', - "gtrarr;": '\U00002978', - "gtrdot;": '\U000022D7', - "gtreqless;": '\U000022DB', - "gtreqqless;": '\U00002A8C', - "gtrless;": '\U00002277', - "gtrsim;": '\U00002273', - "hArr;": '\U000021D4', - "hairsp;": '\U0000200A', - "half;": '\U000000BD', - "hamilt;": '\U0000210B', - "hardcy;": '\U0000044A', - "harr;": '\U00002194', - "harrcir;": '\U00002948', - "harrw;": '\U000021AD', - "hbar;": '\U0000210F', - "hcirc;": '\U00000125', - "hearts;": '\U00002665', - "heartsuit;": '\U00002665', - "hellip;": '\U00002026', - "hercon;": '\U000022B9', - "hfr;": '\U0001D525', - "hksearow;": '\U00002925', - "hkswarow;": '\U00002926', - "hoarr;": '\U000021FF', - "homtht;": '\U0000223B', - "hookleftarrow;": '\U000021A9', - "hookrightarrow;": '\U000021AA', - "hopf;": '\U0001D559', - "horbar;": '\U00002015', - "hscr;": '\U0001D4BD', - "hslash;": '\U0000210F', - "hstrok;": '\U00000127', - "hybull;": '\U00002043', - "hyphen;": '\U00002010', - "iacute;": '\U000000ED', - "ic;": '\U00002063', - "icirc;": '\U000000EE', - "icy;": '\U00000438', - "iecy;": '\U00000435', - "iexcl;": '\U000000A1', - "iff;": '\U000021D4', - "ifr;": '\U0001D526', - "igrave;": '\U000000EC', - "ii;": '\U00002148', - "iiiint;": '\U00002A0C', - "iiint;": '\U0000222D', - "iinfin;": '\U000029DC', - "iiota;": '\U00002129', - "ijlig;": '\U00000133', - "imacr;": '\U0000012B', - "image;": '\U00002111', - "imagline;": '\U00002110', - "imagpart;": '\U00002111', - "imath;": '\U00000131', - "imof;": '\U000022B7', - "imped;": '\U000001B5', - "in;": '\U00002208', - "incare;": '\U00002105', - "infin;": '\U0000221E', - "infintie;": '\U000029DD', - "inodot;": '\U00000131', - "int;": '\U0000222B', - "intcal;": '\U000022BA', - "integers;": '\U00002124', - "intercal;": '\U000022BA', - "intlarhk;": '\U00002A17', - "intprod;": '\U00002A3C', - "iocy;": '\U00000451', - "iogon;": '\U0000012F', - "iopf;": '\U0001D55A', - "iota;": '\U000003B9', - "iprod;": '\U00002A3C', - "iquest;": '\U000000BF', - "iscr;": '\U0001D4BE', - "isin;": '\U00002208', - "isinE;": '\U000022F9', - "isindot;": '\U000022F5', - "isins;": '\U000022F4', - "isinsv;": '\U000022F3', - "isinv;": '\U00002208', - "it;": '\U00002062', - "itilde;": '\U00000129', - "iukcy;": '\U00000456', - "iuml;": '\U000000EF', - "jcirc;": '\U00000135', - "jcy;": '\U00000439', - "jfr;": '\U0001D527', - "jmath;": '\U00000237', - "jopf;": '\U0001D55B', - "jscr;": '\U0001D4BF', - "jsercy;": '\U00000458', - "jukcy;": '\U00000454', - "kappa;": '\U000003BA', - "kappav;": '\U000003F0', - "kcedil;": '\U00000137', - "kcy;": '\U0000043A', - "kfr;": '\U0001D528', - "kgreen;": '\U00000138', - "khcy;": '\U00000445', - "kjcy;": '\U0000045C', - "kopf;": '\U0001D55C', - "kscr;": '\U0001D4C0', - "lAarr;": '\U000021DA', - "lArr;": '\U000021D0', - "lAtail;": '\U0000291B', - "lBarr;": '\U0000290E', - "lE;": '\U00002266', - "lEg;": '\U00002A8B', - "lHar;": '\U00002962', - "lacute;": '\U0000013A', - "laemptyv;": '\U000029B4', - "lagran;": '\U00002112', - "lambda;": '\U000003BB', - "lang;": '\U000027E8', - "langd;": '\U00002991', - "langle;": '\U000027E8', - "lap;": '\U00002A85', - "laquo;": '\U000000AB', - "larr;": '\U00002190', - "larrb;": '\U000021E4', - "larrbfs;": '\U0000291F', - "larrfs;": '\U0000291D', - "larrhk;": '\U000021A9', - "larrlp;": '\U000021AB', - "larrpl;": '\U00002939', - "larrsim;": '\U00002973', - "larrtl;": '\U000021A2', - "lat;": '\U00002AAB', - "latail;": '\U00002919', - "late;": '\U00002AAD', - "lbarr;": '\U0000290C', - "lbbrk;": '\U00002772', - "lbrace;": '\U0000007B', - "lbrack;": '\U0000005B', - "lbrke;": '\U0000298B', - "lbrksld;": '\U0000298F', - "lbrkslu;": '\U0000298D', - "lcaron;": '\U0000013E', - "lcedil;": '\U0000013C', - "lceil;": '\U00002308', - "lcub;": '\U0000007B', - "lcy;": '\U0000043B', - "ldca;": '\U00002936', - "ldquo;": '\U0000201C', - "ldquor;": '\U0000201E', - "ldrdhar;": '\U00002967', - "ldrushar;": '\U0000294B', - "ldsh;": '\U000021B2', - "le;": '\U00002264', - "leftarrow;": '\U00002190', - "leftarrowtail;": '\U000021A2', - "leftharpoondown;": '\U000021BD', - "leftharpoonup;": '\U000021BC', - "leftleftarrows;": '\U000021C7', - "leftrightarrow;": '\U00002194', - "leftrightarrows;": '\U000021C6', - "leftrightharpoons;": '\U000021CB', - "leftrightsquigarrow;": '\U000021AD', - "leftthreetimes;": '\U000022CB', - "leg;": '\U000022DA', - "leq;": '\U00002264', - "leqq;": '\U00002266', - "leqslant;": '\U00002A7D', - "les;": '\U00002A7D', - "lescc;": '\U00002AA8', - "lesdot;": '\U00002A7F', - "lesdoto;": '\U00002A81', - "lesdotor;": '\U00002A83', - "lesges;": '\U00002A93', - "lessapprox;": '\U00002A85', - "lessdot;": '\U000022D6', - "lesseqgtr;": '\U000022DA', - "lesseqqgtr;": '\U00002A8B', - "lessgtr;": '\U00002276', - "lesssim;": '\U00002272', - "lfisht;": '\U0000297C', - "lfloor;": '\U0000230A', - "lfr;": '\U0001D529', - "lg;": '\U00002276', - "lgE;": '\U00002A91', - "lhard;": '\U000021BD', - "lharu;": '\U000021BC', - "lharul;": '\U0000296A', - "lhblk;": '\U00002584', - "ljcy;": '\U00000459', - "ll;": '\U0000226A', - "llarr;": '\U000021C7', - "llcorner;": '\U0000231E', - "llhard;": '\U0000296B', - "lltri;": '\U000025FA', - "lmidot;": '\U00000140', - "lmoust;": '\U000023B0', - "lmoustache;": '\U000023B0', - "lnE;": '\U00002268', - "lnap;": '\U00002A89', - "lnapprox;": '\U00002A89', - "lne;": '\U00002A87', - "lneq;": '\U00002A87', - "lneqq;": '\U00002268', - "lnsim;": '\U000022E6', - "loang;": '\U000027EC', - "loarr;": '\U000021FD', - "lobrk;": '\U000027E6', - "longleftarrow;": '\U000027F5', - "longleftrightarrow;": '\U000027F7', - "longmapsto;": '\U000027FC', - "longrightarrow;": '\U000027F6', - "looparrowleft;": '\U000021AB', - "looparrowright;": '\U000021AC', - "lopar;": '\U00002985', - "lopf;": '\U0001D55D', - "loplus;": '\U00002A2D', - "lotimes;": '\U00002A34', - "lowast;": '\U00002217', - "lowbar;": '\U0000005F', - "loz;": '\U000025CA', - "lozenge;": '\U000025CA', - "lozf;": '\U000029EB', - "lpar;": '\U00000028', - "lparlt;": '\U00002993', - "lrarr;": '\U000021C6', - "lrcorner;": '\U0000231F', - "lrhar;": '\U000021CB', - "lrhard;": '\U0000296D', - "lrm;": '\U0000200E', - "lrtri;": '\U000022BF', - "lsaquo;": '\U00002039', - "lscr;": '\U0001D4C1', - "lsh;": '\U000021B0', - "lsim;": '\U00002272', - "lsime;": '\U00002A8D', - "lsimg;": '\U00002A8F', - "lsqb;": '\U0000005B', - "lsquo;": '\U00002018', - "lsquor;": '\U0000201A', - "lstrok;": '\U00000142', - "lt;": '\U0000003C', - "ltcc;": '\U00002AA6', - "ltcir;": '\U00002A79', - "ltdot;": '\U000022D6', - "lthree;": '\U000022CB', - "ltimes;": '\U000022C9', - "ltlarr;": '\U00002976', - "ltquest;": '\U00002A7B', - "ltrPar;": '\U00002996', - "ltri;": '\U000025C3', - "ltrie;": '\U000022B4', - "ltrif;": '\U000025C2', - "lurdshar;": '\U0000294A', - "luruhar;": '\U00002966', - "mDDot;": '\U0000223A', - "macr;": '\U000000AF', - "male;": '\U00002642', - "malt;": '\U00002720', - "maltese;": '\U00002720', - "map;": '\U000021A6', - "mapsto;": '\U000021A6', - "mapstodown;": '\U000021A7', - "mapstoleft;": '\U000021A4', - "mapstoup;": '\U000021A5', - "marker;": '\U000025AE', - "mcomma;": '\U00002A29', - "mcy;": '\U0000043C', - "mdash;": '\U00002014', - "measuredangle;": '\U00002221', - "mfr;": '\U0001D52A', - "mho;": '\U00002127', - "micro;": '\U000000B5', - "mid;": '\U00002223', - "midast;": '\U0000002A', - "midcir;": '\U00002AF0', - "middot;": '\U000000B7', - "minus;": '\U00002212', - "minusb;": '\U0000229F', - "minusd;": '\U00002238', - "minusdu;": '\U00002A2A', - "mlcp;": '\U00002ADB', - "mldr;": '\U00002026', - "mnplus;": '\U00002213', - "models;": '\U000022A7', - "mopf;": '\U0001D55E', - "mp;": '\U00002213', - "mscr;": '\U0001D4C2', - "mstpos;": '\U0000223E', - "mu;": '\U000003BC', - "multimap;": '\U000022B8', - "mumap;": '\U000022B8', - "nLeftarrow;": '\U000021CD', - "nLeftrightarrow;": '\U000021CE', - "nRightarrow;": '\U000021CF', - "nVDash;": '\U000022AF', - "nVdash;": '\U000022AE', - "nabla;": '\U00002207', - "nacute;": '\U00000144', - "nap;": '\U00002249', - "napos;": '\U00000149', - "napprox;": '\U00002249', - "natur;": '\U0000266E', - "natural;": '\U0000266E', - "naturals;": '\U00002115', - "nbsp;": '\U000000A0', - "ncap;": '\U00002A43', - "ncaron;": '\U00000148', - "ncedil;": '\U00000146', - "ncong;": '\U00002247', - "ncup;": '\U00002A42', - "ncy;": '\U0000043D', - "ndash;": '\U00002013', - "ne;": '\U00002260', - "neArr;": '\U000021D7', - "nearhk;": '\U00002924', - "nearr;": '\U00002197', - "nearrow;": '\U00002197', - "nequiv;": '\U00002262', - "nesear;": '\U00002928', - "nexist;": '\U00002204', - "nexists;": '\U00002204', - "nfr;": '\U0001D52B', - "nge;": '\U00002271', - "ngeq;": '\U00002271', - "ngsim;": '\U00002275', - "ngt;": '\U0000226F', - "ngtr;": '\U0000226F', - "nhArr;": '\U000021CE', - "nharr;": '\U000021AE', - "nhpar;": '\U00002AF2', - "ni;": '\U0000220B', - "nis;": '\U000022FC', - "nisd;": '\U000022FA', - "niv;": '\U0000220B', - "njcy;": '\U0000045A', - "nlArr;": '\U000021CD', - "nlarr;": '\U0000219A', - "nldr;": '\U00002025', - "nle;": '\U00002270', - "nleftarrow;": '\U0000219A', - "nleftrightarrow;": '\U000021AE', - "nleq;": '\U00002270', - "nless;": '\U0000226E', - "nlsim;": '\U00002274', - "nlt;": '\U0000226E', - "nltri;": '\U000022EA', - "nltrie;": '\U000022EC', - "nmid;": '\U00002224', - "nopf;": '\U0001D55F', - "not;": '\U000000AC', - "notin;": '\U00002209', - "notinva;": '\U00002209', - "notinvb;": '\U000022F7', - "notinvc;": '\U000022F6', - "notni;": '\U0000220C', - "notniva;": '\U0000220C', - "notnivb;": '\U000022FE', - "notnivc;": '\U000022FD', - "npar;": '\U00002226', - "nparallel;": '\U00002226', - "npolint;": '\U00002A14', - "npr;": '\U00002280', - "nprcue;": '\U000022E0', - "nprec;": '\U00002280', - "nrArr;": '\U000021CF', - "nrarr;": '\U0000219B', - "nrightarrow;": '\U0000219B', - "nrtri;": '\U000022EB', - "nrtrie;": '\U000022ED', - "nsc;": '\U00002281', - "nsccue;": '\U000022E1', - "nscr;": '\U0001D4C3', - "nshortmid;": '\U00002224', - "nshortparallel;": '\U00002226', - "nsim;": '\U00002241', - "nsime;": '\U00002244', - "nsimeq;": '\U00002244', - "nsmid;": '\U00002224', - "nspar;": '\U00002226', - "nsqsube;": '\U000022E2', - "nsqsupe;": '\U000022E3', - "nsub;": '\U00002284', - "nsube;": '\U00002288', - "nsubseteq;": '\U00002288', - "nsucc;": '\U00002281', - "nsup;": '\U00002285', - "nsupe;": '\U00002289', - "nsupseteq;": '\U00002289', - "ntgl;": '\U00002279', - "ntilde;": '\U000000F1', - "ntlg;": '\U00002278', - "ntriangleleft;": '\U000022EA', - "ntrianglelefteq;": '\U000022EC', - "ntriangleright;": '\U000022EB', - "ntrianglerighteq;": '\U000022ED', - "nu;": '\U000003BD', - "num;": '\U00000023', - "numero;": '\U00002116', - "numsp;": '\U00002007', - "nvDash;": '\U000022AD', - "nvHarr;": '\U00002904', - "nvdash;": '\U000022AC', - "nvinfin;": '\U000029DE', - "nvlArr;": '\U00002902', - "nvrArr;": '\U00002903', - "nwArr;": '\U000021D6', - "nwarhk;": '\U00002923', - "nwarr;": '\U00002196', - "nwarrow;": '\U00002196', - "nwnear;": '\U00002927', - "oS;": '\U000024C8', - "oacute;": '\U000000F3', - "oast;": '\U0000229B', - "ocir;": '\U0000229A', - "ocirc;": '\U000000F4', - "ocy;": '\U0000043E', - "odash;": '\U0000229D', - "odblac;": '\U00000151', - "odiv;": '\U00002A38', - "odot;": '\U00002299', - "odsold;": '\U000029BC', - "oelig;": '\U00000153', - "ofcir;": '\U000029BF', - "ofr;": '\U0001D52C', - "ogon;": '\U000002DB', - "ograve;": '\U000000F2', - "ogt;": '\U000029C1', - "ohbar;": '\U000029B5', - "ohm;": '\U000003A9', - "oint;": '\U0000222E', - "olarr;": '\U000021BA', - "olcir;": '\U000029BE', - "olcross;": '\U000029BB', - "oline;": '\U0000203E', - "olt;": '\U000029C0', - "omacr;": '\U0000014D', - "omega;": '\U000003C9', - "omicron;": '\U000003BF', - "omid;": '\U000029B6', - "ominus;": '\U00002296', - "oopf;": '\U0001D560', - "opar;": '\U000029B7', - "operp;": '\U000029B9', - "oplus;": '\U00002295', - "or;": '\U00002228', - "orarr;": '\U000021BB', - "ord;": '\U00002A5D', - "order;": '\U00002134', - "orderof;": '\U00002134', - "ordf;": '\U000000AA', - "ordm;": '\U000000BA', - "origof;": '\U000022B6', - "oror;": '\U00002A56', - "orslope;": '\U00002A57', - "orv;": '\U00002A5B', - "oscr;": '\U00002134', - "oslash;": '\U000000F8', - "osol;": '\U00002298', - "otilde;": '\U000000F5', - "otimes;": '\U00002297', - "otimesas;": '\U00002A36', - "ouml;": '\U000000F6', - "ovbar;": '\U0000233D', - "par;": '\U00002225', - "para;": '\U000000B6', - "parallel;": '\U00002225', - "parsim;": '\U00002AF3', - "parsl;": '\U00002AFD', - "part;": '\U00002202', - "pcy;": '\U0000043F', - "percnt;": '\U00000025', - "period;": '\U0000002E', - "permil;": '\U00002030', - "perp;": '\U000022A5', - "pertenk;": '\U00002031', - "pfr;": '\U0001D52D', - "phi;": '\U000003C6', - "phiv;": '\U000003D5', - "phmmat;": '\U00002133', - "phone;": '\U0000260E', - "pi;": '\U000003C0', - "pitchfork;": '\U000022D4', - "piv;": '\U000003D6', - "planck;": '\U0000210F', - "planckh;": '\U0000210E', - "plankv;": '\U0000210F', - "plus;": '\U0000002B', - "plusacir;": '\U00002A23', - "plusb;": '\U0000229E', - "pluscir;": '\U00002A22', - "plusdo;": '\U00002214', - "plusdu;": '\U00002A25', - "pluse;": '\U00002A72', - "plusmn;": '\U000000B1', - "plussim;": '\U00002A26', - "plustwo;": '\U00002A27', - "pm;": '\U000000B1', - "pointint;": '\U00002A15', - "popf;": '\U0001D561', - "pound;": '\U000000A3', - "pr;": '\U0000227A', - "prE;": '\U00002AB3', - "prap;": '\U00002AB7', - "prcue;": '\U0000227C', - "pre;": '\U00002AAF', - "prec;": '\U0000227A', - "precapprox;": '\U00002AB7', - "preccurlyeq;": '\U0000227C', - "preceq;": '\U00002AAF', - "precnapprox;": '\U00002AB9', - "precneqq;": '\U00002AB5', - "precnsim;": '\U000022E8', - "precsim;": '\U0000227E', - "prime;": '\U00002032', - "primes;": '\U00002119', - "prnE;": '\U00002AB5', - "prnap;": '\U00002AB9', - "prnsim;": '\U000022E8', - "prod;": '\U0000220F', - "profalar;": '\U0000232E', - "profline;": '\U00002312', - "profsurf;": '\U00002313', - "prop;": '\U0000221D', - "propto;": '\U0000221D', - "prsim;": '\U0000227E', - "prurel;": '\U000022B0', - "pscr;": '\U0001D4C5', - "psi;": '\U000003C8', - "puncsp;": '\U00002008', - "qfr;": '\U0001D52E', - "qint;": '\U00002A0C', - "qopf;": '\U0001D562', - "qprime;": '\U00002057', - "qscr;": '\U0001D4C6', - "quaternions;": '\U0000210D', - "quatint;": '\U00002A16', - "quest;": '\U0000003F', - "questeq;": '\U0000225F', - "quot;": '\U00000022', - "rAarr;": '\U000021DB', - "rArr;": '\U000021D2', - "rAtail;": '\U0000291C', - "rBarr;": '\U0000290F', - "rHar;": '\U00002964', - "racute;": '\U00000155', - "radic;": '\U0000221A', - "raemptyv;": '\U000029B3', - "rang;": '\U000027E9', - "rangd;": '\U00002992', - "range;": '\U000029A5', - "rangle;": '\U000027E9', - "raquo;": '\U000000BB', - "rarr;": '\U00002192', - "rarrap;": '\U00002975', - "rarrb;": '\U000021E5', - "rarrbfs;": '\U00002920', - "rarrc;": '\U00002933', - "rarrfs;": '\U0000291E', - "rarrhk;": '\U000021AA', - "rarrlp;": '\U000021AC', - "rarrpl;": '\U00002945', - "rarrsim;": '\U00002974', - "rarrtl;": '\U000021A3', - "rarrw;": '\U0000219D', - "ratail;": '\U0000291A', - "ratio;": '\U00002236', - "rationals;": '\U0000211A', - "rbarr;": '\U0000290D', - "rbbrk;": '\U00002773', - "rbrace;": '\U0000007D', - "rbrack;": '\U0000005D', - "rbrke;": '\U0000298C', - "rbrksld;": '\U0000298E', - "rbrkslu;": '\U00002990', - "rcaron;": '\U00000159', - "rcedil;": '\U00000157', - "rceil;": '\U00002309', - "rcub;": '\U0000007D', - "rcy;": '\U00000440', - "rdca;": '\U00002937', - "rdldhar;": '\U00002969', - "rdquo;": '\U0000201D', - "rdquor;": '\U0000201D', - "rdsh;": '\U000021B3', - "real;": '\U0000211C', - "realine;": '\U0000211B', - "realpart;": '\U0000211C', - "reals;": '\U0000211D', - "rect;": '\U000025AD', - "reg;": '\U000000AE', - "rfisht;": '\U0000297D', - "rfloor;": '\U0000230B', - "rfr;": '\U0001D52F', - "rhard;": '\U000021C1', - "rharu;": '\U000021C0', - "rharul;": '\U0000296C', - "rho;": '\U000003C1', - "rhov;": '\U000003F1', - "rightarrow;": '\U00002192', - "rightarrowtail;": '\U000021A3', - "rightharpoondown;": '\U000021C1', - "rightharpoonup;": '\U000021C0', - "rightleftarrows;": '\U000021C4', - "rightleftharpoons;": '\U000021CC', - "rightrightarrows;": '\U000021C9', - "rightsquigarrow;": '\U0000219D', - "rightthreetimes;": '\U000022CC', - "ring;": '\U000002DA', - "risingdotseq;": '\U00002253', - "rlarr;": '\U000021C4', - "rlhar;": '\U000021CC', - "rlm;": '\U0000200F', - "rmoust;": '\U000023B1', - "rmoustache;": '\U000023B1', - "rnmid;": '\U00002AEE', - "roang;": '\U000027ED', - "roarr;": '\U000021FE', - "robrk;": '\U000027E7', - "ropar;": '\U00002986', - "ropf;": '\U0001D563', - "roplus;": '\U00002A2E', - "rotimes;": '\U00002A35', - "rpar;": '\U00000029', - "rpargt;": '\U00002994', - "rppolint;": '\U00002A12', - "rrarr;": '\U000021C9', - "rsaquo;": '\U0000203A', - "rscr;": '\U0001D4C7', - "rsh;": '\U000021B1', - "rsqb;": '\U0000005D', - "rsquo;": '\U00002019', - "rsquor;": '\U00002019', - "rthree;": '\U000022CC', - "rtimes;": '\U000022CA', - "rtri;": '\U000025B9', - "rtrie;": '\U000022B5', - "rtrif;": '\U000025B8', - "rtriltri;": '\U000029CE', - "ruluhar;": '\U00002968', - "rx;": '\U0000211E', - "sacute;": '\U0000015B', - "sbquo;": '\U0000201A', - "sc;": '\U0000227B', - "scE;": '\U00002AB4', - "scap;": '\U00002AB8', - "scaron;": '\U00000161', - "sccue;": '\U0000227D', - "sce;": '\U00002AB0', - "scedil;": '\U0000015F', - "scirc;": '\U0000015D', - "scnE;": '\U00002AB6', - "scnap;": '\U00002ABA', - "scnsim;": '\U000022E9', - "scpolint;": '\U00002A13', - "scsim;": '\U0000227F', - "scy;": '\U00000441', - "sdot;": '\U000022C5', - "sdotb;": '\U000022A1', - "sdote;": '\U00002A66', - "seArr;": '\U000021D8', - "searhk;": '\U00002925', - "searr;": '\U00002198', - "searrow;": '\U00002198', - "sect;": '\U000000A7', - "semi;": '\U0000003B', - "seswar;": '\U00002929', - "setminus;": '\U00002216', - "setmn;": '\U00002216', - "sext;": '\U00002736', - "sfr;": '\U0001D530', - "sfrown;": '\U00002322', - "sharp;": '\U0000266F', - "shchcy;": '\U00000449', - "shcy;": '\U00000448', - "shortmid;": '\U00002223', - "shortparallel;": '\U00002225', - "shy;": '\U000000AD', - "sigma;": '\U000003C3', - "sigmaf;": '\U000003C2', - "sigmav;": '\U000003C2', - "sim;": '\U0000223C', - "simdot;": '\U00002A6A', - "sime;": '\U00002243', - "simeq;": '\U00002243', - "simg;": '\U00002A9E', - "simgE;": '\U00002AA0', - "siml;": '\U00002A9D', - "simlE;": '\U00002A9F', - "simne;": '\U00002246', - "simplus;": '\U00002A24', - "simrarr;": '\U00002972', - "slarr;": '\U00002190', - "smallsetminus;": '\U00002216', - "smashp;": '\U00002A33', - "smeparsl;": '\U000029E4', - "smid;": '\U00002223', - "smile;": '\U00002323', - "smt;": '\U00002AAA', - "smte;": '\U00002AAC', - "softcy;": '\U0000044C', - "sol;": '\U0000002F', - "solb;": '\U000029C4', - "solbar;": '\U0000233F', - "sopf;": '\U0001D564', - "spades;": '\U00002660', - "spadesuit;": '\U00002660', - "spar;": '\U00002225', - "sqcap;": '\U00002293', - "sqcup;": '\U00002294', - "sqsub;": '\U0000228F', - "sqsube;": '\U00002291', - "sqsubset;": '\U0000228F', - "sqsubseteq;": '\U00002291', - "sqsup;": '\U00002290', - "sqsupe;": '\U00002292', - "sqsupset;": '\U00002290', - "sqsupseteq;": '\U00002292', - "squ;": '\U000025A1', - "square;": '\U000025A1', - "squarf;": '\U000025AA', - "squf;": '\U000025AA', - "srarr;": '\U00002192', - "sscr;": '\U0001D4C8', - "ssetmn;": '\U00002216', - "ssmile;": '\U00002323', - "sstarf;": '\U000022C6', - "star;": '\U00002606', - "starf;": '\U00002605', - "straightepsilon;": '\U000003F5', - "straightphi;": '\U000003D5', - "strns;": '\U000000AF', - "sub;": '\U00002282', - "subE;": '\U00002AC5', - "subdot;": '\U00002ABD', - "sube;": '\U00002286', - "subedot;": '\U00002AC3', - "submult;": '\U00002AC1', - "subnE;": '\U00002ACB', - "subne;": '\U0000228A', - "subplus;": '\U00002ABF', - "subrarr;": '\U00002979', - "subset;": '\U00002282', - "subseteq;": '\U00002286', - "subseteqq;": '\U00002AC5', - "subsetneq;": '\U0000228A', - "subsetneqq;": '\U00002ACB', - "subsim;": '\U00002AC7', - "subsub;": '\U00002AD5', - "subsup;": '\U00002AD3', - "succ;": '\U0000227B', - "succapprox;": '\U00002AB8', - "succcurlyeq;": '\U0000227D', - "succeq;": '\U00002AB0', - "succnapprox;": '\U00002ABA', - "succneqq;": '\U00002AB6', - "succnsim;": '\U000022E9', - "succsim;": '\U0000227F', - "sum;": '\U00002211', - "sung;": '\U0000266A', - "sup;": '\U00002283', - "sup1;": '\U000000B9', - "sup2;": '\U000000B2', - "sup3;": '\U000000B3', - "supE;": '\U00002AC6', - "supdot;": '\U00002ABE', - "supdsub;": '\U00002AD8', - "supe;": '\U00002287', - "supedot;": '\U00002AC4', - "suphsol;": '\U000027C9', - "suphsub;": '\U00002AD7', - "suplarr;": '\U0000297B', - "supmult;": '\U00002AC2', - "supnE;": '\U00002ACC', - "supne;": '\U0000228B', - "supplus;": '\U00002AC0', - "supset;": '\U00002283', - "supseteq;": '\U00002287', - "supseteqq;": '\U00002AC6', - "supsetneq;": '\U0000228B', - "supsetneqq;": '\U00002ACC', - "supsim;": '\U00002AC8', - "supsub;": '\U00002AD4', - "supsup;": '\U00002AD6', - "swArr;": '\U000021D9', - "swarhk;": '\U00002926', - "swarr;": '\U00002199', - "swarrow;": '\U00002199', - "swnwar;": '\U0000292A', - "szlig;": '\U000000DF', - "target;": '\U00002316', - "tau;": '\U000003C4', - "tbrk;": '\U000023B4', - "tcaron;": '\U00000165', - "tcedil;": '\U00000163', - "tcy;": '\U00000442', - "tdot;": '\U000020DB', - "telrec;": '\U00002315', - "tfr;": '\U0001D531', - "there4;": '\U00002234', - "therefore;": '\U00002234', - "theta;": '\U000003B8', - "thetasym;": '\U000003D1', - "thetav;": '\U000003D1', - "thickapprox;": '\U00002248', - "thicksim;": '\U0000223C', - "thinsp;": '\U00002009', - "thkap;": '\U00002248', - "thksim;": '\U0000223C', - "thorn;": '\U000000FE', - "tilde;": '\U000002DC', - "times;": '\U000000D7', - "timesb;": '\U000022A0', - "timesbar;": '\U00002A31', - "timesd;": '\U00002A30', - "tint;": '\U0000222D', - "toea;": '\U00002928', - "top;": '\U000022A4', - "topbot;": '\U00002336', - "topcir;": '\U00002AF1', - "topf;": '\U0001D565', - "topfork;": '\U00002ADA', - "tosa;": '\U00002929', - "tprime;": '\U00002034', - "trade;": '\U00002122', - "triangle;": '\U000025B5', - "triangledown;": '\U000025BF', - "triangleleft;": '\U000025C3', - "trianglelefteq;": '\U000022B4', - "triangleq;": '\U0000225C', - "triangleright;": '\U000025B9', - "trianglerighteq;": '\U000022B5', - "tridot;": '\U000025EC', - "trie;": '\U0000225C', - "triminus;": '\U00002A3A', - "triplus;": '\U00002A39', - "trisb;": '\U000029CD', - "tritime;": '\U00002A3B', - "trpezium;": '\U000023E2', - "tscr;": '\U0001D4C9', - "tscy;": '\U00000446', - "tshcy;": '\U0000045B', - "tstrok;": '\U00000167', - "twixt;": '\U0000226C', - "twoheadleftarrow;": '\U0000219E', - "twoheadrightarrow;": '\U000021A0', - "uArr;": '\U000021D1', - "uHar;": '\U00002963', - "uacute;": '\U000000FA', - "uarr;": '\U00002191', - "ubrcy;": '\U0000045E', - "ubreve;": '\U0000016D', - "ucirc;": '\U000000FB', - "ucy;": '\U00000443', - "udarr;": '\U000021C5', - "udblac;": '\U00000171', - "udhar;": '\U0000296E', - "ufisht;": '\U0000297E', - "ufr;": '\U0001D532', - "ugrave;": '\U000000F9', - "uharl;": '\U000021BF', - "uharr;": '\U000021BE', - "uhblk;": '\U00002580', - "ulcorn;": '\U0000231C', - "ulcorner;": '\U0000231C', - "ulcrop;": '\U0000230F', - "ultri;": '\U000025F8', - "umacr;": '\U0000016B', - "uml;": '\U000000A8', - "uogon;": '\U00000173', - "uopf;": '\U0001D566', - "uparrow;": '\U00002191', - "updownarrow;": '\U00002195', - "upharpoonleft;": '\U000021BF', - "upharpoonright;": '\U000021BE', - "uplus;": '\U0000228E', - "upsi;": '\U000003C5', - "upsih;": '\U000003D2', - "upsilon;": '\U000003C5', - "upuparrows;": '\U000021C8', - "urcorn;": '\U0000231D', - "urcorner;": '\U0000231D', - "urcrop;": '\U0000230E', - "uring;": '\U0000016F', - "urtri;": '\U000025F9', - "uscr;": '\U0001D4CA', - "utdot;": '\U000022F0', - "utilde;": '\U00000169', - "utri;": '\U000025B5', - "utrif;": '\U000025B4', - "uuarr;": '\U000021C8', - "uuml;": '\U000000FC', - "uwangle;": '\U000029A7', - "vArr;": '\U000021D5', - "vBar;": '\U00002AE8', - "vBarv;": '\U00002AE9', - "vDash;": '\U000022A8', - "vangrt;": '\U0000299C', - "varepsilon;": '\U000003F5', - "varkappa;": '\U000003F0', - "varnothing;": '\U00002205', - "varphi;": '\U000003D5', - "varpi;": '\U000003D6', - "varpropto;": '\U0000221D', - "varr;": '\U00002195', - "varrho;": '\U000003F1', - "varsigma;": '\U000003C2', - "vartheta;": '\U000003D1', - "vartriangleleft;": '\U000022B2', - "vartriangleright;": '\U000022B3', - "vcy;": '\U00000432', - "vdash;": '\U000022A2', - "vee;": '\U00002228', - "veebar;": '\U000022BB', - "veeeq;": '\U0000225A', - "vellip;": '\U000022EE', - "verbar;": '\U0000007C', - "vert;": '\U0000007C', - "vfr;": '\U0001D533', - "vltri;": '\U000022B2', - "vopf;": '\U0001D567', - "vprop;": '\U0000221D', - "vrtri;": '\U000022B3', - "vscr;": '\U0001D4CB', - "vzigzag;": '\U0000299A', - "wcirc;": '\U00000175', - "wedbar;": '\U00002A5F', - "wedge;": '\U00002227', - "wedgeq;": '\U00002259', - "weierp;": '\U00002118', - "wfr;": '\U0001D534', - "wopf;": '\U0001D568', - "wp;": '\U00002118', - "wr;": '\U00002240', - "wreath;": '\U00002240', - "wscr;": '\U0001D4CC', - "xcap;": '\U000022C2', - "xcirc;": '\U000025EF', - "xcup;": '\U000022C3', - "xdtri;": '\U000025BD', - "xfr;": '\U0001D535', - "xhArr;": '\U000027FA', - "xharr;": '\U000027F7', - "xi;": '\U000003BE', - "xlArr;": '\U000027F8', - "xlarr;": '\U000027F5', - "xmap;": '\U000027FC', - "xnis;": '\U000022FB', - "xodot;": '\U00002A00', - "xopf;": '\U0001D569', - "xoplus;": '\U00002A01', - "xotime;": '\U00002A02', - "xrArr;": '\U000027F9', - "xrarr;": '\U000027F6', - "xscr;": '\U0001D4CD', - "xsqcup;": '\U00002A06', - "xuplus;": '\U00002A04', - "xutri;": '\U000025B3', - "xvee;": '\U000022C1', - "xwedge;": '\U000022C0', - "yacute;": '\U000000FD', - "yacy;": '\U0000044F', - "ycirc;": '\U00000177', - "ycy;": '\U0000044B', - "yen;": '\U000000A5', - "yfr;": '\U0001D536', - "yicy;": '\U00000457', - "yopf;": '\U0001D56A', - "yscr;": '\U0001D4CE', - "yucy;": '\U0000044E', - "yuml;": '\U000000FF', - "zacute;": '\U0000017A', - "zcaron;": '\U0000017E', - "zcy;": '\U00000437', - "zdot;": '\U0000017C', - "zeetrf;": '\U00002128', - "zeta;": '\U000003B6', - "zfr;": '\U0001D537', - "zhcy;": '\U00000436', - "zigrarr;": '\U000021DD', - "zopf;": '\U0001D56B', - "zscr;": '\U0001D4CF', - "zwj;": '\U0000200D', - "zwnj;": '\U0000200C', - "AElig": '\U000000C6', - "AMP": '\U00000026', - "Aacute": '\U000000C1', - "Acirc": '\U000000C2', - "Agrave": '\U000000C0', - "Aring": '\U000000C5', - "Atilde": '\U000000C3', - "Auml": '\U000000C4', - "COPY": '\U000000A9', - "Ccedil": '\U000000C7', - "ETH": '\U000000D0', - "Eacute": '\U000000C9', - "Ecirc": '\U000000CA', - "Egrave": '\U000000C8', - "Euml": '\U000000CB', - "GT": '\U0000003E', - "Iacute": '\U000000CD', - "Icirc": '\U000000CE', - "Igrave": '\U000000CC', - "Iuml": '\U000000CF', - "LT": '\U0000003C', - "Ntilde": '\U000000D1', - "Oacute": '\U000000D3', - "Ocirc": '\U000000D4', - "Ograve": '\U000000D2', - "Oslash": '\U000000D8', - "Otilde": '\U000000D5', - "Ouml": '\U000000D6', - "QUOT": '\U00000022', - "REG": '\U000000AE', - "THORN": '\U000000DE', - "Uacute": '\U000000DA', - "Ucirc": '\U000000DB', - "Ugrave": '\U000000D9', - "Uuml": '\U000000DC', - "Yacute": '\U000000DD', - "aacute": '\U000000E1', - "acirc": '\U000000E2', - "acute": '\U000000B4', - "aelig": '\U000000E6', - "agrave": '\U000000E0', - "amp": '\U00000026', - "aring": '\U000000E5', - "atilde": '\U000000E3', - "auml": '\U000000E4', - "brvbar": '\U000000A6', - "ccedil": '\U000000E7', - "cedil": '\U000000B8', - "cent": '\U000000A2', - "copy": '\U000000A9', - "curren": '\U000000A4', - "deg": '\U000000B0', - "divide": '\U000000F7', - "eacute": '\U000000E9', - "ecirc": '\U000000EA', - "egrave": '\U000000E8', - "eth": '\U000000F0', - "euml": '\U000000EB', - "frac12": '\U000000BD', - "frac14": '\U000000BC', - "frac34": '\U000000BE', - "gt": '\U0000003E', - "iacute": '\U000000ED', - "icirc": '\U000000EE', - "iexcl": '\U000000A1', - "igrave": '\U000000EC', - "iquest": '\U000000BF', - "iuml": '\U000000EF', - "laquo": '\U000000AB', - "lt": '\U0000003C', - "macr": '\U000000AF', - "micro": '\U000000B5', - "middot": '\U000000B7', - "nbsp": '\U000000A0', - "not": '\U000000AC', - "ntilde": '\U000000F1', - "oacute": '\U000000F3', - "ocirc": '\U000000F4', - "ograve": '\U000000F2', - "ordf": '\U000000AA', - "ordm": '\U000000BA', - "oslash": '\U000000F8', - "otilde": '\U000000F5', - "ouml": '\U000000F6', - "para": '\U000000B6', - "plusmn": '\U000000B1', - "pound": '\U000000A3', - "quot": '\U00000022', - "raquo": '\U000000BB', - "reg": '\U000000AE', - "sect": '\U000000A7', - "shy": '\U000000AD', - "sup1": '\U000000B9', - "sup2": '\U000000B2', - "sup3": '\U000000B3', - "szlig": '\U000000DF', - "thorn": '\U000000FE', - "times": '\U000000D7', - "uacute": '\U000000FA', - "ucirc": '\U000000FB', - "ugrave": '\U000000F9', - "uml": '\U000000A8', - "uuml": '\U000000FC', - "yacute": '\U000000FD', - "yen": '\U000000A5', - "yuml": '\U000000FF', + "Cross;": '\U00002A2F', + "Cscr;": '\U0001D49E', + "Cup;": '\U000022D3', + "CupCap;": '\U0000224D', + "DD;": '\U00002145', + "DDotrahd;": '\U00002911', + "DJcy;": '\U00000402', + "DScy;": '\U00000405', + "DZcy;": '\U0000040F', + "Dagger;": '\U00002021', + "Darr;": '\U000021A1', + "Dashv;": '\U00002AE4', + "Dcaron;": '\U0000010E', + "Dcy;": '\U00000414', + "Del;": '\U00002207', + "Delta;": '\U00000394', + "Dfr;": '\U0001D507', + "DiacriticalAcute;": '\U000000B4', + "DiacriticalDot;": '\U000002D9', + "DiacriticalDoubleAcute;": '\U000002DD', + "DiacriticalGrave;": '\U00000060', + "DiacriticalTilde;": '\U000002DC', + "Diamond;": '\U000022C4', + "DifferentialD;": '\U00002146', + "Dopf;": '\U0001D53B', + "Dot;": '\U000000A8', + "DotDot;": '\U000020DC', + "DotEqual;": '\U00002250', + "DoubleContourIntegral;": '\U0000222F', + "DoubleDot;": '\U000000A8', + "DoubleDownArrow;": '\U000021D3', + "DoubleLeftArrow;": '\U000021D0', + "DoubleLeftRightArrow;": '\U000021D4', + "DoubleLeftTee;": '\U00002AE4', + "DoubleLongLeftArrow;": '\U000027F8', + "DoubleLongLeftRightArrow;": '\U000027FA', + "DoubleLongRightArrow;": '\U000027F9', + "DoubleRightArrow;": '\U000021D2', + "DoubleRightTee;": '\U000022A8', + "DoubleUpArrow;": '\U000021D1', + "DoubleUpDownArrow;": '\U000021D5', + "DoubleVerticalBar;": '\U00002225', + "DownArrow;": '\U00002193', + "DownArrowBar;": '\U00002913', + "DownArrowUpArrow;": '\U000021F5', + "DownBreve;": '\U00000311', + "DownLeftRightVector;": '\U00002950', + "DownLeftTeeVector;": '\U0000295E', + "DownLeftVector;": '\U000021BD', + "DownLeftVectorBar;": '\U00002956', + "DownRightTeeVector;": '\U0000295F', + "DownRightVector;": '\U000021C1', + "DownRightVectorBar;": '\U00002957', + "DownTee;": '\U000022A4', + "DownTeeArrow;": '\U000021A7', + "Downarrow;": '\U000021D3', + "Dscr;": '\U0001D49F', + "Dstrok;": '\U00000110', + "ENG;": '\U0000014A', + "ETH;": '\U000000D0', + "Eacute;": '\U000000C9', + "Ecaron;": '\U0000011A', + "Ecirc;": '\U000000CA', + "Ecy;": '\U0000042D', + "Edot;": '\U00000116', + "Efr;": '\U0001D508', + "Egrave;": '\U000000C8', + "Element;": '\U00002208', + "Emacr;": '\U00000112', + "EmptySmallSquare;": '\U000025FB', + "EmptyVerySmallSquare;": '\U000025AB', + "Eogon;": '\U00000118', + "Eopf;": '\U0001D53C', + "Epsilon;": '\U00000395', + "Equal;": '\U00002A75', + "EqualTilde;": '\U00002242', + "Equilibrium;": '\U000021CC', + "Escr;": '\U00002130', + "Esim;": '\U00002A73', + "Eta;": '\U00000397', + "Euml;": '\U000000CB', + "Exists;": '\U00002203', + "ExponentialE;": '\U00002147', + "Fcy;": '\U00000424', + "Ffr;": '\U0001D509', + "FilledSmallSquare;": '\U000025FC', + "FilledVerySmallSquare;": '\U000025AA', + "Fopf;": '\U0001D53D', + "ForAll;": '\U00002200', + "Fouriertrf;": '\U00002131', + "Fscr;": '\U00002131', + "GJcy;": '\U00000403', + "GT;": '\U0000003E', + "Gamma;": '\U00000393', + "Gammad;": '\U000003DC', + "Gbreve;": '\U0000011E', + "Gcedil;": '\U00000122', + "Gcirc;": '\U0000011C', + "Gcy;": '\U00000413', + "Gdot;": '\U00000120', + "Gfr;": '\U0001D50A', + "Gg;": '\U000022D9', + "Gopf;": '\U0001D53E', + "GreaterEqual;": '\U00002265', + "GreaterEqualLess;": '\U000022DB', + "GreaterFullEqual;": '\U00002267', + "GreaterGreater;": '\U00002AA2', + "GreaterLess;": '\U00002277', + "GreaterSlantEqual;": '\U00002A7E', + "GreaterTilde;": '\U00002273', + "Gscr;": '\U0001D4A2', + "Gt;": '\U0000226B', + "HARDcy;": '\U0000042A', + "Hacek;": '\U000002C7', + "Hat;": '\U0000005E', + "Hcirc;": '\U00000124', + "Hfr;": '\U0000210C', + "HilbertSpace;": '\U0000210B', + "Hopf;": '\U0000210D', + "HorizontalLine;": '\U00002500', + "Hscr;": '\U0000210B', + "Hstrok;": '\U00000126', + "HumpDownHump;": '\U0000224E', + "HumpEqual;": '\U0000224F', + "IEcy;": '\U00000415', + "IJlig;": '\U00000132', + "IOcy;": '\U00000401', + "Iacute;": '\U000000CD', + "Icirc;": '\U000000CE', + "Icy;": '\U00000418', + "Idot;": '\U00000130', + "Ifr;": '\U00002111', + "Igrave;": '\U000000CC', + "Im;": '\U00002111', + "Imacr;": '\U0000012A', + "ImaginaryI;": '\U00002148', + "Implies;": '\U000021D2', + "Int;": '\U0000222C', + "Integral;": '\U0000222B', + "Intersection;": '\U000022C2', + "InvisibleComma;": '\U00002063', + "InvisibleTimes;": '\U00002062', + "Iogon;": '\U0000012E', + "Iopf;": '\U0001D540', + "Iota;": '\U00000399', + "Iscr;": '\U00002110', + "Itilde;": '\U00000128', + "Iukcy;": '\U00000406', + "Iuml;": '\U000000CF', + "Jcirc;": '\U00000134', + "Jcy;": '\U00000419', + "Jfr;": '\U0001D50D', + "Jopf;": '\U0001D541', + "Jscr;": '\U0001D4A5', + "Jsercy;": '\U00000408', + "Jukcy;": '\U00000404', + "KHcy;": '\U00000425', + "KJcy;": '\U0000040C', + "Kappa;": '\U0000039A', + "Kcedil;": '\U00000136', + "Kcy;": '\U0000041A', + "Kfr;": '\U0001D50E', + "Kopf;": '\U0001D542', + "Kscr;": '\U0001D4A6', + "LJcy;": '\U00000409', + "LT;": '\U0000003C', + "Lacute;": '\U00000139', + "Lambda;": '\U0000039B', + "Lang;": '\U000027EA', + "Laplacetrf;": '\U00002112', + "Larr;": '\U0000219E', + "Lcaron;": '\U0000013D', + "Lcedil;": '\U0000013B', + "Lcy;": '\U0000041B', + "LeftAngleBracket;": '\U000027E8', + "LeftArrow;": '\U00002190', + "LeftArrowBar;": '\U000021E4', + "LeftArrowRightArrow;": '\U000021C6', + "LeftCeiling;": '\U00002308', + "LeftDoubleBracket;": '\U000027E6', + "LeftDownTeeVector;": '\U00002961', + "LeftDownVector;": '\U000021C3', + "LeftDownVectorBar;": '\U00002959', + "LeftFloor;": '\U0000230A', + "LeftRightArrow;": '\U00002194', + "LeftRightVector;": '\U0000294E', + "LeftTee;": '\U000022A3', + "LeftTeeArrow;": '\U000021A4', + "LeftTeeVector;": '\U0000295A', + "LeftTriangle;": '\U000022B2', + "LeftTriangleBar;": '\U000029CF', + "LeftTriangleEqual;": '\U000022B4', + "LeftUpDownVector;": '\U00002951', + "LeftUpTeeVector;": '\U00002960', + "LeftUpVector;": '\U000021BF', + "LeftUpVectorBar;": '\U00002958', + "LeftVector;": '\U000021BC', + "LeftVectorBar;": '\U00002952', + "Leftarrow;": '\U000021D0', + "Leftrightarrow;": '\U000021D4', + "LessEqualGreater;": '\U000022DA', + "LessFullEqual;": '\U00002266', + "LessGreater;": '\U00002276', + "LessLess;": '\U00002AA1', + "LessSlantEqual;": '\U00002A7D', + "LessTilde;": '\U00002272', + "Lfr;": '\U0001D50F', + "Ll;": '\U000022D8', + "Lleftarrow;": '\U000021DA', + "Lmidot;": '\U0000013F', + "LongLeftArrow;": '\U000027F5', + "LongLeftRightArrow;": '\U000027F7', + "LongRightArrow;": '\U000027F6', + "Longleftarrow;": '\U000027F8', + "Longleftrightarrow;": '\U000027FA', + "Longrightarrow;": '\U000027F9', + "Lopf;": '\U0001D543', + "LowerLeftArrow;": '\U00002199', + "LowerRightArrow;": '\U00002198', + "Lscr;": '\U00002112', + "Lsh;": '\U000021B0', + "Lstrok;": '\U00000141', + "Lt;": '\U0000226A', + "Map;": '\U00002905', + "Mcy;": '\U0000041C', + "MediumSpace;": '\U0000205F', + "Mellintrf;": '\U00002133', + "Mfr;": '\U0001D510', + "MinusPlus;": '\U00002213', + "Mopf;": '\U0001D544', + "Mscr;": '\U00002133', + "Mu;": '\U0000039C', + "NJcy;": '\U0000040A', + "Nacute;": '\U00000143', + "Ncaron;": '\U00000147', + "Ncedil;": '\U00000145', + "Ncy;": '\U0000041D', + "NegativeMediumSpace;": '\U0000200B', + "NegativeThickSpace;": '\U0000200B', + "NegativeThinSpace;": '\U0000200B', + "NegativeVeryThinSpace;": '\U0000200B', + "NestedGreaterGreater;": '\U0000226B', + "NestedLessLess;": '\U0000226A', + "NewLine;": '\U0000000A', + "Nfr;": '\U0001D511', + "NoBreak;": '\U00002060', + "NonBreakingSpace;": '\U000000A0', + "Nopf;": '\U00002115', + "Not;": '\U00002AEC', + "NotCongruent;": '\U00002262', + "NotCupCap;": '\U0000226D', + "NotDoubleVerticalBar;": '\U00002226', + "NotElement;": '\U00002209', + "NotEqual;": '\U00002260', + "NotExists;": '\U00002204', + "NotGreater;": '\U0000226F', + "NotGreaterEqual;": '\U00002271', + "NotGreaterLess;": '\U00002279', + "NotGreaterTilde;": '\U00002275', + "NotLeftTriangle;": '\U000022EA', + "NotLeftTriangleEqual;": '\U000022EC', + "NotLess;": '\U0000226E', + "NotLessEqual;": '\U00002270', + "NotLessGreater;": '\U00002278', + "NotLessTilde;": '\U00002274', + "NotPrecedes;": '\U00002280', + "NotPrecedesSlantEqual;": '\U000022E0', + "NotReverseElement;": '\U0000220C', + "NotRightTriangle;": '\U000022EB', + "NotRightTriangleEqual;": '\U000022ED', + "NotSquareSubsetEqual;": '\U000022E2', + "NotSquareSupersetEqual;": '\U000022E3', + "NotSubsetEqual;": '\U00002288', + "NotSucceeds;": '\U00002281', + "NotSucceedsSlantEqual;": '\U000022E1', + "NotSupersetEqual;": '\U00002289', + "NotTilde;": '\U00002241', + "NotTildeEqual;": '\U00002244', + "NotTildeFullEqual;": '\U00002247', + "NotTildeTilde;": '\U00002249', + "NotVerticalBar;": '\U00002224', + "Nscr;": '\U0001D4A9', + "Ntilde;": '\U000000D1', + "Nu;": '\U0000039D', + "OElig;": '\U00000152', + "Oacute;": '\U000000D3', + "Ocirc;": '\U000000D4', + "Ocy;": '\U0000041E', + "Odblac;": '\U00000150', + "Ofr;": '\U0001D512', + "Ograve;": '\U000000D2', + "Omacr;": '\U0000014C', + "Omega;": '\U000003A9', + "Omicron;": '\U0000039F', + "Oopf;": '\U0001D546', + "OpenCurlyDoubleQuote;": '\U0000201C', + "OpenCurlyQuote;": '\U00002018', + "Or;": '\U00002A54', + "Oscr;": '\U0001D4AA', + "Oslash;": '\U000000D8', + "Otilde;": '\U000000D5', + "Otimes;": '\U00002A37', + "Ouml;": '\U000000D6', + "OverBar;": '\U0000203E', + "OverBrace;": '\U000023DE', + "OverBracket;": '\U000023B4', + "OverParenthesis;": '\U000023DC', + "PartialD;": '\U00002202', + "Pcy;": '\U0000041F', + "Pfr;": '\U0001D513', + "Phi;": '\U000003A6', + "Pi;": '\U000003A0', + "PlusMinus;": '\U000000B1', + "Poincareplane;": '\U0000210C', + "Popf;": '\U00002119', + "Pr;": '\U00002ABB', + "Precedes;": '\U0000227A', + "PrecedesEqual;": '\U00002AAF', + "PrecedesSlantEqual;": '\U0000227C', + "PrecedesTilde;": '\U0000227E', + "Prime;": '\U00002033', + "Product;": '\U0000220F', + "Proportion;": '\U00002237', + "Proportional;": '\U0000221D', + "Pscr;": '\U0001D4AB', + "Psi;": '\U000003A8', + "QUOT;": '\U00000022', + "Qfr;": '\U0001D514', + "Qopf;": '\U0000211A', + "Qscr;": '\U0001D4AC', + "RBarr;": '\U00002910', + "REG;": '\U000000AE', + "Racute;": '\U00000154', + "Rang;": '\U000027EB', + "Rarr;": '\U000021A0', + "Rarrtl;": '\U00002916', + "Rcaron;": '\U00000158', + "Rcedil;": '\U00000156', + "Rcy;": '\U00000420', + "Re;": '\U0000211C', + "ReverseElement;": '\U0000220B', + "ReverseEquilibrium;": '\U000021CB', + "ReverseUpEquilibrium;": '\U0000296F', + "Rfr;": '\U0000211C', + "Rho;": '\U000003A1', + "RightAngleBracket;": '\U000027E9', + "RightArrow;": '\U00002192', + "RightArrowBar;": '\U000021E5', + "RightArrowLeftArrow;": '\U000021C4', + "RightCeiling;": '\U00002309', + "RightDoubleBracket;": '\U000027E7', + "RightDownTeeVector;": '\U0000295D', + "RightDownVector;": '\U000021C2', + "RightDownVectorBar;": '\U00002955', + "RightFloor;": '\U0000230B', + "RightTee;": '\U000022A2', + "RightTeeArrow;": '\U000021A6', + "RightTeeVector;": '\U0000295B', + "RightTriangle;": '\U000022B3', + "RightTriangleBar;": '\U000029D0', + "RightTriangleEqual;": '\U000022B5', + "RightUpDownVector;": '\U0000294F', + "RightUpTeeVector;": '\U0000295C', + "RightUpVector;": '\U000021BE', + "RightUpVectorBar;": '\U00002954', + "RightVector;": '\U000021C0', + "RightVectorBar;": '\U00002953', + "Rightarrow;": '\U000021D2', + "Ropf;": '\U0000211D', + "RoundImplies;": '\U00002970', + "Rrightarrow;": '\U000021DB', + "Rscr;": '\U0000211B', + "Rsh;": '\U000021B1', + "RuleDelayed;": '\U000029F4', + "SHCHcy;": '\U00000429', + "SHcy;": '\U00000428', + "SOFTcy;": '\U0000042C', + "Sacute;": '\U0000015A', + "Sc;": '\U00002ABC', + "Scaron;": '\U00000160', + "Scedil;": '\U0000015E', + "Scirc;": '\U0000015C', + "Scy;": '\U00000421', + "Sfr;": '\U0001D516', + "ShortDownArrow;": '\U00002193', + "ShortLeftArrow;": '\U00002190', + "ShortRightArrow;": '\U00002192', + "ShortUpArrow;": '\U00002191', + "Sigma;": '\U000003A3', + "SmallCircle;": '\U00002218', + "Sopf;": '\U0001D54A', + "Sqrt;": '\U0000221A', + "Square;": '\U000025A1', + "SquareIntersection;": '\U00002293', + "SquareSubset;": '\U0000228F', + "SquareSubsetEqual;": '\U00002291', + "SquareSuperset;": '\U00002290', + "SquareSupersetEqual;": '\U00002292', + "SquareUnion;": '\U00002294', + "Sscr;": '\U0001D4AE', + "Star;": '\U000022C6', + "Sub;": '\U000022D0', + "Subset;": '\U000022D0', + "SubsetEqual;": '\U00002286', + "Succeeds;": '\U0000227B', + "SucceedsEqual;": '\U00002AB0', + "SucceedsSlantEqual;": '\U0000227D', + "SucceedsTilde;": '\U0000227F', + "SuchThat;": '\U0000220B', + "Sum;": '\U00002211', + "Sup;": '\U000022D1', + "Superset;": '\U00002283', + "SupersetEqual;": '\U00002287', + "Supset;": '\U000022D1', + "THORN;": '\U000000DE', + "TRADE;": '\U00002122', + "TSHcy;": '\U0000040B', + "TScy;": '\U00000426', + "Tab;": '\U00000009', + "Tau;": '\U000003A4', + "Tcaron;": '\U00000164', + "Tcedil;": '\U00000162', + "Tcy;": '\U00000422', + "Tfr;": '\U0001D517', + "Therefore;": '\U00002234', + "Theta;": '\U00000398', + "ThinSpace;": '\U00002009', + "Tilde;": '\U0000223C', + "TildeEqual;": '\U00002243', + "TildeFullEqual;": '\U00002245', + "TildeTilde;": '\U00002248', + "Topf;": '\U0001D54B', + "TripleDot;": '\U000020DB', + "Tscr;": '\U0001D4AF', + "Tstrok;": '\U00000166', + "Uacute;": '\U000000DA', + "Uarr;": '\U0000219F', + "Uarrocir;": '\U00002949', + "Ubrcy;": '\U0000040E', + "Ubreve;": '\U0000016C', + "Ucirc;": '\U000000DB', + "Ucy;": '\U00000423', + "Udblac;": '\U00000170', + "Ufr;": '\U0001D518', + "Ugrave;": '\U000000D9', + "Umacr;": '\U0000016A', + "UnderBar;": '\U0000005F', + "UnderBrace;": '\U000023DF', + "UnderBracket;": '\U000023B5', + "UnderParenthesis;": '\U000023DD', + "Union;": '\U000022C3', + "UnionPlus;": '\U0000228E', + "Uogon;": '\U00000172', + "Uopf;": '\U0001D54C', + "UpArrow;": '\U00002191', + "UpArrowBar;": '\U00002912', + "UpArrowDownArrow;": '\U000021C5', + "UpDownArrow;": '\U00002195', + "UpEquilibrium;": '\U0000296E', + "UpTee;": '\U000022A5', + "UpTeeArrow;": '\U000021A5', + "Uparrow;": '\U000021D1', + "Updownarrow;": '\U000021D5', + "UpperLeftArrow;": '\U00002196', + "UpperRightArrow;": '\U00002197', + "Upsi;": '\U000003D2', + "Upsilon;": '\U000003A5', + "Uring;": '\U0000016E', + "Uscr;": '\U0001D4B0', + "Utilde;": '\U00000168', + "Uuml;": '\U000000DC', + "VDash;": '\U000022AB', + "Vbar;": '\U00002AEB', + "Vcy;": '\U00000412', + "Vdash;": '\U000022A9', + "Vdashl;": '\U00002AE6', + "Vee;": '\U000022C1', + "Verbar;": '\U00002016', + "Vert;": '\U00002016', + "VerticalBar;": '\U00002223', + "VerticalLine;": '\U0000007C', + "VerticalSeparator;": '\U00002758', + "VerticalTilde;": '\U00002240', + "VeryThinSpace;": '\U0000200A', + "Vfr;": '\U0001D519', + "Vopf;": '\U0001D54D', + "Vscr;": '\U0001D4B1', + "Vvdash;": '\U000022AA', + "Wcirc;": '\U00000174', + "Wedge;": '\U000022C0', + "Wfr;": '\U0001D51A', + "Wopf;": '\U0001D54E', + "Wscr;": '\U0001D4B2', + "Xfr;": '\U0001D51B', + "Xi;": '\U0000039E', + "Xopf;": '\U0001D54F', + "Xscr;": '\U0001D4B3', + "YAcy;": '\U0000042F', + "YIcy;": '\U00000407', + "YUcy;": '\U0000042E', + "Yacute;": '\U000000DD', + "Ycirc;": '\U00000176', + "Ycy;": '\U0000042B', + "Yfr;": '\U0001D51C', + "Yopf;": '\U0001D550', + "Yscr;": '\U0001D4B4', + "Yuml;": '\U00000178', + "ZHcy;": '\U00000416', + "Zacute;": '\U00000179', + "Zcaron;": '\U0000017D', + "Zcy;": '\U00000417', + "Zdot;": '\U0000017B', + "ZeroWidthSpace;": '\U0000200B', + "Zeta;": '\U00000396', + "Zfr;": '\U00002128', + "Zopf;": '\U00002124', + "Zscr;": '\U0001D4B5', + "aacute;": '\U000000E1', + "abreve;": '\U00000103', + "ac;": '\U0000223E', + "acd;": '\U0000223F', + "acirc;": '\U000000E2', + "acute;": '\U000000B4', + "acy;": '\U00000430', + "aelig;": '\U000000E6', + "af;": '\U00002061', + "afr;": '\U0001D51E', + "agrave;": '\U000000E0', + "alefsym;": '\U00002135', + "aleph;": '\U00002135', + "alpha;": '\U000003B1', + "amacr;": '\U00000101', + "amalg;": '\U00002A3F', + "amp;": '\U00000026', + "and;": '\U00002227', + "andand;": '\U00002A55', + "andd;": '\U00002A5C', + "andslope;": '\U00002A58', + "andv;": '\U00002A5A', + "ang;": '\U00002220', + "ange;": '\U000029A4', + "angle;": '\U00002220', + "angmsd;": '\U00002221', + "angmsdaa;": '\U000029A8', + "angmsdab;": '\U000029A9', + "angmsdac;": '\U000029AA', + "angmsdad;": '\U000029AB', + "angmsdae;": '\U000029AC', + "angmsdaf;": '\U000029AD', + "angmsdag;": '\U000029AE', + "angmsdah;": '\U000029AF', + "angrt;": '\U0000221F', + "angrtvb;": '\U000022BE', + "angrtvbd;": '\U0000299D', + "angsph;": '\U00002222', + "angst;": '\U000000C5', + "angzarr;": '\U0000237C', + "aogon;": '\U00000105', + "aopf;": '\U0001D552', + "ap;": '\U00002248', + "apE;": '\U00002A70', + "apacir;": '\U00002A6F', + "ape;": '\U0000224A', + "apid;": '\U0000224B', + "apos;": '\U00000027', + "approx;": '\U00002248', + "approxeq;": '\U0000224A', + "aring;": '\U000000E5', + "ascr;": '\U0001D4B6', + "ast;": '\U0000002A', + "asymp;": '\U00002248', + "asympeq;": '\U0000224D', + "atilde;": '\U000000E3', + "auml;": '\U000000E4', + "awconint;": '\U00002233', + "awint;": '\U00002A11', + "bNot;": '\U00002AED', + "backcong;": '\U0000224C', + "backepsilon;": '\U000003F6', + "backprime;": '\U00002035', + "backsim;": '\U0000223D', + "backsimeq;": '\U000022CD', + "barvee;": '\U000022BD', + "barwed;": '\U00002305', + "barwedge;": '\U00002305', + "bbrk;": '\U000023B5', + "bbrktbrk;": '\U000023B6', + "bcong;": '\U0000224C', + "bcy;": '\U00000431', + "bdquo;": '\U0000201E', + "becaus;": '\U00002235', + "because;": '\U00002235', + "bemptyv;": '\U000029B0', + "bepsi;": '\U000003F6', + "bernou;": '\U0000212C', + "beta;": '\U000003B2', + "beth;": '\U00002136', + "between;": '\U0000226C', + "bfr;": '\U0001D51F', + "bigcap;": '\U000022C2', + "bigcirc;": '\U000025EF', + "bigcup;": '\U000022C3', + "bigodot;": '\U00002A00', + "bigoplus;": '\U00002A01', + "bigotimes;": '\U00002A02', + "bigsqcup;": '\U00002A06', + "bigstar;": '\U00002605', + "bigtriangledown;": '\U000025BD', + "bigtriangleup;": '\U000025B3', + "biguplus;": '\U00002A04', + "bigvee;": '\U000022C1', + "bigwedge;": '\U000022C0', + "bkarow;": '\U0000290D', + "blacklozenge;": '\U000029EB', + "blacksquare;": '\U000025AA', + "blacktriangle;": '\U000025B4', + "blacktriangledown;": '\U000025BE', + "blacktriangleleft;": '\U000025C2', + "blacktriangleright;": '\U000025B8', + "blank;": '\U00002423', + "blk12;": '\U00002592', + "blk14;": '\U00002591', + "blk34;": '\U00002593', + "block;": '\U00002588', + "bnot;": '\U00002310', + "bopf;": '\U0001D553', + "bot;": '\U000022A5', + "bottom;": '\U000022A5', + "bowtie;": '\U000022C8', + "boxDL;": '\U00002557', + "boxDR;": '\U00002554', + "boxDl;": '\U00002556', + "boxDr;": '\U00002553', + "boxH;": '\U00002550', + "boxHD;": '\U00002566', + "boxHU;": '\U00002569', + "boxHd;": '\U00002564', + "boxHu;": '\U00002567', + "boxUL;": '\U0000255D', + "boxUR;": '\U0000255A', + "boxUl;": '\U0000255C', + "boxUr;": '\U00002559', + "boxV;": '\U00002551', + "boxVH;": '\U0000256C', + "boxVL;": '\U00002563', + "boxVR;": '\U00002560', + "boxVh;": '\U0000256B', + "boxVl;": '\U00002562', + "boxVr;": '\U0000255F', + "boxbox;": '\U000029C9', + "boxdL;": '\U00002555', + "boxdR;": '\U00002552', + "boxdl;": '\U00002510', + "boxdr;": '\U0000250C', + "boxh;": '\U00002500', + "boxhD;": '\U00002565', + "boxhU;": '\U00002568', + "boxhd;": '\U0000252C', + "boxhu;": '\U00002534', + "boxminus;": '\U0000229F', + "boxplus;": '\U0000229E', + "boxtimes;": '\U000022A0', + "boxuL;": '\U0000255B', + "boxuR;": '\U00002558', + "boxul;": '\U00002518', + "boxur;": '\U00002514', + "boxv;": '\U00002502', + "boxvH;": '\U0000256A', + "boxvL;": '\U00002561', + "boxvR;": '\U0000255E', + "boxvh;": '\U0000253C', + "boxvl;": '\U00002524', + "boxvr;": '\U0000251C', + "bprime;": '\U00002035', + "breve;": '\U000002D8', + "brvbar;": '\U000000A6', + "bscr;": '\U0001D4B7', + "bsemi;": '\U0000204F', + "bsim;": '\U0000223D', + "bsime;": '\U000022CD', + "bsol;": '\U0000005C', + "bsolb;": '\U000029C5', + "bsolhsub;": '\U000027C8', + "bull;": '\U00002022', + "bullet;": '\U00002022', + "bump;": '\U0000224E', + "bumpE;": '\U00002AAE', + "bumpe;": '\U0000224F', + "bumpeq;": '\U0000224F', + "cacute;": '\U00000107', + "cap;": '\U00002229', + "capand;": '\U00002A44', + "capbrcup;": '\U00002A49', + "capcap;": '\U00002A4B', + "capcup;": '\U00002A47', + "capdot;": '\U00002A40', + "caret;": '\U00002041', + "caron;": '\U000002C7', + "ccaps;": '\U00002A4D', + "ccaron;": '\U0000010D', + "ccedil;": '\U000000E7', + "ccirc;": '\U00000109', + "ccups;": '\U00002A4C', + "ccupssm;": '\U00002A50', + "cdot;": '\U0000010B', + "cedil;": '\U000000B8', + "cemptyv;": '\U000029B2', + "cent;": '\U000000A2', + "centerdot;": '\U000000B7', + "cfr;": '\U0001D520', + "chcy;": '\U00000447', + "check;": '\U00002713', + "checkmark;": '\U00002713', + "chi;": '\U000003C7', + "cir;": '\U000025CB', + "cirE;": '\U000029C3', + "circ;": '\U000002C6', + "circeq;": '\U00002257', + "circlearrowleft;": '\U000021BA', + "circlearrowright;": '\U000021BB', + "circledR;": '\U000000AE', + "circledS;": '\U000024C8', + "circledast;": '\U0000229B', + "circledcirc;": '\U0000229A', + "circleddash;": '\U0000229D', + "cire;": '\U00002257', + "cirfnint;": '\U00002A10', + "cirmid;": '\U00002AEF', + "cirscir;": '\U000029C2', + "clubs;": '\U00002663', + "clubsuit;": '\U00002663', + "colon;": '\U0000003A', + "colone;": '\U00002254', + "coloneq;": '\U00002254', + "comma;": '\U0000002C', + "commat;": '\U00000040', + "comp;": '\U00002201', + "compfn;": '\U00002218', + "complement;": '\U00002201', + "complexes;": '\U00002102', + "cong;": '\U00002245', + "congdot;": '\U00002A6D', + "conint;": '\U0000222E', + "copf;": '\U0001D554', + "coprod;": '\U00002210', + "copy;": '\U000000A9', + "copysr;": '\U00002117', + "crarr;": '\U000021B5', + "cross;": '\U00002717', + "cscr;": '\U0001D4B8', + "csub;": '\U00002ACF', + "csube;": '\U00002AD1', + "csup;": '\U00002AD0', + "csupe;": '\U00002AD2', + "ctdot;": '\U000022EF', + "cudarrl;": '\U00002938', + "cudarrr;": '\U00002935', + "cuepr;": '\U000022DE', + "cuesc;": '\U000022DF', + "cularr;": '\U000021B6', + "cularrp;": '\U0000293D', + "cup;": '\U0000222A', + "cupbrcap;": '\U00002A48', + "cupcap;": '\U00002A46', + "cupcup;": '\U00002A4A', + "cupdot;": '\U0000228D', + "cupor;": '\U00002A45', + "curarr;": '\U000021B7', + "curarrm;": '\U0000293C', + "curlyeqprec;": '\U000022DE', + "curlyeqsucc;": '\U000022DF', + "curlyvee;": '\U000022CE', + "curlywedge;": '\U000022CF', + "curren;": '\U000000A4', + "curvearrowleft;": '\U000021B6', + "curvearrowright;": '\U000021B7', + "cuvee;": '\U000022CE', + "cuwed;": '\U000022CF', + "cwconint;": '\U00002232', + "cwint;": '\U00002231', + "cylcty;": '\U0000232D', + "dArr;": '\U000021D3', + "dHar;": '\U00002965', + "dagger;": '\U00002020', + "daleth;": '\U00002138', + "darr;": '\U00002193', + "dash;": '\U00002010', + "dashv;": '\U000022A3', + "dbkarow;": '\U0000290F', + "dblac;": '\U000002DD', + "dcaron;": '\U0000010F', + "dcy;": '\U00000434', + "dd;": '\U00002146', + "ddagger;": '\U00002021', + "ddarr;": '\U000021CA', + "ddotseq;": '\U00002A77', + "deg;": '\U000000B0', + "delta;": '\U000003B4', + "demptyv;": '\U000029B1', + "dfisht;": '\U0000297F', + "dfr;": '\U0001D521', + "dharl;": '\U000021C3', + "dharr;": '\U000021C2', + "diam;": '\U000022C4', + "diamond;": '\U000022C4', + "diamondsuit;": '\U00002666', + "diams;": '\U00002666', + "die;": '\U000000A8', + "digamma;": '\U000003DD', + "disin;": '\U000022F2', + "div;": '\U000000F7', + "divide;": '\U000000F7', + "divideontimes;": '\U000022C7', + "divonx;": '\U000022C7', + "djcy;": '\U00000452', + "dlcorn;": '\U0000231E', + "dlcrop;": '\U0000230D', + "dollar;": '\U00000024', + "dopf;": '\U0001D555', + "dot;": '\U000002D9', + "doteq;": '\U00002250', + "doteqdot;": '\U00002251', + "dotminus;": '\U00002238', + "dotplus;": '\U00002214', + "dotsquare;": '\U000022A1', + "doublebarwedge;": '\U00002306', + "downarrow;": '\U00002193', + "downdownarrows;": '\U000021CA', + "downharpoonleft;": '\U000021C3', + "downharpoonright;": '\U000021C2', + "drbkarow;": '\U00002910', + "drcorn;": '\U0000231F', + "drcrop;": '\U0000230C', + "dscr;": '\U0001D4B9', + "dscy;": '\U00000455', + "dsol;": '\U000029F6', + "dstrok;": '\U00000111', + "dtdot;": '\U000022F1', + "dtri;": '\U000025BF', + "dtrif;": '\U000025BE', + "duarr;": '\U000021F5', + "duhar;": '\U0000296F', + "dwangle;": '\U000029A6', + "dzcy;": '\U0000045F', + "dzigrarr;": '\U000027FF', + "eDDot;": '\U00002A77', + "eDot;": '\U00002251', + "eacute;": '\U000000E9', + "easter;": '\U00002A6E', + "ecaron;": '\U0000011B', + "ecir;": '\U00002256', + "ecirc;": '\U000000EA', + "ecolon;": '\U00002255', + "ecy;": '\U0000044D', + "edot;": '\U00000117', + "ee;": '\U00002147', + "efDot;": '\U00002252', + "efr;": '\U0001D522', + "eg;": '\U00002A9A', + "egrave;": '\U000000E8', + "egs;": '\U00002A96', + "egsdot;": '\U00002A98', + "el;": '\U00002A99', + "elinters;": '\U000023E7', + "ell;": '\U00002113', + "els;": '\U00002A95', + "elsdot;": '\U00002A97', + "emacr;": '\U00000113', + "empty;": '\U00002205', + "emptyset;": '\U00002205', + "emptyv;": '\U00002205', + "emsp;": '\U00002003', + "emsp13;": '\U00002004', + "emsp14;": '\U00002005', + "eng;": '\U0000014B', + "ensp;": '\U00002002', + "eogon;": '\U00000119', + "eopf;": '\U0001D556', + "epar;": '\U000022D5', + "eparsl;": '\U000029E3', + "eplus;": '\U00002A71', + "epsi;": '\U000003B5', + "epsilon;": '\U000003B5', + "epsiv;": '\U000003F5', + "eqcirc;": '\U00002256', + "eqcolon;": '\U00002255', + "eqsim;": '\U00002242', + "eqslantgtr;": '\U00002A96', + "eqslantless;": '\U00002A95', + "equals;": '\U0000003D', + "equest;": '\U0000225F', + "equiv;": '\U00002261', + "equivDD;": '\U00002A78', + "eqvparsl;": '\U000029E5', + "erDot;": '\U00002253', + "erarr;": '\U00002971', + "escr;": '\U0000212F', + "esdot;": '\U00002250', + "esim;": '\U00002242', + "eta;": '\U000003B7', + "eth;": '\U000000F0', + "euml;": '\U000000EB', + "euro;": '\U000020AC', + "excl;": '\U00000021', + "exist;": '\U00002203', + "expectation;": '\U00002130', + "exponentiale;": '\U00002147', + "fallingdotseq;": '\U00002252', + "fcy;": '\U00000444', + "female;": '\U00002640', + "ffilig;": '\U0000FB03', + "fflig;": '\U0000FB00', + "ffllig;": '\U0000FB04', + "ffr;": '\U0001D523', + "filig;": '\U0000FB01', + "flat;": '\U0000266D', + "fllig;": '\U0000FB02', + "fltns;": '\U000025B1', + "fnof;": '\U00000192', + "fopf;": '\U0001D557', + "forall;": '\U00002200', + "fork;": '\U000022D4', + "forkv;": '\U00002AD9', + "fpartint;": '\U00002A0D', + "frac12;": '\U000000BD', + "frac13;": '\U00002153', + "frac14;": '\U000000BC', + "frac15;": '\U00002155', + "frac16;": '\U00002159', + "frac18;": '\U0000215B', + "frac23;": '\U00002154', + "frac25;": '\U00002156', + "frac34;": '\U000000BE', + "frac35;": '\U00002157', + "frac38;": '\U0000215C', + "frac45;": '\U00002158', + "frac56;": '\U0000215A', + "frac58;": '\U0000215D', + "frac78;": '\U0000215E', + "frasl;": '\U00002044', + "frown;": '\U00002322', + "fscr;": '\U0001D4BB', + "gE;": '\U00002267', + "gEl;": '\U00002A8C', + "gacute;": '\U000001F5', + "gamma;": '\U000003B3', + "gammad;": '\U000003DD', + "gap;": '\U00002A86', + "gbreve;": '\U0000011F', + "gcirc;": '\U0000011D', + "gcy;": '\U00000433', + "gdot;": '\U00000121', + "ge;": '\U00002265', + "gel;": '\U000022DB', + "geq;": '\U00002265', + "geqq;": '\U00002267', + "geqslant;": '\U00002A7E', + "ges;": '\U00002A7E', + "gescc;": '\U00002AA9', + "gesdot;": '\U00002A80', + "gesdoto;": '\U00002A82', + "gesdotol;": '\U00002A84', + "gesles;": '\U00002A94', + "gfr;": '\U0001D524', + "gg;": '\U0000226B', + "ggg;": '\U000022D9', + "gimel;": '\U00002137', + "gjcy;": '\U00000453', + "gl;": '\U00002277', + "glE;": '\U00002A92', + "gla;": '\U00002AA5', + "glj;": '\U00002AA4', + "gnE;": '\U00002269', + "gnap;": '\U00002A8A', + "gnapprox;": '\U00002A8A', + "gne;": '\U00002A88', + "gneq;": '\U00002A88', + "gneqq;": '\U00002269', + "gnsim;": '\U000022E7', + "gopf;": '\U0001D558', + "grave;": '\U00000060', + "gscr;": '\U0000210A', + "gsim;": '\U00002273', + "gsime;": '\U00002A8E', + "gsiml;": '\U00002A90', + "gt;": '\U0000003E', + "gtcc;": '\U00002AA7', + "gtcir;": '\U00002A7A', + "gtdot;": '\U000022D7', + "gtlPar;": '\U00002995', + "gtquest;": '\U00002A7C', + "gtrapprox;": '\U00002A86', + "gtrarr;": '\U00002978', + "gtrdot;": '\U000022D7', + "gtreqless;": '\U000022DB', + "gtreqqless;": '\U00002A8C', + "gtrless;": '\U00002277', + "gtrsim;": '\U00002273', + "hArr;": '\U000021D4', + "hairsp;": '\U0000200A', + "half;": '\U000000BD', + "hamilt;": '\U0000210B', + "hardcy;": '\U0000044A', + "harr;": '\U00002194', + "harrcir;": '\U00002948', + "harrw;": '\U000021AD', + "hbar;": '\U0000210F', + "hcirc;": '\U00000125', + "hearts;": '\U00002665', + "heartsuit;": '\U00002665', + "hellip;": '\U00002026', + "hercon;": '\U000022B9', + "hfr;": '\U0001D525', + "hksearow;": '\U00002925', + "hkswarow;": '\U00002926', + "hoarr;": '\U000021FF', + "homtht;": '\U0000223B', + "hookleftarrow;": '\U000021A9', + "hookrightarrow;": '\U000021AA', + "hopf;": '\U0001D559', + "horbar;": '\U00002015', + "hscr;": '\U0001D4BD', + "hslash;": '\U0000210F', + "hstrok;": '\U00000127', + "hybull;": '\U00002043', + "hyphen;": '\U00002010', + "iacute;": '\U000000ED', + "ic;": '\U00002063', + "icirc;": '\U000000EE', + "icy;": '\U00000438', + "iecy;": '\U00000435', + "iexcl;": '\U000000A1', + "iff;": '\U000021D4', + "ifr;": '\U0001D526', + "igrave;": '\U000000EC', + "ii;": '\U00002148', + "iiiint;": '\U00002A0C', + "iiint;": '\U0000222D', + "iinfin;": '\U000029DC', + "iiota;": '\U00002129', + "ijlig;": '\U00000133', + "imacr;": '\U0000012B', + "image;": '\U00002111', + "imagline;": '\U00002110', + "imagpart;": '\U00002111', + "imath;": '\U00000131', + "imof;": '\U000022B7', + "imped;": '\U000001B5', + "in;": '\U00002208', + "incare;": '\U00002105', + "infin;": '\U0000221E', + "infintie;": '\U000029DD', + "inodot;": '\U00000131', + "int;": '\U0000222B', + "intcal;": '\U000022BA', + "integers;": '\U00002124', + "intercal;": '\U000022BA', + "intlarhk;": '\U00002A17', + "intprod;": '\U00002A3C', + "iocy;": '\U00000451', + "iogon;": '\U0000012F', + "iopf;": '\U0001D55A', + "iota;": '\U000003B9', + "iprod;": '\U00002A3C', + "iquest;": '\U000000BF', + "iscr;": '\U0001D4BE', + "isin;": '\U00002208', + "isinE;": '\U000022F9', + "isindot;": '\U000022F5', + "isins;": '\U000022F4', + "isinsv;": '\U000022F3', + "isinv;": '\U00002208', + "it;": '\U00002062', + "itilde;": '\U00000129', + "iukcy;": '\U00000456', + "iuml;": '\U000000EF', + "jcirc;": '\U00000135', + "jcy;": '\U00000439', + "jfr;": '\U0001D527', + "jmath;": '\U00000237', + "jopf;": '\U0001D55B', + "jscr;": '\U0001D4BF', + "jsercy;": '\U00000458', + "jukcy;": '\U00000454', + "kappa;": '\U000003BA', + "kappav;": '\U000003F0', + "kcedil;": '\U00000137', + "kcy;": '\U0000043A', + "kfr;": '\U0001D528', + "kgreen;": '\U00000138', + "khcy;": '\U00000445', + "kjcy;": '\U0000045C', + "kopf;": '\U0001D55C', + "kscr;": '\U0001D4C0', + "lAarr;": '\U000021DA', + "lArr;": '\U000021D0', + "lAtail;": '\U0000291B', + "lBarr;": '\U0000290E', + "lE;": '\U00002266', + "lEg;": '\U00002A8B', + "lHar;": '\U00002962', + "lacute;": '\U0000013A', + "laemptyv;": '\U000029B4', + "lagran;": '\U00002112', + "lambda;": '\U000003BB', + "lang;": '\U000027E8', + "langd;": '\U00002991', + "langle;": '\U000027E8', + "lap;": '\U00002A85', + "laquo;": '\U000000AB', + "larr;": '\U00002190', + "larrb;": '\U000021E4', + "larrbfs;": '\U0000291F', + "larrfs;": '\U0000291D', + "larrhk;": '\U000021A9', + "larrlp;": '\U000021AB', + "larrpl;": '\U00002939', + "larrsim;": '\U00002973', + "larrtl;": '\U000021A2', + "lat;": '\U00002AAB', + "latail;": '\U00002919', + "late;": '\U00002AAD', + "lbarr;": '\U0000290C', + "lbbrk;": '\U00002772', + "lbrace;": '\U0000007B', + "lbrack;": '\U0000005B', + "lbrke;": '\U0000298B', + "lbrksld;": '\U0000298F', + "lbrkslu;": '\U0000298D', + "lcaron;": '\U0000013E', + "lcedil;": '\U0000013C', + "lceil;": '\U00002308', + "lcub;": '\U0000007B', + "lcy;": '\U0000043B', + "ldca;": '\U00002936', + "ldquo;": '\U0000201C', + "ldquor;": '\U0000201E', + "ldrdhar;": '\U00002967', + "ldrushar;": '\U0000294B', + "ldsh;": '\U000021B2', + "le;": '\U00002264', + "leftarrow;": '\U00002190', + "leftarrowtail;": '\U000021A2', + "leftharpoondown;": '\U000021BD', + "leftharpoonup;": '\U000021BC', + "leftleftarrows;": '\U000021C7', + "leftrightarrow;": '\U00002194', + "leftrightarrows;": '\U000021C6', + "leftrightharpoons;": '\U000021CB', + "leftrightsquigarrow;": '\U000021AD', + "leftthreetimes;": '\U000022CB', + "leg;": '\U000022DA', + "leq;": '\U00002264', + "leqq;": '\U00002266', + "leqslant;": '\U00002A7D', + "les;": '\U00002A7D', + "lescc;": '\U00002AA8', + "lesdot;": '\U00002A7F', + "lesdoto;": '\U00002A81', + "lesdotor;": '\U00002A83', + "lesges;": '\U00002A93', + "lessapprox;": '\U00002A85', + "lessdot;": '\U000022D6', + "lesseqgtr;": '\U000022DA', + "lesseqqgtr;": '\U00002A8B', + "lessgtr;": '\U00002276', + "lesssim;": '\U00002272', + "lfisht;": '\U0000297C', + "lfloor;": '\U0000230A', + "lfr;": '\U0001D529', + "lg;": '\U00002276', + "lgE;": '\U00002A91', + "lhard;": '\U000021BD', + "lharu;": '\U000021BC', + "lharul;": '\U0000296A', + "lhblk;": '\U00002584', + "ljcy;": '\U00000459', + "ll;": '\U0000226A', + "llarr;": '\U000021C7', + "llcorner;": '\U0000231E', + "llhard;": '\U0000296B', + "lltri;": '\U000025FA', + "lmidot;": '\U00000140', + "lmoust;": '\U000023B0', + "lmoustache;": '\U000023B0', + "lnE;": '\U00002268', + "lnap;": '\U00002A89', + "lnapprox;": '\U00002A89', + "lne;": '\U00002A87', + "lneq;": '\U00002A87', + "lneqq;": '\U00002268', + "lnsim;": '\U000022E6', + "loang;": '\U000027EC', + "loarr;": '\U000021FD', + "lobrk;": '\U000027E6', + "longleftarrow;": '\U000027F5', + "longleftrightarrow;": '\U000027F7', + "longmapsto;": '\U000027FC', + "longrightarrow;": '\U000027F6', + "looparrowleft;": '\U000021AB', + "looparrowright;": '\U000021AC', + "lopar;": '\U00002985', + "lopf;": '\U0001D55D', + "loplus;": '\U00002A2D', + "lotimes;": '\U00002A34', + "lowast;": '\U00002217', + "lowbar;": '\U0000005F', + "loz;": '\U000025CA', + "lozenge;": '\U000025CA', + "lozf;": '\U000029EB', + "lpar;": '\U00000028', + "lparlt;": '\U00002993', + "lrarr;": '\U000021C6', + "lrcorner;": '\U0000231F', + "lrhar;": '\U000021CB', + "lrhard;": '\U0000296D', + "lrm;": '\U0000200E', + "lrtri;": '\U000022BF', + "lsaquo;": '\U00002039', + "lscr;": '\U0001D4C1', + "lsh;": '\U000021B0', + "lsim;": '\U00002272', + "lsime;": '\U00002A8D', + "lsimg;": '\U00002A8F', + "lsqb;": '\U0000005B', + "lsquo;": '\U00002018', + "lsquor;": '\U0000201A', + "lstrok;": '\U00000142', + "lt;": '\U0000003C', + "ltcc;": '\U00002AA6', + "ltcir;": '\U00002A79', + "ltdot;": '\U000022D6', + "lthree;": '\U000022CB', + "ltimes;": '\U000022C9', + "ltlarr;": '\U00002976', + "ltquest;": '\U00002A7B', + "ltrPar;": '\U00002996', + "ltri;": '\U000025C3', + "ltrie;": '\U000022B4', + "ltrif;": '\U000025C2', + "lurdshar;": '\U0000294A', + "luruhar;": '\U00002966', + "mDDot;": '\U0000223A', + "macr;": '\U000000AF', + "male;": '\U00002642', + "malt;": '\U00002720', + "maltese;": '\U00002720', + "map;": '\U000021A6', + "mapsto;": '\U000021A6', + "mapstodown;": '\U000021A7', + "mapstoleft;": '\U000021A4', + "mapstoup;": '\U000021A5', + "marker;": '\U000025AE', + "mcomma;": '\U00002A29', + "mcy;": '\U0000043C', + "mdash;": '\U00002014', + "measuredangle;": '\U00002221', + "mfr;": '\U0001D52A', + "mho;": '\U00002127', + "micro;": '\U000000B5', + "mid;": '\U00002223', + "midast;": '\U0000002A', + "midcir;": '\U00002AF0', + "middot;": '\U000000B7', + "minus;": '\U00002212', + "minusb;": '\U0000229F', + "minusd;": '\U00002238', + "minusdu;": '\U00002A2A', + "mlcp;": '\U00002ADB', + "mldr;": '\U00002026', + "mnplus;": '\U00002213', + "models;": '\U000022A7', + "mopf;": '\U0001D55E', + "mp;": '\U00002213', + "mscr;": '\U0001D4C2', + "mstpos;": '\U0000223E', + "mu;": '\U000003BC', + "multimap;": '\U000022B8', + "mumap;": '\U000022B8', + "nLeftarrow;": '\U000021CD', + "nLeftrightarrow;": '\U000021CE', + "nRightarrow;": '\U000021CF', + "nVDash;": '\U000022AF', + "nVdash;": '\U000022AE', + "nabla;": '\U00002207', + "nacute;": '\U00000144', + "nap;": '\U00002249', + "napos;": '\U00000149', + "napprox;": '\U00002249', + "natur;": '\U0000266E', + "natural;": '\U0000266E', + "naturals;": '\U00002115', + "nbsp;": '\U000000A0', + "ncap;": '\U00002A43', + "ncaron;": '\U00000148', + "ncedil;": '\U00000146', + "ncong;": '\U00002247', + "ncup;": '\U00002A42', + "ncy;": '\U0000043D', + "ndash;": '\U00002013', + "ne;": '\U00002260', + "neArr;": '\U000021D7', + "nearhk;": '\U00002924', + "nearr;": '\U00002197', + "nearrow;": '\U00002197', + "nequiv;": '\U00002262', + "nesear;": '\U00002928', + "nexist;": '\U00002204', + "nexists;": '\U00002204', + "nfr;": '\U0001D52B', + "nge;": '\U00002271', + "ngeq;": '\U00002271', + "ngsim;": '\U00002275', + "ngt;": '\U0000226F', + "ngtr;": '\U0000226F', + "nhArr;": '\U000021CE', + "nharr;": '\U000021AE', + "nhpar;": '\U00002AF2', + "ni;": '\U0000220B', + "nis;": '\U000022FC', + "nisd;": '\U000022FA', + "niv;": '\U0000220B', + "njcy;": '\U0000045A', + "nlArr;": '\U000021CD', + "nlarr;": '\U0000219A', + "nldr;": '\U00002025', + "nle;": '\U00002270', + "nleftarrow;": '\U0000219A', + "nleftrightarrow;": '\U000021AE', + "nleq;": '\U00002270', + "nless;": '\U0000226E', + "nlsim;": '\U00002274', + "nlt;": '\U0000226E', + "nltri;": '\U000022EA', + "nltrie;": '\U000022EC', + "nmid;": '\U00002224', + "nopf;": '\U0001D55F', + "not;": '\U000000AC', + "notin;": '\U00002209', + "notinva;": '\U00002209', + "notinvb;": '\U000022F7', + "notinvc;": '\U000022F6', + "notni;": '\U0000220C', + "notniva;": '\U0000220C', + "notnivb;": '\U000022FE', + "notnivc;": '\U000022FD', + "npar;": '\U00002226', + "nparallel;": '\U00002226', + "npolint;": '\U00002A14', + "npr;": '\U00002280', + "nprcue;": '\U000022E0', + "nprec;": '\U00002280', + "nrArr;": '\U000021CF', + "nrarr;": '\U0000219B', + "nrightarrow;": '\U0000219B', + "nrtri;": '\U000022EB', + "nrtrie;": '\U000022ED', + "nsc;": '\U00002281', + "nsccue;": '\U000022E1', + "nscr;": '\U0001D4C3', + "nshortmid;": '\U00002224', + "nshortparallel;": '\U00002226', + "nsim;": '\U00002241', + "nsime;": '\U00002244', + "nsimeq;": '\U00002244', + "nsmid;": '\U00002224', + "nspar;": '\U00002226', + "nsqsube;": '\U000022E2', + "nsqsupe;": '\U000022E3', + "nsub;": '\U00002284', + "nsube;": '\U00002288', + "nsubseteq;": '\U00002288', + "nsucc;": '\U00002281', + "nsup;": '\U00002285', + "nsupe;": '\U00002289', + "nsupseteq;": '\U00002289', + "ntgl;": '\U00002279', + "ntilde;": '\U000000F1', + "ntlg;": '\U00002278', + "ntriangleleft;": '\U000022EA', + "ntrianglelefteq;": '\U000022EC', + "ntriangleright;": '\U000022EB', + "ntrianglerighteq;": '\U000022ED', + "nu;": '\U000003BD', + "num;": '\U00000023', + "numero;": '\U00002116', + "numsp;": '\U00002007', + "nvDash;": '\U000022AD', + "nvHarr;": '\U00002904', + "nvdash;": '\U000022AC', + "nvinfin;": '\U000029DE', + "nvlArr;": '\U00002902', + "nvrArr;": '\U00002903', + "nwArr;": '\U000021D6', + "nwarhk;": '\U00002923', + "nwarr;": '\U00002196', + "nwarrow;": '\U00002196', + "nwnear;": '\U00002927', + "oS;": '\U000024C8', + "oacute;": '\U000000F3', + "oast;": '\U0000229B', + "ocir;": '\U0000229A', + "ocirc;": '\U000000F4', + "ocy;": '\U0000043E', + "odash;": '\U0000229D', + "odblac;": '\U00000151', + "odiv;": '\U00002A38', + "odot;": '\U00002299', + "odsold;": '\U000029BC', + "oelig;": '\U00000153', + "ofcir;": '\U000029BF', + "ofr;": '\U0001D52C', + "ogon;": '\U000002DB', + "ograve;": '\U000000F2', + "ogt;": '\U000029C1', + "ohbar;": '\U000029B5', + "ohm;": '\U000003A9', + "oint;": '\U0000222E', + "olarr;": '\U000021BA', + "olcir;": '\U000029BE', + "olcross;": '\U000029BB', + "oline;": '\U0000203E', + "olt;": '\U000029C0', + "omacr;": '\U0000014D', + "omega;": '\U000003C9', + "omicron;": '\U000003BF', + "omid;": '\U000029B6', + "ominus;": '\U00002296', + "oopf;": '\U0001D560', + "opar;": '\U000029B7', + "operp;": '\U000029B9', + "oplus;": '\U00002295', + "or;": '\U00002228', + "orarr;": '\U000021BB', + "ord;": '\U00002A5D', + "order;": '\U00002134', + "orderof;": '\U00002134', + "ordf;": '\U000000AA', + "ordm;": '\U000000BA', + "origof;": '\U000022B6', + "oror;": '\U00002A56', + "orslope;": '\U00002A57', + "orv;": '\U00002A5B', + "oscr;": '\U00002134', + "oslash;": '\U000000F8', + "osol;": '\U00002298', + "otilde;": '\U000000F5', + "otimes;": '\U00002297', + "otimesas;": '\U00002A36', + "ouml;": '\U000000F6', + "ovbar;": '\U0000233D', + "par;": '\U00002225', + "para;": '\U000000B6', + "parallel;": '\U00002225', + "parsim;": '\U00002AF3', + "parsl;": '\U00002AFD', + "part;": '\U00002202', + "pcy;": '\U0000043F', + "percnt;": '\U00000025', + "period;": '\U0000002E', + "permil;": '\U00002030', + "perp;": '\U000022A5', + "pertenk;": '\U00002031', + "pfr;": '\U0001D52D', + "phi;": '\U000003C6', + "phiv;": '\U000003D5', + "phmmat;": '\U00002133', + "phone;": '\U0000260E', + "pi;": '\U000003C0', + "pitchfork;": '\U000022D4', + "piv;": '\U000003D6', + "planck;": '\U0000210F', + "planckh;": '\U0000210E', + "plankv;": '\U0000210F', + "plus;": '\U0000002B', + "plusacir;": '\U00002A23', + "plusb;": '\U0000229E', + "pluscir;": '\U00002A22', + "plusdo;": '\U00002214', + "plusdu;": '\U00002A25', + "pluse;": '\U00002A72', + "plusmn;": '\U000000B1', + "plussim;": '\U00002A26', + "plustwo;": '\U00002A27', + "pm;": '\U000000B1', + "pointint;": '\U00002A15', + "popf;": '\U0001D561', + "pound;": '\U000000A3', + "pr;": '\U0000227A', + "prE;": '\U00002AB3', + "prap;": '\U00002AB7', + "prcue;": '\U0000227C', + "pre;": '\U00002AAF', + "prec;": '\U0000227A', + "precapprox;": '\U00002AB7', + "preccurlyeq;": '\U0000227C', + "preceq;": '\U00002AAF', + "precnapprox;": '\U00002AB9', + "precneqq;": '\U00002AB5', + "precnsim;": '\U000022E8', + "precsim;": '\U0000227E', + "prime;": '\U00002032', + "primes;": '\U00002119', + "prnE;": '\U00002AB5', + "prnap;": '\U00002AB9', + "prnsim;": '\U000022E8', + "prod;": '\U0000220F', + "profalar;": '\U0000232E', + "profline;": '\U00002312', + "profsurf;": '\U00002313', + "prop;": '\U0000221D', + "propto;": '\U0000221D', + "prsim;": '\U0000227E', + "prurel;": '\U000022B0', + "pscr;": '\U0001D4C5', + "psi;": '\U000003C8', + "puncsp;": '\U00002008', + "qfr;": '\U0001D52E', + "qint;": '\U00002A0C', + "qopf;": '\U0001D562', + "qprime;": '\U00002057', + "qscr;": '\U0001D4C6', + "quaternions;": '\U0000210D', + "quatint;": '\U00002A16', + "quest;": '\U0000003F', + "questeq;": '\U0000225F', + "quot;": '\U00000022', + "rAarr;": '\U000021DB', + "rArr;": '\U000021D2', + "rAtail;": '\U0000291C', + "rBarr;": '\U0000290F', + "rHar;": '\U00002964', + "racute;": '\U00000155', + "radic;": '\U0000221A', + "raemptyv;": '\U000029B3', + "rang;": '\U000027E9', + "rangd;": '\U00002992', + "range;": '\U000029A5', + "rangle;": '\U000027E9', + "raquo;": '\U000000BB', + "rarr;": '\U00002192', + "rarrap;": '\U00002975', + "rarrb;": '\U000021E5', + "rarrbfs;": '\U00002920', + "rarrc;": '\U00002933', + "rarrfs;": '\U0000291E', + "rarrhk;": '\U000021AA', + "rarrlp;": '\U000021AC', + "rarrpl;": '\U00002945', + "rarrsim;": '\U00002974', + "rarrtl;": '\U000021A3', + "rarrw;": '\U0000219D', + "ratail;": '\U0000291A', + "ratio;": '\U00002236', + "rationals;": '\U0000211A', + "rbarr;": '\U0000290D', + "rbbrk;": '\U00002773', + "rbrace;": '\U0000007D', + "rbrack;": '\U0000005D', + "rbrke;": '\U0000298C', + "rbrksld;": '\U0000298E', + "rbrkslu;": '\U00002990', + "rcaron;": '\U00000159', + "rcedil;": '\U00000157', + "rceil;": '\U00002309', + "rcub;": '\U0000007D', + "rcy;": '\U00000440', + "rdca;": '\U00002937', + "rdldhar;": '\U00002969', + "rdquo;": '\U0000201D', + "rdquor;": '\U0000201D', + "rdsh;": '\U000021B3', + "real;": '\U0000211C', + "realine;": '\U0000211B', + "realpart;": '\U0000211C', + "reals;": '\U0000211D', + "rect;": '\U000025AD', + "reg;": '\U000000AE', + "rfisht;": '\U0000297D', + "rfloor;": '\U0000230B', + "rfr;": '\U0001D52F', + "rhard;": '\U000021C1', + "rharu;": '\U000021C0', + "rharul;": '\U0000296C', + "rho;": '\U000003C1', + "rhov;": '\U000003F1', + "rightarrow;": '\U00002192', + "rightarrowtail;": '\U000021A3', + "rightharpoondown;": '\U000021C1', + "rightharpoonup;": '\U000021C0', + "rightleftarrows;": '\U000021C4', + "rightleftharpoons;": '\U000021CC', + "rightrightarrows;": '\U000021C9', + "rightsquigarrow;": '\U0000219D', + "rightthreetimes;": '\U000022CC', + "ring;": '\U000002DA', + "risingdotseq;": '\U00002253', + "rlarr;": '\U000021C4', + "rlhar;": '\U000021CC', + "rlm;": '\U0000200F', + "rmoust;": '\U000023B1', + "rmoustache;": '\U000023B1', + "rnmid;": '\U00002AEE', + "roang;": '\U000027ED', + "roarr;": '\U000021FE', + "robrk;": '\U000027E7', + "ropar;": '\U00002986', + "ropf;": '\U0001D563', + "roplus;": '\U00002A2E', + "rotimes;": '\U00002A35', + "rpar;": '\U00000029', + "rpargt;": '\U00002994', + "rppolint;": '\U00002A12', + "rrarr;": '\U000021C9', + "rsaquo;": '\U0000203A', + "rscr;": '\U0001D4C7', + "rsh;": '\U000021B1', + "rsqb;": '\U0000005D', + "rsquo;": '\U00002019', + "rsquor;": '\U00002019', + "rthree;": '\U000022CC', + "rtimes;": '\U000022CA', + "rtri;": '\U000025B9', + "rtrie;": '\U000022B5', + "rtrif;": '\U000025B8', + "rtriltri;": '\U000029CE', + "ruluhar;": '\U00002968', + "rx;": '\U0000211E', + "sacute;": '\U0000015B', + "sbquo;": '\U0000201A', + "sc;": '\U0000227B', + "scE;": '\U00002AB4', + "scap;": '\U00002AB8', + "scaron;": '\U00000161', + "sccue;": '\U0000227D', + "sce;": '\U00002AB0', + "scedil;": '\U0000015F', + "scirc;": '\U0000015D', + "scnE;": '\U00002AB6', + "scnap;": '\U00002ABA', + "scnsim;": '\U000022E9', + "scpolint;": '\U00002A13', + "scsim;": '\U0000227F', + "scy;": '\U00000441', + "sdot;": '\U000022C5', + "sdotb;": '\U000022A1', + "sdote;": '\U00002A66', + "seArr;": '\U000021D8', + "searhk;": '\U00002925', + "searr;": '\U00002198', + "searrow;": '\U00002198', + "sect;": '\U000000A7', + "semi;": '\U0000003B', + "seswar;": '\U00002929', + "setminus;": '\U00002216', + "setmn;": '\U00002216', + "sext;": '\U00002736', + "sfr;": '\U0001D530', + "sfrown;": '\U00002322', + "sharp;": '\U0000266F', + "shchcy;": '\U00000449', + "shcy;": '\U00000448', + "shortmid;": '\U00002223', + "shortparallel;": '\U00002225', + "shy;": '\U000000AD', + "sigma;": '\U000003C3', + "sigmaf;": '\U000003C2', + "sigmav;": '\U000003C2', + "sim;": '\U0000223C', + "simdot;": '\U00002A6A', + "sime;": '\U00002243', + "simeq;": '\U00002243', + "simg;": '\U00002A9E', + "simgE;": '\U00002AA0', + "siml;": '\U00002A9D', + "simlE;": '\U00002A9F', + "simne;": '\U00002246', + "simplus;": '\U00002A24', + "simrarr;": '\U00002972', + "slarr;": '\U00002190', + "smallsetminus;": '\U00002216', + "smashp;": '\U00002A33', + "smeparsl;": '\U000029E4', + "smid;": '\U00002223', + "smile;": '\U00002323', + "smt;": '\U00002AAA', + "smte;": '\U00002AAC', + "softcy;": '\U0000044C', + "sol;": '\U0000002F', + "solb;": '\U000029C4', + "solbar;": '\U0000233F', + "sopf;": '\U0001D564', + "spades;": '\U00002660', + "spadesuit;": '\U00002660', + "spar;": '\U00002225', + "sqcap;": '\U00002293', + "sqcup;": '\U00002294', + "sqsub;": '\U0000228F', + "sqsube;": '\U00002291', + "sqsubset;": '\U0000228F', + "sqsubseteq;": '\U00002291', + "sqsup;": '\U00002290', + "sqsupe;": '\U00002292', + "sqsupset;": '\U00002290', + "sqsupseteq;": '\U00002292', + "squ;": '\U000025A1', + "square;": '\U000025A1', + "squarf;": '\U000025AA', + "squf;": '\U000025AA', + "srarr;": '\U00002192', + "sscr;": '\U0001D4C8', + "ssetmn;": '\U00002216', + "ssmile;": '\U00002323', + "sstarf;": '\U000022C6', + "star;": '\U00002606', + "starf;": '\U00002605', + "straightepsilon;": '\U000003F5', + "straightphi;": '\U000003D5', + "strns;": '\U000000AF', + "sub;": '\U00002282', + "subE;": '\U00002AC5', + "subdot;": '\U00002ABD', + "sube;": '\U00002286', + "subedot;": '\U00002AC3', + "submult;": '\U00002AC1', + "subnE;": '\U00002ACB', + "subne;": '\U0000228A', + "subplus;": '\U00002ABF', + "subrarr;": '\U00002979', + "subset;": '\U00002282', + "subseteq;": '\U00002286', + "subseteqq;": '\U00002AC5', + "subsetneq;": '\U0000228A', + "subsetneqq;": '\U00002ACB', + "subsim;": '\U00002AC7', + "subsub;": '\U00002AD5', + "subsup;": '\U00002AD3', + "succ;": '\U0000227B', + "succapprox;": '\U00002AB8', + "succcurlyeq;": '\U0000227D', + "succeq;": '\U00002AB0', + "succnapprox;": '\U00002ABA', + "succneqq;": '\U00002AB6', + "succnsim;": '\U000022E9', + "succsim;": '\U0000227F', + "sum;": '\U00002211', + "sung;": '\U0000266A', + "sup;": '\U00002283', + "sup1;": '\U000000B9', + "sup2;": '\U000000B2', + "sup3;": '\U000000B3', + "supE;": '\U00002AC6', + "supdot;": '\U00002ABE', + "supdsub;": '\U00002AD8', + "supe;": '\U00002287', + "supedot;": '\U00002AC4', + "suphsol;": '\U000027C9', + "suphsub;": '\U00002AD7', + "suplarr;": '\U0000297B', + "supmult;": '\U00002AC2', + "supnE;": '\U00002ACC', + "supne;": '\U0000228B', + "supplus;": '\U00002AC0', + "supset;": '\U00002283', + "supseteq;": '\U00002287', + "supseteqq;": '\U00002AC6', + "supsetneq;": '\U0000228B', + "supsetneqq;": '\U00002ACC', + "supsim;": '\U00002AC8', + "supsub;": '\U00002AD4', + "supsup;": '\U00002AD6', + "swArr;": '\U000021D9', + "swarhk;": '\U00002926', + "swarr;": '\U00002199', + "swarrow;": '\U00002199', + "swnwar;": '\U0000292A', + "szlig;": '\U000000DF', + "target;": '\U00002316', + "tau;": '\U000003C4', + "tbrk;": '\U000023B4', + "tcaron;": '\U00000165', + "tcedil;": '\U00000163', + "tcy;": '\U00000442', + "tdot;": '\U000020DB', + "telrec;": '\U00002315', + "tfr;": '\U0001D531', + "there4;": '\U00002234', + "therefore;": '\U00002234', + "theta;": '\U000003B8', + "thetasym;": '\U000003D1', + "thetav;": '\U000003D1', + "thickapprox;": '\U00002248', + "thicksim;": '\U0000223C', + "thinsp;": '\U00002009', + "thkap;": '\U00002248', + "thksim;": '\U0000223C', + "thorn;": '\U000000FE', + "tilde;": '\U000002DC', + "times;": '\U000000D7', + "timesb;": '\U000022A0', + "timesbar;": '\U00002A31', + "timesd;": '\U00002A30', + "tint;": '\U0000222D', + "toea;": '\U00002928', + "top;": '\U000022A4', + "topbot;": '\U00002336', + "topcir;": '\U00002AF1', + "topf;": '\U0001D565', + "topfork;": '\U00002ADA', + "tosa;": '\U00002929', + "tprime;": '\U00002034', + "trade;": '\U00002122', + "triangle;": '\U000025B5', + "triangledown;": '\U000025BF', + "triangleleft;": '\U000025C3', + "trianglelefteq;": '\U000022B4', + "triangleq;": '\U0000225C', + "triangleright;": '\U000025B9', + "trianglerighteq;": '\U000022B5', + "tridot;": '\U000025EC', + "trie;": '\U0000225C', + "triminus;": '\U00002A3A', + "triplus;": '\U00002A39', + "trisb;": '\U000029CD', + "tritime;": '\U00002A3B', + "trpezium;": '\U000023E2', + "tscr;": '\U0001D4C9', + "tscy;": '\U00000446', + "tshcy;": '\U0000045B', + "tstrok;": '\U00000167', + "twixt;": '\U0000226C', + "twoheadleftarrow;": '\U0000219E', + "twoheadrightarrow;": '\U000021A0', + "uArr;": '\U000021D1', + "uHar;": '\U00002963', + "uacute;": '\U000000FA', + "uarr;": '\U00002191', + "ubrcy;": '\U0000045E', + "ubreve;": '\U0000016D', + "ucirc;": '\U000000FB', + "ucy;": '\U00000443', + "udarr;": '\U000021C5', + "udblac;": '\U00000171', + "udhar;": '\U0000296E', + "ufisht;": '\U0000297E', + "ufr;": '\U0001D532', + "ugrave;": '\U000000F9', + "uharl;": '\U000021BF', + "uharr;": '\U000021BE', + "uhblk;": '\U00002580', + "ulcorn;": '\U0000231C', + "ulcorner;": '\U0000231C', + "ulcrop;": '\U0000230F', + "ultri;": '\U000025F8', + "umacr;": '\U0000016B', + "uml;": '\U000000A8', + "uogon;": '\U00000173', + "uopf;": '\U0001D566', + "uparrow;": '\U00002191', + "updownarrow;": '\U00002195', + "upharpoonleft;": '\U000021BF', + "upharpoonright;": '\U000021BE', + "uplus;": '\U0000228E', + "upsi;": '\U000003C5', + "upsih;": '\U000003D2', + "upsilon;": '\U000003C5', + "upuparrows;": '\U000021C8', + "urcorn;": '\U0000231D', + "urcorner;": '\U0000231D', + "urcrop;": '\U0000230E', + "uring;": '\U0000016F', + "urtri;": '\U000025F9', + "uscr;": '\U0001D4CA', + "utdot;": '\U000022F0', + "utilde;": '\U00000169', + "utri;": '\U000025B5', + "utrif;": '\U000025B4', + "uuarr;": '\U000021C8', + "uuml;": '\U000000FC', + "uwangle;": '\U000029A7', + "vArr;": '\U000021D5', + "vBar;": '\U00002AE8', + "vBarv;": '\U00002AE9', + "vDash;": '\U000022A8', + "vangrt;": '\U0000299C', + "varepsilon;": '\U000003F5', + "varkappa;": '\U000003F0', + "varnothing;": '\U00002205', + "varphi;": '\U000003D5', + "varpi;": '\U000003D6', + "varpropto;": '\U0000221D', + "varr;": '\U00002195', + "varrho;": '\U000003F1', + "varsigma;": '\U000003C2', + "vartheta;": '\U000003D1', + "vartriangleleft;": '\U000022B2', + "vartriangleright;": '\U000022B3', + "vcy;": '\U00000432', + "vdash;": '\U000022A2', + "vee;": '\U00002228', + "veebar;": '\U000022BB', + "veeeq;": '\U0000225A', + "vellip;": '\U000022EE', + "verbar;": '\U0000007C', + "vert;": '\U0000007C', + "vfr;": '\U0001D533', + "vltri;": '\U000022B2', + "vopf;": '\U0001D567', + "vprop;": '\U0000221D', + "vrtri;": '\U000022B3', + "vscr;": '\U0001D4CB', + "vzigzag;": '\U0000299A', + "wcirc;": '\U00000175', + "wedbar;": '\U00002A5F', + "wedge;": '\U00002227', + "wedgeq;": '\U00002259', + "weierp;": '\U00002118', + "wfr;": '\U0001D534', + "wopf;": '\U0001D568', + "wp;": '\U00002118', + "wr;": '\U00002240', + "wreath;": '\U00002240', + "wscr;": '\U0001D4CC', + "xcap;": '\U000022C2', + "xcirc;": '\U000025EF', + "xcup;": '\U000022C3', + "xdtri;": '\U000025BD', + "xfr;": '\U0001D535', + "xhArr;": '\U000027FA', + "xharr;": '\U000027F7', + "xi;": '\U000003BE', + "xlArr;": '\U000027F8', + "xlarr;": '\U000027F5', + "xmap;": '\U000027FC', + "xnis;": '\U000022FB', + "xodot;": '\U00002A00', + "xopf;": '\U0001D569', + "xoplus;": '\U00002A01', + "xotime;": '\U00002A02', + "xrArr;": '\U000027F9', + "xrarr;": '\U000027F6', + "xscr;": '\U0001D4CD', + "xsqcup;": '\U00002A06', + "xuplus;": '\U00002A04', + "xutri;": '\U000025B3', + "xvee;": '\U000022C1', + "xwedge;": '\U000022C0', + "yacute;": '\U000000FD', + "yacy;": '\U0000044F', + "ycirc;": '\U00000177', + "ycy;": '\U0000044B', + "yen;": '\U000000A5', + "yfr;": '\U0001D536', + "yicy;": '\U00000457', + "yopf;": '\U0001D56A', + "yscr;": '\U0001D4CE', + "yucy;": '\U0000044E', + "yuml;": '\U000000FF', + "zacute;": '\U0000017A', + "zcaron;": '\U0000017E', + "zcy;": '\U00000437', + "zdot;": '\U0000017C', + "zeetrf;": '\U00002128', + "zeta;": '\U000003B6', + "zfr;": '\U0001D537', + "zhcy;": '\U00000436', + "zigrarr;": '\U000021DD', + "zopf;": '\U0001D56B', + "zscr;": '\U0001D4CF', + "zwj;": '\U0000200D', + "zwnj;": '\U0000200C', + "AElig": '\U000000C6', + "AMP": '\U00000026', + "Aacute": '\U000000C1', + "Acirc": '\U000000C2', + "Agrave": '\U000000C0', + "Aring": '\U000000C5', + "Atilde": '\U000000C3', + "Auml": '\U000000C4', + "COPY": '\U000000A9', + "Ccedil": '\U000000C7', + "ETH": '\U000000D0', + "Eacute": '\U000000C9', + "Ecirc": '\U000000CA', + "Egrave": '\U000000C8', + "Euml": '\U000000CB', + "GT": '\U0000003E', + "Iacute": '\U000000CD', + "Icirc": '\U000000CE', + "Igrave": '\U000000CC', + "Iuml": '\U000000CF', + "LT": '\U0000003C', + "Ntilde": '\U000000D1', + "Oacute": '\U000000D3', + "Ocirc": '\U000000D4', + "Ograve": '\U000000D2', + "Oslash": '\U000000D8', + "Otilde": '\U000000D5', + "Ouml": '\U000000D6', + "QUOT": '\U00000022', + "REG": '\U000000AE', + "THORN": '\U000000DE', + "Uacute": '\U000000DA', + "Ucirc": '\U000000DB', + "Ugrave": '\U000000D9', + "Uuml": '\U000000DC', + "Yacute": '\U000000DD', + "aacute": '\U000000E1', + "acirc": '\U000000E2', + "acute": '\U000000B4', + "aelig": '\U000000E6', + "agrave": '\U000000E0', + "amp": '\U00000026', + "aring": '\U000000E5', + "atilde": '\U000000E3', + "auml": '\U000000E4', + "brvbar": '\U000000A6', + "ccedil": '\U000000E7', + "cedil": '\U000000B8', + "cent": '\U000000A2', + "copy": '\U000000A9', + "curren": '\U000000A4', + "deg": '\U000000B0', + "divide": '\U000000F7', + "eacute": '\U000000E9', + "ecirc": '\U000000EA', + "egrave": '\U000000E8', + "eth": '\U000000F0', + "euml": '\U000000EB', + "frac12": '\U000000BD', + "frac14": '\U000000BC', + "frac34": '\U000000BE', + "gt": '\U0000003E', + "iacute": '\U000000ED', + "icirc": '\U000000EE', + "iexcl": '\U000000A1', + "igrave": '\U000000EC', + "iquest": '\U000000BF', + "iuml": '\U000000EF', + "laquo": '\U000000AB', + "lt": '\U0000003C', + "macr": '\U000000AF', + "micro": '\U000000B5', + "middot": '\U000000B7', + "nbsp": '\U000000A0', + "not": '\U000000AC', + "ntilde": '\U000000F1', + "oacute": '\U000000F3', + "ocirc": '\U000000F4', + "ograve": '\U000000F2', + "ordf": '\U000000AA', + "ordm": '\U000000BA', + "oslash": '\U000000F8', + "otilde": '\U000000F5', + "ouml": '\U000000F6', + "para": '\U000000B6', + "plusmn": '\U000000B1', + "pound": '\U000000A3', + "quot": '\U00000022', + "raquo": '\U000000BB', + "reg": '\U000000AE', + "sect": '\U000000A7', + "shy": '\U000000AD', + "sup1": '\U000000B9', + "sup2": '\U000000B2', + "sup3": '\U000000B3', + "szlig": '\U000000DF', + "thorn": '\U000000FE', + "times": '\U000000D7', + "uacute": '\U000000FA', + "ucirc": '\U000000FB', + "ugrave": '\U000000F9', + "uml": '\U000000A8', + "uuml": '\U000000FC', + "yacute": '\U000000FD', + "yen": '\U000000A5', + "yuml": '\U000000FF', } // HTML entities that are two unicode codepoints. diff --git a/vendor/golang.org/x/net/html/foreign.go b/vendor/golang.org/x/net/html/foreign.go index d3b3844099..74774c458a 100644 --- a/vendor/golang.org/x/net/html/foreign.go +++ b/vendor/golang.org/x/net/html/foreign.go @@ -67,7 +67,7 @@ func mathMLTextIntegrationPoint(n *Node) bool { return false } -// Section 12.2.5.5. +// Section 12.2.6.5. var breakout = map[string]bool{ "b": true, "big": true, @@ -115,7 +115,7 @@ var breakout = map[string]bool{ "var": true, } -// Section 12.2.5.5. +// Section 12.2.6.5. var svgTagNameAdjustments = map[string]string{ "altglyph": "altGlyph", "altglyphdef": "altGlyphDef", @@ -155,7 +155,7 @@ var svgTagNameAdjustments = map[string]string{ "textpath": "textPath", } -// Section 12.2.5.1 +// Section 12.2.6.1 var mathMLAttributeAdjustments = map[string]string{ "definitionurl": "definitionURL", } @@ -172,7 +172,6 @@ var svgAttributeAdjustments = map[string]string{ "diffuseconstant": "diffuseConstant", "edgemode": "edgeMode", "externalresourcesrequired": "externalResourcesRequired", - "filterres": "filterRes", "filterunits": "filterUnits", "glyphref": "glyphRef", "gradienttransform": "gradientTransform", diff --git a/vendor/golang.org/x/net/html/node.go b/vendor/golang.org/x/net/html/node.go index 26b657aec8..1350eef22c 100644 --- a/vendor/golang.org/x/net/html/node.go +++ b/vendor/golang.org/x/net/html/node.go @@ -18,12 +18,18 @@ const ( ElementNode CommentNode DoctypeNode + // RawNode nodes are not returned by the parser, but can be part of the + // Node tree passed to func Render to insert raw HTML (without escaping). + // If so, this package makes no guarantee that the rendered HTML is secure + // (from e.g. Cross Site Scripting attacks) or well-formed. + RawNode scopeMarkerNode ) -// Section 12.2.3.3 says "scope markers are inserted when entering applet -// elements, buttons, object elements, marquees, table cells, and table -// captions, and are used to prevent formatting from 'leaking'". +// Section 12.2.4.3 says "The markers are inserted when entering applet, +// object, marquee, template, td, th, and caption elements, and are used +// to prevent formatting from "leaking" into applet, object, marquee, +// template, td, th, and caption elements". var scopeMarker = Node{Type: scopeMarkerNode} // A Node consists of a NodeType and some Data (tag name for element nodes, @@ -173,6 +179,16 @@ func (s *nodeStack) index(n *Node) int { return -1 } +// contains returns whether a is within s. +func (s *nodeStack) contains(a atom.Atom) bool { + for _, n := range *s { + if n.DataAtom == a && n.Namespace == "" { + return true + } + } + return false +} + // insert inserts a node at the given index. func (s *nodeStack) insert(i int, n *Node) { (*s) = append(*s, nil) @@ -191,3 +207,19 @@ func (s *nodeStack) remove(n *Node) { (*s)[j] = nil *s = (*s)[:j] } + +type insertionModeStack []insertionMode + +func (s *insertionModeStack) pop() (im insertionMode) { + i := len(*s) + im = (*s)[i-1] + *s = (*s)[:i-1] + return im +} + +func (s *insertionModeStack) top() insertionMode { + if i := len(*s); i > 0 { + return (*s)[i-1] + } + return nil +} diff --git a/vendor/golang.org/x/net/html/parse.go b/vendor/golang.org/x/net/html/parse.go index be4b2bf5aa..2cd12fc816 100644 --- a/vendor/golang.org/x/net/html/parse.go +++ b/vendor/golang.org/x/net/html/parse.go @@ -25,20 +25,22 @@ type parser struct { hasSelfClosingToken bool // doc is the document root element. doc *Node - // The stack of open elements (section 12.2.3.2) and active formatting - // elements (section 12.2.3.3). + // The stack of open elements (section 12.2.4.2) and active formatting + // elements (section 12.2.4.3). oe, afe nodeStack - // Element pointers (section 12.2.3.4). + // Element pointers (section 12.2.4.4). head, form *Node - // Other parsing state flags (section 12.2.3.5). + // Other parsing state flags (section 12.2.4.5). scripting, framesetOK bool + // The stack of template insertion modes + templateStack insertionModeStack // im is the current insertion mode. im insertionMode // originalIM is the insertion mode to go back to after completing a text // or inTableText insertion mode. originalIM insertionMode // fosterParenting is whether new elements should be inserted according to - // the foster parenting rules (section 12.2.5.3). + // the foster parenting rules (section 12.2.6.1). fosterParenting bool // quirks is whether the parser is operating in "quirks mode." quirks bool @@ -56,7 +58,7 @@ func (p *parser) top() *Node { return p.doc } -// Stop tags for use in popUntil. These come from section 12.2.3.2. +// Stop tags for use in popUntil. These come from section 12.2.4.2. var ( defaultScopeStopTags = map[string][]a.Atom{ "": {a.Applet, a.Caption, a.Html, a.Table, a.Td, a.Th, a.Marquee, a.Object, a.Template}, @@ -79,7 +81,7 @@ const ( // popUntil pops the stack of open elements at the highest element whose tag // is in matchTags, provided there is no higher element in the scope's stop -// tags (as defined in section 12.2.3.2). It returns whether or not there was +// tags (as defined in section 12.2.4.2). It returns whether or not there was // such an element. If there was not, popUntil leaves the stack unchanged. // // For example, the set of stop tags for table scope is: "html", "table". If @@ -126,7 +128,7 @@ func (p *parser) indexOfElementInScope(s scope, matchTags ...a.Atom) int { return -1 } case tableScope: - if tagAtom == a.Html || tagAtom == a.Table { + if tagAtom == a.Html || tagAtom == a.Table || tagAtom == a.Template { return -1 } case selectScope: @@ -162,17 +164,17 @@ func (p *parser) clearStackToContext(s scope) { tagAtom := p.oe[i].DataAtom switch s { case tableScope: - if tagAtom == a.Html || tagAtom == a.Table { + if tagAtom == a.Html || tagAtom == a.Table || tagAtom == a.Template { p.oe = p.oe[:i+1] return } case tableRowScope: - if tagAtom == a.Html || tagAtom == a.Tr { + if tagAtom == a.Html || tagAtom == a.Tr || tagAtom == a.Template { p.oe = p.oe[:i+1] return } case tableBodyScope: - if tagAtom == a.Html || tagAtom == a.Tbody || tagAtom == a.Tfoot || tagAtom == a.Thead { + if tagAtom == a.Html || tagAtom == a.Tbody || tagAtom == a.Tfoot || tagAtom == a.Thead || tagAtom == a.Template { p.oe = p.oe[:i+1] return } @@ -182,24 +184,36 @@ func (p *parser) clearStackToContext(s scope) { } } +// parseGenericRawTextElements implements the generic raw text element parsing +// algorithm defined in 12.2.6.2. +// https://html.spec.whatwg.org/multipage/parsing.html#parsing-elements-that-contain-only-text +// TODO: Since both RAWTEXT and RCDATA states are treated as tokenizer's part +// officially, need to make tokenizer consider both states. +func (p *parser) parseGenericRawTextElement() { + p.addElement() + p.originalIM = p.im + p.im = textIM +} + // generateImpliedEndTags pops nodes off the stack of open elements as long as -// the top node has a tag name of dd, dt, li, option, optgroup, p, rp, or rt. +// the top node has a tag name of dd, dt, li, optgroup, option, p, rb, rp, rt or rtc. // If exceptions are specified, nodes with that name will not be popped off. func (p *parser) generateImpliedEndTags(exceptions ...string) { var i int loop: for i = len(p.oe) - 1; i >= 0; i-- { n := p.oe[i] - if n.Type == ElementNode { - switch n.DataAtom { - case a.Dd, a.Dt, a.Li, a.Option, a.Optgroup, a.P, a.Rp, a.Rt: - for _, except := range exceptions { - if n.Data == except { - break loop - } + if n.Type != ElementNode { + break + } + switch n.DataAtom { + case a.Dd, a.Dt, a.Li, a.Optgroup, a.Option, a.P, a.Rb, a.Rp, a.Rt, a.Rtc: + for _, except := range exceptions { + if n.Data == except { + break loop } - continue } + continue } break } @@ -234,9 +248,9 @@ func (p *parser) shouldFosterParent() bool { } // fosterParent adds a child node according to the foster parenting rules. -// Section 12.2.5.3, "foster parenting". +// Section 12.2.6.1, "foster parenting". func (p *parser) fosterParent(n *Node) { - var table, parent, prev *Node + var table, parent, prev, template *Node var i int for i = len(p.oe) - 1; i >= 0; i-- { if p.oe[i].DataAtom == a.Table { @@ -245,6 +259,19 @@ func (p *parser) fosterParent(n *Node) { } } + var j int + for j = len(p.oe) - 1; j >= 0; j-- { + if p.oe[j].DataAtom == a.Template { + template = p.oe[j] + break + } + } + + if template != nil && (table == nil || j > i) { + template.AppendChild(n) + return + } + if table == nil { // The foster parent is the html element. parent = p.oe[0] @@ -304,7 +331,7 @@ func (p *parser) addElement() { }) } -// Section 12.2.3.3. +// Section 12.2.4.3. func (p *parser) addFormattingElement() { tagAtom, attr := p.tok.DataAtom, p.tok.Attr p.addElement() @@ -351,17 +378,16 @@ findIdenticalElements: p.afe = append(p.afe, p.top()) } -// Section 12.2.3.3. +// Section 12.2.4.3. func (p *parser) clearActiveFormattingElements() { for { - n := p.afe.pop() - if len(p.afe) == 0 || n.Type == scopeMarkerNode { + if n := p.afe.pop(); len(p.afe) == 0 || n.Type == scopeMarkerNode { return } } } -// Section 12.2.3.3. +// Section 12.2.4.3. func (p *parser) reconstructActiveFormattingElements() { n := p.afe.top() if n == nil { @@ -390,12 +416,12 @@ func (p *parser) reconstructActiveFormattingElements() { } } -// Section 12.2.4. +// Section 12.2.5. func (p *parser) acknowledgeSelfClosingTag() { p.hasSelfClosingToken = false } -// An insertion mode (section 12.2.3.1) is the state transition function from +// An insertion mode (section 12.2.4.1) is the state transition function from // a particular state in the HTML5 parser's state machine. It updates the // parser's fields depending on parser.tok (where ErrorToken means EOF). // It returns whether the token was consumed. @@ -403,7 +429,7 @@ type insertionMode func(*parser) bool // setOriginalIM sets the insertion mode to return to after completing a text or // inTableText insertion mode. -// Section 12.2.3.1, "using the rules for". +// Section 12.2.4.1, "using the rules for". func (p *parser) setOriginalIM() { if p.originalIM != nil { panic("html: bad parser state: originalIM was set twice") @@ -411,18 +437,35 @@ func (p *parser) setOriginalIM() { p.originalIM = p.im } -// Section 12.2.3.1, "reset the insertion mode". +// Section 12.2.4.1, "reset the insertion mode". func (p *parser) resetInsertionMode() { for i := len(p.oe) - 1; i >= 0; i-- { n := p.oe[i] - if i == 0 && p.context != nil { + last := i == 0 + if last && p.context != nil { n = p.context } switch n.DataAtom { case a.Select: + if !last { + for ancestor, first := n, p.oe[0]; ancestor != first; { + ancestor = p.oe[p.oe.index(ancestor)-1] + switch ancestor.DataAtom { + case a.Template: + p.im = inSelectIM + return + case a.Table: + p.im = inSelectInTableIM + return + } + } + } p.im = inSelectIM case a.Td, a.Th: + // TODO: remove this divergence from the HTML5 spec. + // + // See https://bugs.chromium.org/p/chromium/issues/detail?id=829668 p.im = inCellIM case a.Tr: p.im = inRowIM @@ -434,25 +477,41 @@ func (p *parser) resetInsertionMode() { p.im = inColumnGroupIM case a.Table: p.im = inTableIM + case a.Template: + // TODO: remove this divergence from the HTML5 spec. + if n.Namespace != "" { + continue + } + p.im = p.templateStack.top() case a.Head: - p.im = inBodyIM + // TODO: remove this divergence from the HTML5 spec. + // + // See https://bugs.chromium.org/p/chromium/issues/detail?id=829668 + p.im = inHeadIM case a.Body: p.im = inBodyIM case a.Frameset: p.im = inFramesetIM case a.Html: - p.im = beforeHeadIM + if p.head == nil { + p.im = beforeHeadIM + } else { + p.im = afterHeadIM + } default: + if last { + p.im = inBodyIM + return + } continue } return } - p.im = inBodyIM } const whitespace = " \t\r\n\f" -// Section 12.2.5.4.1. +// Section 12.2.6.4.1. func initialIM(p *parser) bool { switch p.tok.Type { case TextToken: @@ -479,7 +538,7 @@ func initialIM(p *parser) bool { return false } -// Section 12.2.5.4.2. +// Section 12.2.6.4.2. func beforeHTMLIM(p *parser) bool { switch p.tok.Type { case DoctypeToken: @@ -517,7 +576,7 @@ func beforeHTMLIM(p *parser) bool { return false } -// Section 12.2.5.4.3. +// Section 12.2.6.4.3. func beforeHeadIM(p *parser) bool { switch p.tok.Type { case TextToken: @@ -560,7 +619,7 @@ func beforeHeadIM(p *parser) bool { return false } -// Section 12.2.5.4.4. +// Section 12.2.6.4.4. func inHeadIM(p *parser) bool { switch p.tok.Type { case TextToken: @@ -577,32 +636,67 @@ func inHeadIM(p *parser) bool { switch p.tok.DataAtom { case a.Html: return inBodyIM(p) - case a.Base, a.Basefont, a.Bgsound, a.Command, a.Link, a.Meta: + case a.Base, a.Basefont, a.Bgsound, a.Link, a.Meta: p.addElement() p.oe.pop() p.acknowledgeSelfClosingTag() return true - case a.Script, a.Title, a.Noscript, a.Noframes, a.Style: + case a.Noscript: + if p.scripting { + p.parseGenericRawTextElement() + return true + } + p.addElement() + p.im = inHeadNoscriptIM + // Don't let the tokenizer go into raw text mode when scripting is disabled. + p.tokenizer.NextIsNotRawText() + return true + case a.Script, a.Title: p.addElement() p.setOriginalIM() p.im = textIM return true + case a.Noframes, a.Style: + p.parseGenericRawTextElement() + return true case a.Head: // Ignore the token. return true + case a.Template: + p.addElement() + p.afe = append(p.afe, &scopeMarker) + p.framesetOK = false + p.im = inTemplateIM + p.templateStack = append(p.templateStack, inTemplateIM) + return true } case EndTagToken: switch p.tok.DataAtom { case a.Head: - n := p.oe.pop() - if n.DataAtom != a.Head { - panic("html: bad parser state: element not found, in the in-head insertion mode") - } + p.oe.pop() p.im = afterHeadIM return true case a.Body, a.Html, a.Br: p.parseImpliedToken(EndTagToken, a.Head, a.Head.String()) return false + case a.Template: + if !p.oe.contains(a.Template) { + return true + } + // TODO: remove this divergence from the HTML5 spec. + // + // See https://bugs.chromium.org/p/chromium/issues/detail?id=829668 + p.generateImpliedEndTags() + for i := len(p.oe) - 1; i >= 0; i-- { + if n := p.oe[i]; n.Namespace == "" && n.DataAtom == a.Template { + p.oe = p.oe[:i] + break + } + } + p.clearActiveFormattingElements() + p.templateStack.pop() + p.resetInsertionMode() + return true default: // Ignore the token. return true @@ -622,7 +716,50 @@ func inHeadIM(p *parser) bool { return false } -// Section 12.2.5.4.6. +// 12.2.6.4.5. +func inHeadNoscriptIM(p *parser) bool { + switch p.tok.Type { + case DoctypeToken: + // Ignore the token. + return true + case StartTagToken: + switch p.tok.DataAtom { + case a.Html: + return inBodyIM(p) + case a.Basefont, a.Bgsound, a.Link, a.Meta, a.Noframes, a.Style: + return inHeadIM(p) + case a.Head, a.Noscript: + // Ignore the token. + return true + } + case EndTagToken: + switch p.tok.DataAtom { + case a.Noscript, a.Br: + default: + // Ignore the token. + return true + } + case TextToken: + s := strings.TrimLeft(p.tok.Data, whitespace) + if len(s) == 0 { + // It was all whitespace. + return inHeadIM(p) + } + case CommentToken: + return inHeadIM(p) + } + p.oe.pop() + if p.top().DataAtom != a.Head { + panic("html: the new current node will be a head element.") + } + p.im = inHeadIM + if p.tok.DataAtom == a.Noscript { + return true + } + return false +} + +// Section 12.2.6.4.6. func afterHeadIM(p *parser) bool { switch p.tok.Type { case TextToken: @@ -648,7 +785,7 @@ func afterHeadIM(p *parser) bool { p.addElement() p.im = inFramesetIM return true - case a.Base, a.Basefont, a.Bgsound, a.Link, a.Meta, a.Noframes, a.Script, a.Style, a.Title: + case a.Base, a.Basefont, a.Bgsound, a.Link, a.Meta, a.Noframes, a.Script, a.Style, a.Template, a.Title: p.oe = append(p.oe, p.head) defer p.oe.remove(p.head) return inHeadIM(p) @@ -660,6 +797,8 @@ func afterHeadIM(p *parser) bool { switch p.tok.DataAtom { case a.Body, a.Html, a.Br: // Drop down to creating an implied tag. + case a.Template: + return inHeadIM(p) default: // Ignore the token. return true @@ -697,7 +836,7 @@ func copyAttributes(dst *Node, src Token) { } } -// Section 12.2.5.4.7. +// Section 12.2.6.4.7. func inBodyIM(p *parser) bool { switch p.tok.Type { case TextToken: @@ -727,10 +866,16 @@ func inBodyIM(p *parser) bool { case StartTagToken: switch p.tok.DataAtom { case a.Html: + if p.oe.contains(a.Template) { + return true + } copyAttributes(p.oe[0], p.tok) - case a.Base, a.Basefont, a.Bgsound, a.Command, a.Link, a.Meta, a.Noframes, a.Script, a.Style, a.Title: + case a.Base, a.Basefont, a.Bgsound, a.Link, a.Meta, a.Noframes, a.Script, a.Style, a.Template, a.Title: return inHeadIM(p) case a.Body: + if p.oe.contains(a.Template) { + return true + } if len(p.oe) >= 2 { body := p.oe[1] if body.Type == ElementNode && body.DataAtom == a.Body { @@ -751,7 +896,7 @@ func inBodyIM(p *parser) bool { p.addElement() p.im = inFramesetIM return true - case a.Address, a.Article, a.Aside, a.Blockquote, a.Center, a.Details, a.Dir, a.Div, a.Dl, a.Fieldset, a.Figcaption, a.Figure, a.Footer, a.Header, a.Hgroup, a.Menu, a.Nav, a.Ol, a.P, a.Section, a.Summary, a.Ul: + case a.Address, a.Article, a.Aside, a.Blockquote, a.Center, a.Details, a.Dialog, a.Dir, a.Div, a.Dl, a.Fieldset, a.Figcaption, a.Figure, a.Footer, a.Header, a.Hgroup, a.Main, a.Menu, a.Nav, a.Ol, a.P, a.Section, a.Summary, a.Ul: p.popUntil(buttonScope, a.P) p.addElement() case a.H1, a.H2, a.H3, a.H4, a.H5, a.H6: @@ -767,9 +912,13 @@ func inBodyIM(p *parser) bool { // The newline, if any, will be dealt with by the TextToken case. p.framesetOK = false case a.Form: - if p.form == nil { - p.popUntil(buttonScope, a.P) - p.addElement() + if p.form != nil && !p.oe.contains(a.Template) { + // Ignore the token + return true + } + p.popUntil(buttonScope, a.P) + p.addElement() + if !p.oe.contains(a.Template) { p.form = p.top() } case a.Li: @@ -819,7 +968,7 @@ func inBodyIM(p *parser) bool { case a.A: for i := len(p.afe) - 1; i >= 0 && p.afe[i].Type != scopeMarkerNode; i-- { if n := p.afe[i]; n.Type == ElementNode && n.DataAtom == a.A { - p.inBodyEndTagFormatting(a.A) + p.inBodyEndTagFormatting(a.A, "a") p.oe.remove(n) p.afe.remove(n) break @@ -833,7 +982,7 @@ func inBodyIM(p *parser) bool { case a.Nobr: p.reconstructActiveFormattingElements() if p.elementInScope(defaultScope, a.Nobr) { - p.inBodyEndTagFormatting(a.Nobr) + p.inBodyEndTagFormatting(a.Nobr, "nobr") p.reconstructActiveFormattingElements() } p.addFormattingElement() @@ -880,45 +1029,6 @@ func inBodyIM(p *parser) bool { p.tok.DataAtom = a.Img p.tok.Data = a.Img.String() return false - case a.Isindex: - if p.form != nil { - // Ignore the token. - return true - } - action := "" - prompt := "This is a searchable index. Enter search keywords: " - attr := []Attribute{{Key: "name", Val: "isindex"}} - for _, t := range p.tok.Attr { - switch t.Key { - case "action": - action = t.Val - case "name": - // Ignore the attribute. - case "prompt": - prompt = t.Val - default: - attr = append(attr, t) - } - } - p.acknowledgeSelfClosingTag() - p.popUntil(buttonScope, a.P) - p.parseImpliedToken(StartTagToken, a.Form, a.Form.String()) - if action != "" { - p.form.Attr = []Attribute{{Key: "action", Val: action}} - } - p.parseImpliedToken(StartTagToken, a.Hr, a.Hr.String()) - p.parseImpliedToken(StartTagToken, a.Label, a.Label.String()) - p.addText(prompt) - p.addChild(&Node{ - Type: ElementNode, - DataAtom: a.Input, - Data: a.Input.String(), - Attr: attr, - }) - p.oe.pop() - p.parseImpliedToken(EndTagToken, a.Label, a.Label.String()) - p.parseImpliedToken(StartTagToken, a.Hr, a.Hr.String()) - p.parseImpliedToken(EndTagToken, a.Form, a.Form.String()) case a.Textarea: p.addElement() p.setOriginalIM() @@ -928,18 +1038,21 @@ func inBodyIM(p *parser) bool { p.popUntil(buttonScope, a.P) p.reconstructActiveFormattingElements() p.framesetOK = false - p.addElement() - p.setOriginalIM() - p.im = textIM + p.parseGenericRawTextElement() case a.Iframe: p.framesetOK = false + p.parseGenericRawTextElement() + case a.Noembed: + p.parseGenericRawTextElement() + case a.Noscript: + if p.scripting { + p.parseGenericRawTextElement() + return true + } + p.reconstructActiveFormattingElements() p.addElement() - p.setOriginalIM() - p.im = textIM - case a.Noembed, a.Noscript: - p.addElement() - p.setOriginalIM() - p.im = textIM + // Don't let the tokenizer go into raw text mode when scripting is disabled. + p.tokenizer.NextIsNotRawText() case a.Select: p.reconstructActiveFormattingElements() p.addElement() @@ -952,11 +1065,16 @@ func inBodyIM(p *parser) bool { } p.reconstructActiveFormattingElements() p.addElement() - case a.Rp, a.Rt: + case a.Rb, a.Rtc: if p.elementInScope(defaultScope, a.Ruby) { p.generateImpliedEndTags() } p.addElement() + case a.Rp, a.Rt: + if p.elementInScope(defaultScope, a.Ruby) { + p.generateImpliedEndTags("rtc") + } + p.addElement() case a.Math, a.Svg: p.reconstructActiveFormattingElements() if p.tok.DataAtom == a.Math { @@ -990,18 +1108,32 @@ func inBodyIM(p *parser) bool { return false } return true - case a.Address, a.Article, a.Aside, a.Blockquote, a.Button, a.Center, a.Details, a.Dir, a.Div, a.Dl, a.Fieldset, a.Figcaption, a.Figure, a.Footer, a.Header, a.Hgroup, a.Listing, a.Menu, a.Nav, a.Ol, a.Pre, a.Section, a.Summary, a.Ul: + case a.Address, a.Article, a.Aside, a.Blockquote, a.Button, a.Center, a.Details, a.Dialog, a.Dir, a.Div, a.Dl, a.Fieldset, a.Figcaption, a.Figure, a.Footer, a.Header, a.Hgroup, a.Listing, a.Main, a.Menu, a.Nav, a.Ol, a.Pre, a.Section, a.Summary, a.Ul: p.popUntil(defaultScope, p.tok.DataAtom) case a.Form: - node := p.form - p.form = nil - i := p.indexOfElementInScope(defaultScope, a.Form) - if node == nil || i == -1 || p.oe[i] != node { - // Ignore the token. - return true + if p.oe.contains(a.Template) { + i := p.indexOfElementInScope(defaultScope, a.Form) + if i == -1 { + // Ignore the token. + return true + } + p.generateImpliedEndTags() + if p.oe[i].DataAtom != a.Form { + // Ignore the token. + return true + } + p.popUntil(defaultScope, a.Form) + } else { + node := p.form + p.form = nil + i := p.indexOfElementInScope(defaultScope, a.Form) + if node == nil || i == -1 || p.oe[i] != node { + // Ignore the token. + return true + } + p.generateImpliedEndTags() + p.oe.remove(node) } - p.generateImpliedEndTags() - p.oe.remove(node) case a.P: if !p.elementInScope(buttonScope, a.P) { p.parseImpliedToken(StartTagToken, a.P, a.P.String()) @@ -1014,7 +1146,7 @@ func inBodyIM(p *parser) bool { case a.H1, a.H2, a.H3, a.H4, a.H5, a.H6: p.popUntil(defaultScope, a.H1, a.H2, a.H3, a.H4, a.H5, a.H6) case a.A, a.B, a.Big, a.Code, a.Em, a.Font, a.I, a.Nobr, a.S, a.Small, a.Strike, a.Strong, a.Tt, a.U: - p.inBodyEndTagFormatting(p.tok.DataAtom) + p.inBodyEndTagFormatting(p.tok.DataAtom, p.tok.Data) case a.Applet, a.Marquee, a.Object: if p.popUntil(defaultScope, p.tok.DataAtom) { p.clearActiveFormattingElements() @@ -1022,20 +1154,36 @@ func inBodyIM(p *parser) bool { case a.Br: p.tok.Type = StartTagToken return false + case a.Template: + return inHeadIM(p) default: - p.inBodyEndTagOther(p.tok.DataAtom) + p.inBodyEndTagOther(p.tok.DataAtom, p.tok.Data) } case CommentToken: p.addChild(&Node{ Type: CommentNode, Data: p.tok.Data, }) + case ErrorToken: + // TODO: remove this divergence from the HTML5 spec. + if len(p.templateStack) > 0 { + p.im = inTemplateIM + return false + } + for _, e := range p.oe { + switch e.DataAtom { + case a.Dd, a.Dt, a.Li, a.Optgroup, a.Option, a.P, a.Rb, a.Rp, a.Rt, a.Rtc, a.Tbody, a.Td, a.Tfoot, a.Th, + a.Thead, a.Tr, a.Body, a.Html: + default: + return true + } + } } return true } -func (p *parser) inBodyEndTagFormatting(tagAtom a.Atom) { +func (p *parser) inBodyEndTagFormatting(tagAtom a.Atom, tagName string) { // This is the "adoption agency" algorithm, described at // https://html.spec.whatwg.org/multipage/syntax.html#adoptionAgency @@ -1043,9 +1191,15 @@ func (p *parser) inBodyEndTagFormatting(tagAtom a.Atom) { // Once the code successfully parses the comprehensive test suite, we should // refactor this code to be more idiomatic. - // Steps 1-4. The outer loop. + // Steps 1-2 + if current := p.oe.top(); current.Data == tagName && p.afe.index(current) == -1 { + p.oe.pop() + return + } + + // Steps 3-5. The outer loop. for i := 0; i < 8; i++ { - // Step 5. Find the formatting element. + // Step 6. Find the formatting element. var formattingElement *Node for j := len(p.afe) - 1; j >= 0; j-- { if p.afe[j].Type == scopeMarkerNode { @@ -1057,20 +1211,25 @@ func (p *parser) inBodyEndTagFormatting(tagAtom a.Atom) { } } if formattingElement == nil { - p.inBodyEndTagOther(tagAtom) + p.inBodyEndTagOther(tagAtom, tagName) return } + + // Step 7. Ignore the tag if formatting element is not in the stack of open elements. feIndex := p.oe.index(formattingElement) if feIndex == -1 { p.afe.remove(formattingElement) return } + // Step 8. Ignore the tag if formatting element is not in the scope. if !p.elementInScope(defaultScope, tagAtom) { // Ignore the tag. return } - // Steps 9-10. Find the furthest block. + // Step 9. This step is omitted because it's just a parse error but no need to return. + + // Steps 10-11. Find the furthest block. var furthestBlock *Node for _, e := range p.oe[feIndex:] { if isSpecialElement(e) { @@ -1087,47 +1246,65 @@ func (p *parser) inBodyEndTagFormatting(tagAtom a.Atom) { return } - // Steps 11-12. Find the common ancestor and bookmark node. + // Steps 12-13. Find the common ancestor and bookmark node. commonAncestor := p.oe[feIndex-1] bookmark := p.afe.index(formattingElement) - // Step 13. The inner loop. Find the lastNode to reparent. + // Step 14. The inner loop. Find the lastNode to reparent. lastNode := furthestBlock node := furthestBlock x := p.oe.index(node) - // Steps 13.1-13.2 - for j := 0; j < 3; j++ { - // Step 13.3. + // Step 14.1. + j := 0 + for { + // Step 14.2. + j++ + // Step. 14.3. x-- node = p.oe[x] - // Step 13.4 - 13.5. + // Step 14.4. Go to the next step if node is formatting element. + if node == formattingElement { + break + } + // Step 14.5. Remove node from the list of active formatting elements if + // inner loop counter is greater than three and node is in the list of + // active formatting elements. + if ni := p.afe.index(node); j > 3 && ni > -1 { + p.afe.remove(node) + // If any element of the list of active formatting elements is removed, + // we need to take care whether bookmark should be decremented or not. + // This is because the value of bookmark may exceed the size of the + // list by removing elements from the list. + if ni <= bookmark { + bookmark-- + } + continue + } + // Step 14.6. Continue the next inner loop if node is not in the list of + // active formatting elements. if p.afe.index(node) == -1 { p.oe.remove(node) continue } - // Step 13.6. - if node == formattingElement { - break - } - // Step 13.7. + // Step 14.7. clone := node.clone() p.afe[p.afe.index(node)] = clone p.oe[p.oe.index(node)] = clone node = clone - // Step 13.8. + // Step 14.8. if lastNode == furthestBlock { bookmark = p.afe.index(node) + 1 } - // Step 13.9. + // Step 14.9. if lastNode.Parent != nil { lastNode.Parent.RemoveChild(lastNode) } node.AppendChild(lastNode) - // Step 13.10. + // Step 14.10. lastNode = node } - // Step 14. Reparent lastNode to the common ancestor, + // Step 15. Reparent lastNode to the common ancestor, // or for misnested table nodes, to the foster parent. if lastNode.Parent != nil { lastNode.Parent.RemoveChild(lastNode) @@ -1139,13 +1316,13 @@ func (p *parser) inBodyEndTagFormatting(tagAtom a.Atom) { commonAncestor.AppendChild(lastNode) } - // Steps 15-17. Reparent nodes from the furthest block's children + // Steps 16-18. Reparent nodes from the furthest block's children // to a clone of the formatting element. clone := formattingElement.clone() reparentChildren(clone, furthestBlock) furthestBlock.AppendChild(clone) - // Step 18. Fix up the list of active formatting elements. + // Step 19. Fix up the list of active formatting elements. if oldLoc := p.afe.index(formattingElement); oldLoc != -1 && oldLoc < bookmark { // Move the bookmark with the rest of the list. bookmark-- @@ -1153,18 +1330,26 @@ func (p *parser) inBodyEndTagFormatting(tagAtom a.Atom) { p.afe.remove(formattingElement) p.afe.insert(bookmark, clone) - // Step 19. Fix up the stack of open elements. + // Step 20. Fix up the stack of open elements. p.oe.remove(formattingElement) p.oe.insert(p.oe.index(furthestBlock)+1, clone) } } // inBodyEndTagOther performs the "any other end tag" algorithm for inBodyIM. -// "Any other end tag" handling from 12.2.5.5 The rules for parsing tokens in foreign content +// "Any other end tag" handling from 12.2.6.5 The rules for parsing tokens in foreign content // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inforeign -func (p *parser) inBodyEndTagOther(tagAtom a.Atom) { +func (p *parser) inBodyEndTagOther(tagAtom a.Atom, tagName string) { for i := len(p.oe) - 1; i >= 0; i-- { - if p.oe[i].DataAtom == tagAtom { + // Two element nodes have the same tag if they have the same Data (a + // string-typed field). As an optimization, for common HTML tags, each + // Data string is assigned a unique, non-zero DataAtom (a uint32-typed + // field), since integer comparison is faster than string comparison. + // Uncommon (custom) tags get a zero DataAtom. + // + // The if condition here is equivalent to (p.oe[i].Data == tagName). + if (p.oe[i].DataAtom == tagAtom) && + ((tagAtom != 0) || (p.oe[i].Data == tagName)) { p.oe = p.oe[:i] break } @@ -1174,7 +1359,7 @@ func (p *parser) inBodyEndTagOther(tagAtom a.Atom) { } } -// Section 12.2.5.4.8. +// Section 12.2.6.4.8. func textIM(p *parser) bool { switch p.tok.Type { case ErrorToken: @@ -1203,12 +1388,9 @@ func textIM(p *parser) bool { return p.tok.Type == EndTagToken } -// Section 12.2.5.4.9. +// Section 12.2.6.4.9. func inTableIM(p *parser) bool { switch p.tok.Type { - case ErrorToken: - // Stop parsing. - return true case TextToken: p.tok.Data = strings.Replace(p.tok.Data, "\x00", "", -1) switch p.oe.top().DataAtom { @@ -1249,7 +1431,7 @@ func inTableIM(p *parser) bool { } // Ignore the token. return true - case a.Style, a.Script: + case a.Style, a.Script, a.Template: return inHeadIM(p) case a.Input: for _, t := range p.tok.Attr { @@ -1261,7 +1443,7 @@ func inTableIM(p *parser) bool { } // Otherwise drop down to the default action. case a.Form: - if p.form != nil { + if p.oe.contains(a.Template) || p.form != nil { // Ignore the token. return true } @@ -1291,6 +1473,8 @@ func inTableIM(p *parser) bool { case a.Body, a.Caption, a.Col, a.Colgroup, a.Html, a.Tbody, a.Td, a.Tfoot, a.Th, a.Thead, a.Tr: // Ignore the token. return true + case a.Template: + return inHeadIM(p) } case CommentToken: p.addChild(&Node{ @@ -1301,6 +1485,8 @@ func inTableIM(p *parser) bool { case DoctypeToken: // Ignore the token. return true + case ErrorToken: + return inBodyIM(p) } p.fosterParenting = true @@ -1309,20 +1495,19 @@ func inTableIM(p *parser) bool { return inBodyIM(p) } -// Section 12.2.5.4.11. +// Section 12.2.6.4.11. func inCaptionIM(p *parser) bool { switch p.tok.Type { case StartTagToken: switch p.tok.DataAtom { case a.Caption, a.Col, a.Colgroup, a.Tbody, a.Td, a.Tfoot, a.Thead, a.Tr: - if p.popUntil(tableScope, a.Caption) { - p.clearActiveFormattingElements() - p.im = inTableIM - return false - } else { + if !p.popUntil(tableScope, a.Caption) { // Ignore the token. return true } + p.clearActiveFormattingElements() + p.im = inTableIM + return false case a.Select: p.reconstructActiveFormattingElements() p.addElement() @@ -1339,14 +1524,13 @@ func inCaptionIM(p *parser) bool { } return true case a.Table: - if p.popUntil(tableScope, a.Caption) { - p.clearActiveFormattingElements() - p.im = inTableIM - return false - } else { + if !p.popUntil(tableScope, a.Caption) { // Ignore the token. return true } + p.clearActiveFormattingElements() + p.im = inTableIM + return false case a.Body, a.Col, a.Colgroup, a.Html, a.Tbody, a.Td, a.Tfoot, a.Th, a.Thead, a.Tr: // Ignore the token. return true @@ -1355,7 +1539,7 @@ func inCaptionIM(p *parser) bool { return inBodyIM(p) } -// Section 12.2.5.4.12. +// Section 12.2.6.4.12. func inColumnGroupIM(p *parser) bool { switch p.tok.Type { case TextToken: @@ -1386,11 +1570,13 @@ func inColumnGroupIM(p *parser) bool { p.oe.pop() p.acknowledgeSelfClosingTag() return true + case a.Template: + return inHeadIM(p) } case EndTagToken: switch p.tok.DataAtom { case a.Colgroup: - if p.oe.top().DataAtom != a.Html { + if p.oe.top().DataAtom == a.Colgroup { p.oe.pop() p.im = inTableIM } @@ -1398,17 +1584,21 @@ func inColumnGroupIM(p *parser) bool { case a.Col: // Ignore the token. return true + case a.Template: + return inHeadIM(p) } + case ErrorToken: + return inBodyIM(p) } - if p.oe.top().DataAtom != a.Html { - p.oe.pop() - p.im = inTableIM - return false + if p.oe.top().DataAtom != a.Colgroup { + return true } - return true + p.oe.pop() + p.im = inTableIM + return false } -// Section 12.2.5.4.13. +// Section 12.2.6.4.13. func inTableBodyIM(p *parser) bool { switch p.tok.Type { case StartTagToken: @@ -1460,7 +1650,7 @@ func inTableBodyIM(p *parser) bool { return inTableIM(p) } -// Section 12.2.5.4.14. +// Section 12.2.6.4.14. func inRowIM(p *parser) bool { switch p.tok.Type { case StartTagToken: @@ -1511,7 +1701,7 @@ func inRowIM(p *parser) bool { return inTableIM(p) } -// Section 12.2.5.4.15. +// Section 12.2.6.4.15. func inCellIM(p *parser) bool { switch p.tok.Type { case StartTagToken: @@ -1551,8 +1741,9 @@ func inCellIM(p *parser) bool { return true } // Close the cell and reprocess. - p.popUntil(tableScope, a.Td, a.Th) - p.clearActiveFormattingElements() + if p.popUntil(tableScope, a.Td, a.Th) { + p.clearActiveFormattingElements() + } p.im = inRowIM return false } @@ -1560,12 +1751,9 @@ func inCellIM(p *parser) bool { return inBodyIM(p) } -// Section 12.2.5.4.16. +// Section 12.2.6.4.16. func inSelectIM(p *parser) bool { switch p.tok.Type { - case ErrorToken: - // Stop parsing. - return true case TextToken: p.addText(strings.Replace(p.tok.Data, "\x00", "", -1)) case StartTagToken: @@ -1586,8 +1774,11 @@ func inSelectIM(p *parser) bool { } p.addElement() case a.Select: - p.tok.Type = EndTagToken - return false + if !p.popUntil(selectScope, a.Select) { + // Ignore the token. + return true + } + p.resetInsertionMode() case a.Input, a.Keygen, a.Textarea: if p.elementInScope(selectScope, a.Select) { p.parseImpliedToken(EndTagToken, a.Select, a.Select.String()) @@ -1597,7 +1788,7 @@ func inSelectIM(p *parser) bool { p.tokenizer.NextIsNotRawText() // Ignore the token. return true - case a.Script: + case a.Script, a.Template: return inHeadIM(p) } case EndTagToken: @@ -1615,9 +1806,13 @@ func inSelectIM(p *parser) bool { p.oe = p.oe[:i] } case a.Select: - if p.popUntil(selectScope, a.Select) { - p.resetInsertionMode() + if !p.popUntil(selectScope, a.Select) { + // Ignore the token. + return true } + p.resetInsertionMode() + case a.Template: + return inHeadIM(p) } case CommentToken: p.addChild(&Node{ @@ -1627,30 +1822,107 @@ func inSelectIM(p *parser) bool { case DoctypeToken: // Ignore the token. return true + case ErrorToken: + return inBodyIM(p) } return true } -// Section 12.2.5.4.17. +// Section 12.2.6.4.17. func inSelectInTableIM(p *parser) bool { switch p.tok.Type { case StartTagToken, EndTagToken: switch p.tok.DataAtom { case a.Caption, a.Table, a.Tbody, a.Tfoot, a.Thead, a.Tr, a.Td, a.Th: - if p.tok.Type == StartTagToken || p.elementInScope(tableScope, p.tok.DataAtom) { - p.parseImpliedToken(EndTagToken, a.Select, a.Select.String()) - return false - } else { + if p.tok.Type == EndTagToken && !p.elementInScope(tableScope, p.tok.DataAtom) { // Ignore the token. return true } + // This is like p.popUntil(selectScope, a.Select), but it also + // matches , not just M zmrI0#+Iy@M-s^?N%{ahm&X}}2Vd{otd3;=TRi7^?Ept%Ys(@N%bwH>!)NJ|orE>3K zS8!EyNKh(;(6e}AHEzq&h~S&IYy&g-So#RQ_?Qb+l%Ip+xf zL9v&hSl|fu2^ql0wKj%=*w5P2`+kebul@2TpMtJ#kUPDt+;p9BCAAC%i>(H6I*YFz z!B|-p56_CFsrU6xvsen|Wl7@>)f&^vW?DVUP?#4kj-tQ#39I^PVAFuH&Q|)`xfGUc zgfGq~ObJs_{=AfqAWC1ot80G#%K^AqJ7G8Ptv;Xev3O1&Vb-~H9uYh1Oh|8xG=&1` zh`y>g8e#FkSVJB`O@hhx{y-%+8p|;M=$sBrgJ?U31j2U_#~rDpUd{m{y3JOf#^^;jfI-2?7I3;;4^!oBG&%QrPUwV zdbIlIje6lphStk=5Ff#9{5B2o$4StbB+_>oDraR+71>Q^)`bb8KL)5+T z5u~NvLlb)Vc&Qc653b(LuK0qQ>d{kabw*P?udMAXEv|T?!_Ty}RSgkITN=NE4WfAu zCX2}~59eT7cvU|)@*5ImlI9q{!S;g!x)^9}hW^W+hRlok81gRJ8+PIen{#MdY4F9x} zK+p)V6w?95bz;?fGB2|JZluY6X2}hF@uQ}IGcek?Bbfynzz1N3uYDvHaM%tchMBeHkx?8OmVW+CoonrFMjN19Kj&kffPVGc`>7 z4m?x(7@C^G8U41gTe~WHpfuTd=m}VqAa>zhO|@ehV~Bv}e=)j?^~` zhOFU&aSG(qxe+GwWIL}B(BEaIJ$>v2dFyvc`-%g8aofjHyuVnbvHYqApbeeHz>L$@ z(z3(nYB^lnt_4;`P&2G(K>CZ4loOc8#>|zV-VG()r3;myQl6{JXM6j{+@t**#TB}I z*hc|DfBC0kR{R63FeW%@x@grdjaBA0mg|+i(hAH!{$0DX*3H&K*!A8~vb#scC6FZ;W<_Ocz$p`r?>o9Gpi1x5^hDCl<^eL<#UIruXQJh5~d2{GErleo89 zcI3YsVWrosn#;sOqfh~PG{H5^PG2ezDM3mJtsFLC9+*vrgrR{Z`g-c2E^%R1V}_=p zj?V`_&GLH{V9M+r=a0JOB@zzCRvo3p^ijhHlFYD{?POt{ud4$Oq zyD4{|O{BC1}NtyG#wWNuMjc8{ng}xMXi6Yc{7|Ctl~`QZGVHJ#2LejD{_) zTPrJL>T$AT>W1<7Hg*VDQ1}q3O05FZvMtNjRF; zacVtK62Ru1&ycUXcOP8lwyMKdmatXwiaMf3$cy)%wak z;vX!#>7U?ip7oIeiQ47jn>}}a)}1_+Hes=u4hd%~2%DHB@VKQjY4{Qe@J+2&I|Q(} zyz_G|lFM%3pqq}P%)cmblzOEIegUkdxo~q}P`D`yd>yQSp31Iy#9_#PVHe-1Rh>tK z(pvs(w596hoHgU3O8jj0XB*NlkXOpp_Xz{1Uo`Oj74Ob_8se^c>wUcN{0@?FNe%5j zX7z@|Cy;u0fo|Vlm%_{+#GBfEzBHmyQyN^c+bX?mP(~zJC@M&BICl7%yB583Zl%l(GJ{Rh4wv zfAiOZcInUQ&OX-);4|pA613g=&8)>p5{W1)vlSH=4~H&!XB!|A6I#+TU#yC7Ka`8? z&Q)}zbC2!}_dbvc`4Fq-3_O0%cs>0&5RFErt4+u4P1P1>2CLMeadR0)?10X~e)wYR zR4`Ye9f6ms2bxt~&FTki!7g+=deKIX4cA`D_&&w3Yk;`(R{pvskk*Fgi;x9QoxYIH zc`g8FysgT^$H_zfo@RDua(I(@q=7N105LxERIdC&?<(!1_HDqeR^XtH#fQgWlmUFP z_JG&PQ+JI!T#jy9HJ3+B#T03!d_VEF_qKvP8n3;@e2`3;mLW;Y+Cf)Ib{$cPYHU{I zDUha(UR2SDyu5cQ{>8qh$`J${mSz&|#Gw032$t{HKiXCo=3iLp0d9mef#P+%%%HjA z>z_aC)@v7RJ8$3ME9k05y7Sx0t>d9@Y?(+A2vib}q%z|Kczy@Q4X5PIBlp-1vbdpX zDxx9i@laUl%I?7cZpC%b*qc@TDVLYOZ~`AhbavpJ7Is&TS|0JympmN!pOPOC4n0f- zIj4?}%kpwGuq5p>3NGdcZq2RQimX2ZKLLYd9`?|K*Y+h*BzIC-*>kJ1&j_&+o6mk+ z2k%bQd_TCnD2Nij4s!PlCl{X8BOH6^NbzdPt;ijcuwV-<=<+oBfT$a+4~fBz1zfdL z;n!}g5SMlr6PLD6xLklUo)0J?$e07l@bU2#m6Zd|Mumuln(q;v4<~Y4uFmOzBUn%X z#_qQX-<|t?QtY#N%t7@;8|^UT_-rOMT%=QaSogyAV2c>@`zs3E-{EszI)hb=alEb+`8k~@NOM@MlT#)p0}Yz z-7^#d&7Gy`JN>1}KTz(5-yoUtsr7rpo6c>kvW8c6i;hT@4FpBB#Y0;S-b8!WM4gvE z!kj4Ibgp%JCeINj$_I*QQ5cxz{!sUaG+%+uEuOrs6teHC_Vqj_*+tK+3t(FInT_x0=28;e;lh3$h8*zfysm z#4+q9Kb%P1pKOUI*BJ+Jlnza3tP5INump8EwOw-PTs`^DEn9!I0geDz0`%SfZvS7U z#@rH*OjiJP#lchuEYfjgI8#^glP_Tn#}uS{o!QhaO`9Pzx(b;%Oc|LF@}u&l7ON(P z^A+y(w}5N8+aOC(yyF2?ngMMon;>rjfAkeWwva4kH-i~clo)Ds=j%juh!MxTQoHMY z0{*jU@ROymGpp#wT2L5xp{7Qz;-T85K+#9py2-B1_8JOB8@9FZ=CEWWu+z3B8<;5V z>g}5BV(?v9;H)WW|B%5xzkwXbBj|mDZ=v6XRcg*CK(`8|!7Sv~a)RaO z^Wz|LH-u5MvlKSboVYK^!XB!0x;x~EtplGQ!kl^lYz6eprVcU?~)>()>zbcQWu_>m^Ibq&mX>b++ zKQoOiD|t4X^drmWN|JYrNv7+K=N%jG7r{HF(EB;ysl8$bhFx3gZAV{j9Xp|eGQ1R6 z*9YnG`2P7&`dMg$D=mOa-NM3_Q)WchV=LkM(L_j?KgN92{3ZcHC%$=u`Sv$89?}1! zMnWj?6RM*2z<}Gb16=FX!%+%)E9TbL_NX&u^uQ^39&wY99G^34gwDt6pJxEM7w#lB=d!yiNjySQ>tj6Uct4LR4Q);>D z(ZHpKWk=l7V~z7rbGbHeJ(70cz+M@ZJQ;hO#$xJTbB)(hsYIkK&Bu>gixB}E`or;=nBndDr15N89?Wz$yCyBA zU1m`mEAd3wyL?L|YSSb|rKy6+s96*t?ky4wMA*$!*nMdWJxOClQBHi6qeVBE=j#wk zo3g_!yCGOsp0K8N$*AWSp@=tLyRmue37e-^sv`#Dq8-sEnyQ-5>FU@w^8AK6_lZkI zO=v$P8xjDgt;}bmV#rXwy+9ERe7F?K5?Fa*_l;Fjzq<_d#}8rq=ejrHZ-DM~K~mA- z`i}vF_MLCIvKr@4@0dZzpSz}5KEtg~pi5*atKy~-cJ8mfYkpvFy^%xXzt5XGwHr!zL9hfa?i|$)CKY)wLjVjD%>LG6*jH)9*@xxujRFk`0G(uuPioywbcI! z;F_<>%s4?5>Eg`24Tf)ZJ~p`DED-}>BUR?X1HW49CuLQ5e3zQ|xj(&qflTk-+KLX#9XP60}^f&W3L@*Vs0FUIr6Rn z(cQ9bC`Qlk4x~CA);0~dL3Wh+wSeQK{0Sc{#AV(n%C*d7WLZw_HjT8=>*4`Q(%r3R z)OrP(=jsX5VfS0h?r3fNp?CTkfoV^iNQaXT!u^zMKRJ1rYL?_bM}pT8$6PszfF?DR z#MLOij|rWqY@m<+j5o!BJ{-;a06}4%6v@lg<9&cHG~94%tyJ@L#tL75mhhm2R|?0L z(R|V2pJp0vo&AB5Ft}~l{hgQxZD{_AW@uWbJANbs?unq`VNPx?Y(MCETf-LCJE5cd zOK&D?bcb3<{tc$oZ&ffacK@TeZ2NBkWYde_on9f3Go#5CzMqePuj7=e?Y1OiCKoJ3 zMxG$DOr9WYT4$Njg4}Qf?T#wq;V6J@U&}z-OtZckP`zF?6~z{U#mb9vAco{BhIGzQ z?Y~fy8iw(BJpf)jzs5ffC2ki}78qjU!p9H@Gcm4C*vtMA5VhM{SUZEUFNr|c9iE#6 zV)$p?8aLg&UJ_cyVVkLd#n{kWv@4T?Vp&{6`mG3Q_^C1Px?3Vp|s{r>B<9glCCQ*R4;slPz@od zGhlUY*QhDJCmX?tQUm17dbaea0J%Db5|miX_6}=Q#f2DT!MOSgmj#o$)n+!J_!X%^8PKkk)HlTkH*oMPqG5$NYQC;HIU^yD=B)dB;R zquQQRbe2r|k^LUbf*Ng1j#?tuX8;3YnsDK0kX(!%gI}(=5xG0x!SJqgrHEMqn zxjhT(`tpH>W-uAbZU95%SB-K@B(#cTizq!cwO}5n?e(v9rW<{sk~yWNrQeT`$drfr z(7fb8AM`VSGtC#A^S^c6PqM9~>#l$bCAG)1&(W*Rdy~WcODeQMI;GEy!fq>-dsjCD z?u;bE4PA*iHcDL=T?65k>Y@g|>!1v?z3_cPNsxCL`!dhcH~qmp&Q^+?WdLW-Q-QwX zYkv0=oe~25$|5A(_5qu7=19Rzuz-3hjck_cYoKe`Tq@`;q;4q_91pB6h(Zc$4aJ`E z^+C%c_&$1G{*kG``r&7rx8+p-3Cu~RFo5oCqu?zsT5GZX94Vl znQzZf|3-sCfj!E9>Wm&`?nS!@%|oso9zAwE)+JjFQdRXm*FSLgQ~7@LI9OU%@>N>a zES1?_ue=6)+vx|K8;QvGM2F=TKT@hO(PsUA(Hh0B`)_(dA}~$olLut3cPj6 ztRkw~?()@ice36{`a54P)t569{5LeQ;{vwv*+ z%BtfTbEOFK2*Njdx0DZ$BZ#S80avL_r=T*C;Vh3&d^*BqtqPBh2s3A`C zsT|z{`y;r~$Wxf+Bb!5c#l=PCHVd5T9zD4AJEeRJXS$9hkhV_R&_6Y>Z{a=vRKI^5 zja@Du8j)vo2?!zfM#a{5j)7+J>4Utp-%snnU=wjY*B5YP*3xo1B(IGBOj?sg%k{-I z=h8!97QHUjSQ=RuWi-X=aR_zJNyLq6P_<|F68$k-eyR{vZQ)aqqH0W6L<8ONg5S_3 zaWEFQv1~<&1_JHZ$Vu$2&!kt`k!UKxZZc2+s{Yf~wx>sDFRb`H&Ge3eUrrQFk-k>f zN%-vISYXdIKP4g5Ky{k|!Ce$|@A^Ow3{$(@P@60^v>x*E)DuQt-~!`ZlqiJQ z!I(OL!XF0M6Y7pgAM%Gp{%tc8FaB64ZwUh6x;*ezVq^P~+j6K3(*x)F$xEfeFFXiK zse>E-Mv|+|pF>jDCEHJCKc3Rl-%DVmrZtcb4>Z2o>AuI=ywY1pwXrbBS@uUly2}10ydVGxBkc zVvizcj;Jw*&l)PCWROe}xF6UPRl@E(HZIwHPm=16rzNcvRX?$7v%MT4r_` z=mxoKE&2Y!U9u|_sCHJI_`6=IzHLhBuaeG$nG|0H<}`kPQ~I>U)DymuZy5G3t z5>U=6G?Kyo(n9&3dTLkHO`p^fJdZ`1o`3DLJ#{GUsvVU@ngDnDDOvrB)Eb#^3#ar) z(>88qC$pgZddSri{%BhZx#vXNSCe*KvK&5}P%`mLO+~#APNM?Y*gE!t5)n8bH29ad zr*3yYi`QRW`F&fuT8s=1e&wPc=05d;+P0t--E^;|(e<0p3J)?NZCu|rqVV@?_$W+) zA6ms_6{AW5%%3*pFUBCTRZ5$tAle6(=%S@U469}f{)tJjIeK*u6h{0S_<*oxWx%a3+&dHs4HFUs21_rb8iBtLvFs@SDmSEgtYmU znxhL!_isYb#8l1>6q-@IIX%zK?+>H+n4y*POC}c!KTZz4j==q~6dG-|E%np9jm|$K zL|(vwH~V6Cr(2qu4%edvJFb|ThUh~v=E_#BKqbl@G)(ig*Ed_x*atxWH8?L+xy;Net`0jrf< z8EgWtgQQl`H^UpumcnL} z&DzT8Dps?*dDmHV^48qiZ)r;BB0W5V8E6Z<{_Uj`a~#O&t5BFpEVo_9owXJ52&<9Q zkl=D^82RDt3|#$2f89Kzw(2`n1V%}a_D^wZuYrE5jTlK{aoPk?=oOyQ`gO#`lcp8Y zq(Rt`=-YGroSD7+%&0WmW?~^s=nDwK4X^7l$@C15;^Vs+9Iv)t@2@;Yk&1;RdTwchbja69 zeF=YGl<{`>7ugERdWO|&cH#bjdKo8q z&MAYk7j~+8dbXc>AK&op1l|F=KL?~uQ5cr0Tb#Llwe4Or2CAqe)UH0MltSecsauey z0Bfv#>}lW{?wStnF&BzJ<7c?{1H{{Zm_J3WU>VS8x$Z#Poh?NFbyI_Flpmd`^%`t( zhfqCbSJra88i2BXOcuqwvT_w7w0eIwT35O^0^!PyAD~sk8r;4`q6|Nom5k_3*Or#9 zqIwW`5J~F!@V%f6Q6=zM4s3AjA}rHXXI-%EopV7?GHYfZfa74Q^Wg-Ue-i(;30Y^EAHvXXo#{_hyZbAK{3zN=M$}unh2< zj2G5EpZUbLj3%U2IWhV3F;r{#6I-pc;of#v5xN?H@UE>@a`tm2XZk4n9gXW7n?j`4 zols{FLvB6_@|@kZT;C_O;fybwpMw1kYNGj1#C{aDiA~6>uCVXr7ioKDy}{6w&uMNZ zs9SMOqw)PRX_5YrP$h8k0+7#dDdZ2m0Ro<{wg7wc+q6F2p6^}HjrtxQ88Isu6XQwm zhv#u)Pc(S$2BD0_4r`;|HM;dXuUOP@Dezn8(eaT)vhh^Ct*hkSTqBn7H4=A8EIg)8`1fUTdkj+=3TN)t;8|g_loqBUxq-^Loe< z(Y5dN2r*I^jWVwd8cqFSNv~V`IzQbTZP}yA*bC(|(o9&rHVC#Y=Qs4y>dySvnYqtD z4^ln+5pikjekRMcR#fb3eanY~zS~olCy`S80h$y2@x=2|%ySA_bA@z6b3F);c`{+% ziA}m_`fae&yJN{0tb1E#>9vBEOXE_pGLY>k?Y2U-!D78Q9_D15{J~}+O?vdye2}_X zB@BUqbEV;2Y4JR5CAp00?(xc@Gm!0xm?iDP%|4>{v;nO8aUVNL0R z0LaQ$eDAXJ^02fy?RxIrc8u0K#KAS9cY}JE`|7Liem-l)1T}ud>~-5DNhOw6I)O=& z(UMc#i2{5bR2q?16f)PCSuCKIXqz&S5 z&eVli@$H!OLVkpOxzU7X02^JQDG*J3Awy9wi4&P$*`7rGx!?YuKEXc>H{(%PsS6fZ z3K;(?fY14TW`i%ucY)qPMN>1#nDv9Gh@`R=797f65Zx$F08!1BIqPsV1z$4mr*>0JF$rnBJ1P+^kKGUk7M^=Gjtmb1R&8Me>rgzZW zCEbx+%Mh9FYh1Q%gGsh7(#iR-8GS#(nfrBY_r2VtoI3)S<|1EGZ^oY2Kf@Q81Q8p& zM+V=+>llspHLDnsGnaaIz;s}Xp<(!QZl@Y&9b&(JNW1lRRG}oEV9g&&GW$|WGn251 z#l6)4zBKa`ZdF_!RJy6JG=AqzwRy7N))rv4q8VIN`K5jtPfJS+T16G$b<~1ADaT(S zpf4a}7)nxgeIfhD+K~8OOsSvI|MnI?URFj!i#fg3L8@My=~p9s*QY6Ft5A*4l6e^2 zyU~Y@XsVfw-g6j0oXPUa1ykxvw^!S>Vaw%!6zTcA7o9wL6P^3^1gZYZ!oZJZ67goj zHZ{cQjR^vh9c)8UY@yn|ZzsL)ke=f2jLiJV!O;6rtGB(TMv_jv%~~I+?S9sFp-wfP zcKOB7hn4C!u74YcOC@@<@_1QSZm=fmB6I-^!A~e4)3aM>e6vt@^bLV3{k>j`=UVlo zoEWq;bLea?Rqk_kHcTk!d0{2%Yg8X@XsP9Ry$_#h%T1o=)0!b>ULS>4lLs6!(FDGi zOQ8s(K70hy)5WwX-^2?eHC0Q7ALNC-McSv*Gz_4c{ZJgO)t45PE0SF<6aH6UN(I|n zy||r;Z{U)*Y1yU)%+eQFSsqb{m$kixFpdu=A|c@@vCxZ_{`@ChE8|s?DA2TS(f6{< zsB+dRPCR|_dpxRNj68Ri4fh9FvS89jHyolTURi$Q=Qp~Q1nfkK{7NqiDWaLwq7F98+u*>hpVGiUB@^p?WYj z9*Zt|%;;*=+rvZ&`64DV=@V($KyQmCpL~a2LbNAQ`>GYhV$@?0fa6Eu6@#&#_FbZP zo|gamp>S7CIoP^Y!T7Z_{@^1{@LTBp*8rtwj{gr?-xwb0x-~tqor&#aV%xT@nb@{% zYhq`TiS1-!+v(W0`Ssps?{nVk`ubP*-{K;tOSnj?^EpQx)+AH2pv9TI^ zg`9bmE=5wxA=>sTYTbKVeTc$&@=g% zMW4mH8bY@oMm~ibT>f2hy(s=c^^(-^foeA=H4nC&yCakiD@gQxI|ETlIx1H3MK}t! z9A=JKJPjOOZnIQp3&l7#{s#JK*a2<(%^|6nogX{3i~id%Auy9zm_pZIt%O3Zzyk zF&vD>J~*}e*yI2X$LttJ#)|fCt(*q5(CiOde5QX+h7P3@JX~Id=31-LfBijMRC|mF z-#yaW(OKPhVJQ^A=+5Zr&Qok4x%_j@O=W~q6e%;K{G!_44;}HIUxA?eFe3k}8qf*3 zT7b~xD>q&Bq2gTC;ci5Z*ydeYQM-^#y?fy-{sfUA4Nc4 z&CzB~47=TGaIT&Y+ePQ&9L?>sRJM$6#}R< zx4f<(T?3UM`jejRLWJBWIED^nw{@2#KNmsl&|@PczWJ<{RC%Q<^e}mZ$ma+s{?Etq z>K|{xFi(dppZyL)gqVE1$V|qOFvRSCfqVdchIy*>+}9r=ETNUB_+6486|mqWTdKIIVo9A-9r=6UqlcUN+#Z5j)p;!k&F%&NS*?ki7xFD<{vlAa9J_^N#O z&A|wO9{(c-m z*mfE5Qp(H|d4|-knnJ*AvFP(!N7(gfVjgU^(fO$E)bncSCOV{C zMn@N4@8u43lHMP%U@c%l{E*x_WHS6WQiHtn>V>xZFtGQaww>=&w{ew;WjT98zCl9r zFL@7DirkkGG~mtL7Yvyjufbo=fpl|S+N*$j*d2?jYLF={}R9+<~I(it1ABxcJ`x&7#h*{~eGj;nD680_E&l(|b$Z=fZDSM}=`D7*T~HdfBZV z3+&ti*EK%&J$u_n>Kd_wsk%oao}Y8uj-lc$S@9un!EJzWRy!+!fJ@(s44X$gLR7uL za~>TYw6->i&gMmjSdk=(CcgC&N%4qzSD+;{QjVv_e8F^+EAltqo(P5zXbh%xQi_dE z^ADgyX1T#*&Wt_Jw&Pmd`>}nKjYZ&X<6FRP6v=Peuf0QU7D+A}FBgrN`o6~|Z|@P^ zy8%!H{Wtq#y@xO-?2#mk7MAix8SevNY2TrY+DLK=~H}enRATe@b!pwL+kRh;Az2c zB-Uy#OuAW{OlRtiAgTo1c&og;>Ggg5iqo-`Ra9c=beeV=R1|vHmUM$;x?ejV;FU;i z_Q+AX(H$zU7Y6(w|Hc9QoBjVp!Gs5nkmR7w6wV`jJOODnqc1Ok=hOFO4b{AYjQt5nZnT& zOy${NLZ(j}Bs9mLG>(++POHBfsr0cv(1y!72?2*G*eqimgT)1^Vc^4dFy%EwJEpFt zwl8p=(T1>Ke^trw^L<8}!%G55|0v!rl!d)h+*#+y|H4Ibj?E(3GBN%~j09JZh)NFY zidO%%!F6@PX-@!2oQa3-iI_qYTP)j1Rlk);*k+t4zwhD31330$bnvB^#PED4lhrWU zu`D9nSD3dqKg6E0-B6;mrHRX|x;o}sefYlymL<7f^f=LHxwBG{Ezz-y%*=o_0Ul-Tv!e5coU|L~}v*U$??d>T>ki#*KrLi9RsO!L!G zTVd35um$ybwI2{?Wi>&GvN%DsYGO3AJ2ZAFJ+-w^UifAaJyu4L_!&lCC#6Mv195{6 z@tOn8>0o{%behOGw-}NjALOO8GE`JfA5GD@uwH?-X=A-f`CS10`QYJ#!S3tCok1B* zl+g}|5AAlpK0|_JURxXFqrladSUy+g4KFueuWqQJ$fxG;axvAb+`nUi;-@J8dDP(| z3@C9CEqbC_)VSlh97qy!8Q}tJZn<15n)>RYf%=T~{E+t-!KYI^cxga?bK^eDnWPzC z_m@X%2Oc zn_0_nfqngBurYW$>R;7Mv2;zp{bzHegA}<#u20f8EFOTjnfM zre3PiE*8PU<`0c{IkoEuI5;?Hf{19Ej-s_XbqDnFf3!LsW|S-ow7-}=U8@NU)@=7V zJnFf9KWVTip_D2D@ly56mM!omh+4Al3-`^AANfiK(np|B^(%CVc!I#LO?RE9CVNv6 z|ARL256Eb9XoA|FF++$CukoD2lplB-0V?u&!103&KcpMWWq8pUoSi|AMEHSe#1Sm1 z%RNG&2acrT7l&1JrPS!}GZ~Qe=;;X#u4_U;iW(`sx%&D<^s%w3v%}zJ;wmah&p!8q zxYfI9O9pX>_}ooq=rMu&2#$QTcJZvAD}QG$J$wI?zOxtg-oAy7qEV3Dc=7qNY+%3P zaY&prk>LwF=v_kWe0QW8W0z}BL~*e+#>#IuxwkgU`5|Qpvx&C%uvdzKOq3O|93Rng zE81zQ@phdldumHfciO4DFX5&;dd|&HEMj_Wv}yGV={L--zvhm-FVvd|FYBiI!<^0C^XARL%I5W05hN=OWeMs2I5Amdhpuq) zx4&^SvGHRVdClK_v&$W;K1@ZdgJK7!K?S&eWm{k2e2K^P8I;2NK2X6|ku?FXk(3~kU3 zh2Cn^+P8qJKbMCX6*uA0biA!Ki~5q-W|#O@Ju%SjY(pGcGj!W*Yb(S zF!=MB06xpw%CfH#@R*wtm1&wr|Brx<&V}$Jk&YdVHI_H?$x+j&S-!d)PqR&!;vzjBwecZS0lB zhfeNsd^ncDzfNhofgzvWHm`%;Nv2E`NNZl`NECPuj5Wb+dR55(U7@CEt>~eSjz$6s zu-T}?9wK-pCrgAmj_?ayDsdD@{>23hi+RdQk)EyQfh^8D-C-Vp)a3BT^Ly3s*YQYuFl!* zFzs&1aV(V6X`jLLeA>Q}?{>USP~&UJ(#?5yE(TF5FOgn2O^gBenXnFX9@YU}MjB^) zdl3a8lLlJMv1W(W{ev$Q*FMSp4NPFVdNWT1CyELEUw_38_5eLz*$UlZY?;l4b+q42 zEBBqabR7o1x_^WmI^0e)|0JJT6>>vShn}r-Pqj%xuoYthZ;eqJW`ato$&3b#eGyV%V`hU*vX^8^!5QG!|p~?CE0V9XdyY# zRM^Ep4*&Vs@mE&zLFU?mOLu(!SV8cVpxz@z$$A|R$c&iVt$2s8Wo%eLXBSI4?(*bH z%+%Q`lSlK0q>UG@`K$wH(gDy2X~n_O@{2jxQklO6Pf>pPRE$}QIUW9BB6sOyrkJKV zSWuwfY{Yo>g_H~>jhQG9gH;tYP8wd>BnRAuPOLk}ZySP@l{K%b3ejkY-~@(9v0*8+ zroK2I20^Z}v>g3WOo)$u{YG7Wfo&ZH4jCDgwamkhn$8N#lAlk0BTWGi#p;(ZOT8_=rR2eG^@YMnX_DcibZAe5GDM}J9XiG;KM6m$A!v-Fe2JJ4(V|`kY+z$6!A0@ z=NlaL`H1Qko$CKR-nTj2w#NHEF_^=)&@zU9yEo2Ouzn1YlWd?|tDOZu)%w1Bdhd@J z3@!+C;*=Sull$($4xe&&In4?^y%gmi6dBPI{v=;?nfjxdmMfi>gV?MNj}-+FXs|yf zTtDnY$$~)Qgn!~+Xnu9}a|hL0>cd!=^zD0ZKqzq0`)yd1 ziPjF#sXN%KYL}uG$evS{rv62wMBd0MMzq61w0gMi`w3j)`^jYlnUljc$4tN=o=h0_ z8$M-mu$Jn#WTj3w;XmfbP)Tp$Al+C=+hp5Gv0HrGne=XikNjesTlc8Z^09JqooV%P7Ul#71ly-!Vo3iq zgiEZ}&2gFJ!1ZX@X^poL7!YTdL}Q27iPCy2^o~LvYpaCj`aT=J9gWu>DXM%=J!auA zudEa@G9sn#yyN-FzVF`gx#4yG9{Cm$UjD3r@Sh_A^Pf$lc)qkAlANy&?Z8Zyxj)gr za{5ui6#f{+352e;Y0rJ@aW81g1KZ^BfS=^FCIUuI%|Z2xcoyhnRNUv#BDsT@qtri0 z*Mi53flo9~y=98rVHo%&TgYPoUvZQ~_m>$#{ZvrrS$Gy<8H}CWe$$vkb|%;G`r?k(c`Lb8-)Co)iiZ)Dk(eNa%Vd8c!IX@*)G!gqImybudh3%hEi_%x;Qeoo_pn= zB{!rq`$tu#aUc5{ z#gy<(^(RNWE`P8YUF*A6J!TybliI}B*`dzn?1x&Ao|FM;>~vNe!!pY;Ej8ZhiRUcS_X9T<^?$t zJ+tQBIIAD_kl;jDiEx}jM!E%>@H<*oufn3V4J=>}kAJ*mDXt$N?t71%!;L*v+8rb4 zLEy&cB(e713S6mwk-J8NcSfwgem&jy$aZ?` zF=)s?_Rl1sc;CnJ*q>G!^nScU#mg_{Q_qnFJ?;_X4W4VukaIz>oA| zha($Ocusp8weeCZ!)lV)!SOiE^GB7nkT2p(6hYf9?Ux!f)GgJu6#BC8u2z{!g#|OL z_B)+iNHNMGQ`k5aNX8|mX;%B*dFA5)*Dj2L0a_#(G%I+2ih1|ch+zZOU#nD^LtIW5 z^NSnrv+(y=`ROWjJ^0ltbhR90b#!!|L{4p*jIT*(HCq&IS8JUlY&afi_^97PQpC29 z5%o3P8DMts3w?>b;<7UN1hTAQ>_UT7)Xd_cm3;i6x6^a=SzI@r>EzPCNt;I0kTua3 zx}h+uvl)OcWEhz6lnoFeB}HJl;uH2R`us9UsnX|zV$qpnt`{kHcq(5Zst3$I?Gfq* z67nvD04_HJ60T`yM_TS6vGMT-ChXot&H&v=gs-P@OU%N`o~?2W8b|w7e&kGlKXSvj zn;vlJzh4CWU^Ud@(LR9DTflN~eh=NY`~BO~EM~WV=j+4B7tRqq6v>mw=*dGD_Ch~r z)T9+WdQDcaN(2~Lv@C^gz^yy7Yd#UVAj^}@tP zx^9jp8Jq!Tluc*8kX|93bXt4t<*qWIS~vU|b$TtlxHLY5tdzw4XjqdTo$!I)d=2q7 zAgGF6Oy*9z%gb1{?dR;qcT9>jDKxg1gdbIJofz|;Rc#FEvOCAWa+)4}UICkf4~I=M zD8oKu z7?+QqV8U~%KV(xz9Fr(}cVP;I%75ymh~y^@IGEXL4uwyHluoA!6m8m?XP5FUbix#X-=ai@U&5hlAQeSJJ{qsf`FlGJ!b2bd$ zPIgf{y%iYN8*>DE1_;-mMZ8ava{F0ynn_Y*N28HI(_s}3qJFL{h6{9fLa0xk{(W|h6#_!-%HjU(4^k=T^^4H?& z)C?;_o^-uP^6(nwX5C5r3@dqP%!E>pqP^f#ZTeQu+m#(AgrOJ8tD~x_DTH0gV z#66X1R_HO zEj7<)e|`Qj1BHKzRJSf8NH4Hh0e@bX$HaKH$}re8=GZ??6MNs0`h{HjKDLL80%b_% z8uiMgJ7pi5Slnve01ksL@Y_{f<3CIUr1jcsTRi?Zx%7|;_%kS&p!BMLA zuNb9u0+W}v$J9xpU$Pd?C=!&@O}0_iQ8KK^eT!$~PS*3OGgarnClb2r-g82JP~eXX zlqPBmU$?rdEewgQyLq&?5%P07b=!>v*rlb* zx9TG1K98HNPyO!6F5qBRFP7Aw&6P4CevOy$$;o_GA*C7fqm0f?~}-K%o+R zxqOv$eDf0a33>3>c0dWO(?x1DHcuRJg(3eU= z51b#J`v>(UcaJ)*Md@Pt zL{qm*=>Pudk^ax0{s&lzlrOLo0Ip}^yup8YdG7r-m17By(aq2MjNTeuaJpVBPc<6I z!q|f&kCs13h?Y>qj2kulUZp9#vNW$1vdQnl*Mc_f0-Ah5{+MAmz2d_+!G!G~rLeNC zxUKcu&R~p0oaP;ihES?l(^|dohf90?dIGcZerxc(YymT}tv~|meXKa?1qA|Z@2d&r zlThYh>8$0`*|qEAxh+FFiDgGF^fH6+$&Opr)H^+(0mk6tCau=`+3`93pjSmfVBa9k z(&nJmmvtxA)-hzCO(QblP=gIH5=W~PJ^eL;gM)lqgqmiB{DQk@UqSg;W9L$BCu4|) zi@Jk=BBhGrYs_yo*8*hUF4D=hNO6)Q!inv!bBXD+JU965ismXkjaqw~4u!gW6H4Q3YBW8%E;j27rO^U@TK_M4x}BmZi@ z@Q}M{VbB~P|F!_K)T4bKPmAjPt)2kij`!5e>q)l`w7x!4E#Eflr)S zPEM~Qx?g#`FWWaO_m%g+Zp1&@e*6P~_5)Z1|I?QleeVTL@jr{xJR0#joQB}sUjZAT zm4F;EmBEphpW|O=))d2Z^lNcAtaZZ&+ptRRY)o3f!imaOylh8MoXey?wv zUN-^1*i#tZ>||D@mm&(8uZdF({BzLVt6>LYN~@-If1x`MU6g^1l`+MZ#fwxw7`YVS zfPGqDqN-JYY7G_sjhUx|gy)3)(0-vKgCAG_n~;ADM)8uGSr?#a+w;7If@GXddQhlAsPgD_^m#|55}&Wlxo$*M&<ZbJDrKZq^O# zewi9#OrIb{i7U{I-kK740y!qH-|M*jtrsclLZ!kmW}x>^YhV!gAAVf`gPFFg*#85( zg8k{_ClaH1mO(GTN#@4Cs0xcC)jtOs z0ojkrm$mYd_ud%WO9Z);2uBmg(nBxu5LQA6>hDQ}Ra-Td1U6`-smUoWJQEyS7l_h4 zOAUL0tjma#5Bz{fAvP(uG90Z(RQeU-l%xFjbXD0=!<4(O8-#w1q^=ujMTjCe_aw87 z%*^X!1wWih8=E}@FSgjG4?V0mPi!A3ShrYFTUQ&wL~i_M_@Ib@rPi>J&Me2N-R}o z#!+;34%LO!tGnIGClHZ0!n_k;(pwH0bbJTk!h^Zn(vF=ML^U$ zWWE0IMJce-w$PC(L4IJUPdlK>`fH9^?WM-|yYorIfJdd|kf)4R@C`fiPHh9rjW$)h zdl#wbScOnPg=*A?dKY|1JhXjL?cTS+*xL5NouY+6}cBJ3^+`+KxG z&0|@&*6p;Mv-`W!8zAsRZJu&KPk~T8U$M6$7QRZ0Psh~nX{B$T`>eq~*LPj+a@gwL zi-5Bc)NQR9?EdA=dffP`kZ?Vs+WT4HO5)O6qY=<)z_2+jlhfV%PdU@q|33&SDC+KJ z1o%>3{QMC9!cHcF^;PubQc)2=w-;S@gur_?Tul*AP=xhNYSs+}OewJ(i6HZF%UgC} z?6WfVbtwf{hOHg^KIoOCh(`p3S9y1B>vxKx1JHF1pJikMa z7$c|XnG{xcBWdV5h#6vtPt$l%sWit!yPIyL2y}v&L@z8cipU<*y4b-tH-nA&`U!d=b zr~8%L+1WKz&lMkDApY`p3G1JZKL$tf-uJyY?)l}zA#aS%}_t)*=ef;I0@CmAl}zVdob{*R6X{n1dFxKV%)C;=OtjZJWp;Vh!MTsHA6J|K|{$G zrSG!Miym1VpP*_}q&9_hoykv5LVQ^4q z+Z+gk{BK>tN3jL{=eq%nw<1HD2G0?Yy7sqk-peOPib?tINl{Rs_T+BXfcQNCtdM8G zOKys%t=vVj$WB!Z(&E#JR)kTwIz=1upuOxlm2Y{5%ra#*q*pGr9rU*ac2f3HQylrf zs@<}T_{Xg&n2eckoPt9>hX@})1JHo(mki;L=?zWQzKVyE8VyGQ`y|~egp6NL zE_Ta~ULc#C?HH`14e_U5r~dIq4gR+!EUM+t)vsAg8>(@#+!2ngXLDOAH!A8sLdSAN zsNyW7-JdmvMLsQhkVqaaPMFl3=U4^UCoav{*lZJDykGT`J=`<9lXfYDb=yUTE410Zm*)2OK`9@|8`3TA1J0$Rjme3^@=sY6yP@H*FDHY_JDd#b>Z=V z1vylrm=?bKf&j;>?9yYT4R@^GO-$!)T61-5>sh^FKSCnq`Betg;T_*=r(eqZ-S6Yq zDzxnJzRR1-;6E((CXl@5pQk$M^A@7d-HVtfcnBqM1#;%&KnTPLMQ2~7hTaxpFn2Q+ z>WlW&ev&A~HwRs}3p(+k5TO8rOUgPK_(&S+UX5=x(=xjKztx;FJF4%L&>O(I1daLq z!3}Wh9q+v-)86kKC$u~#K^chGbBM>-PCo_qR4Qmngkl?qZ`~HmP-$ytfYrmAzs{>-7#SHoaLLJGlO;)M5aq;X z{`@&TW-Rz-0FET6up_ip|H5ZLH&iwRDdigRXGC$OiyOnWnWRJ^qJ!LwTsEKG$yyUY zb5XX&QD7QmzL9^LnleYjYxOorv2|ZK)1f7Kg&LUQl*~pM%oVC9(e5L0CW|5AHpX%& zX5u4!$X+z1xG9N9mS#f4}PS z^pLt9F19OKocQ#z^aDGEe-U0t~r}2|oF+0?OI!00Mvhr0D&T z`w6r8`SEDNm=Smg(fKxVsq1g0F*Vq7{3ryCx&Sk#lc#oWJe)1tUz9dHExMsATjhyc zdg!sF(8olk(Y(@)Q{LC<9bzZuL*yNuBQ~IIS031VIGbSu$-ryX$A-jHXpxeFDh&ra zAk&}7?YN+z+LT%xX6z+?M3oGVF>WrZM}xigedGK)3>BMrC=WOH)iP<^kI%06AF!(j){Dnwnat+y@ohrX>Rg?Z{;>ecP>G$?`clRF`JbI7~5YsfbS z%U5};f*eS{DZOuWQD24)nuTv2~28*Aa4ZOrk+)F}2 zOsYhA*ceCeu%W3jU!KtG#G$N>o0Xl$rCO2q#=YvvqS_-Of^qjo`{_&f=?j}kqb%wa zX*~GsPWl8@>gXi2+PGSlt?NM$pZvo4Mg{ytW#7J}1lN*%v&p_;UIod-ZJu~&*wUx? zEtkRVu$jdqyGt0xG~;B^b;|gya>C^NbP@QPW>Yw!9UraSZrZrzK=D{xJo$5HUMu#r z-YV;cSEFfMJp5wf1w};`AlAF*$c-fDvg0;vVdD^{vm>#4@!t~8UjvTu5A{I@w&Jt1=&bg@4UAw1PSUX327Q2&}_WRJGK+I0q&H;3HRSAl*0WOMEMX zp43rR>-FH*h}LL{S>-bW9F9&5-XjP=wP-A4F69w5w!W>G{r)KIq7VIgyIOlGYTzyb z@^K>vqAYVE)B0-YZj43vF&##hzs-Kf9xq8&(?jatL?E_%+R%Xr`jFKy-c; z^@?z;L8u~2FzYV2ylVvaQZf|BPzJX=o2Hab?=P))Ew*O4SgucN82U$E*b-FLm2cal z#&h`})0WF%bR7KM{#=mcJ8On3JW(x^<})w5#)H%qwxqCv3#qQObMwTiTt8nBDbLxQ&>2?1dv zqab|e?){7u;BC2*)ri7$ZI3h^rz291CB)bwB6@fQ@OLrBCjJ^u5Y`h;XItGvSIdb0 zP#zvF8o4_B5R3PF3e|ux8R4N@aEvjM-=~x?DAS;>iYtfQ1k8OD*5JB1aK9T;0L?uS z2XKd?uN&h2I)>{z^lw+!d<)4jG!a3_%tFD&%F%H#yG;PQY8&T_r7p8uQ?1_EGBN|v zt6JYF%q9akPWrR@+)IhZQwT#LH{8e=~=N?OQVT!b=jOB$e8r3C{$k`K9=OAA1A#fQ9)b_Kp$ zyNj@Q*WZT0&@H+!1lr-E3i|P6sVVUHR|Qyuok16bi8%CYJS!7x&8R1lpgmy=xCIp5 zTNbGrC92dK*Y8lw2o^xHs?J}BF`b|vJL2SF!+k8c0kWg9u3g2UH+HyX9C$LGy~!?s zU2!}wCX&b0-{kY_dU47|oCaIMhbBLbler8_8%JfhNX5KLA+M2`*pCvmmb#KKEt;4h zO1gjyqqa^w+CiQS#v~~@Bon^Du9T6C#PAI|#2%f!tW2)J>GOh`lG( zl)Q;%_M6OHk2HJCWhVobAzy3vaAE@uhBu;zLL>TDzk&O&e#6P((5R0QhF|lXle+~x z%1oUC(JlwoTHRkpeuiEbd~z-HTfV9KN;ZbFKI`BrJN9iIp-b=A9a>LZw=4QEZ;9xe zo93yuutv(Xo~)*XNq|kBwM}TtUO0}VS;(jQq39+-Or`pdmkn(q5U#MI8;E! z%7rjiRY5i(Vrfo5>WWZhVcMK9tJyn_UTYe~$FT-BKq9c_1Rz!mp2izPYqwdyjm$}@ z6QBUDTd~e>tDPQ5F*BC7Z?o_;;%wLm^>rMaq4-EBUuH(7x$dTShQec{=L=i|=Y9Ct zLM3I?*2zimi+;CDc>mNQ8KnQ!BDs#TRS>r|U!F)Y($}C4t~PC)8ea#fx@ToMW{oc6 zup6G_sRrpz(xl`WS=fhIvnXYZay@0`8=V3I_X8zm89 zQGY$W?;<_U`nU!ar?|yRAI`U9jq;@-O*$eR8$Fj$Kx*ef;LpZDKYMiL>?N<^jnf98 zK3k?^N@rV2ca)YCp{xI@5yDqDxV#s&d7LFdSxI9hDfKI>*4ucHCRJ=dycN?59W1f0 za1%B4)I_y&%o!kIPRgT45uwNyv@+73kNz)2Ff_2c$G9{N}INXi-1%og^RI!vSj1I@F-EE{AwK$Bk@MOkKHx% zk{_-7i;soq#rz!o3f4{*om);mHlYx$FweObRRXUbw4osiye!56kKY?>O5hQXzWZjh zM#(otfAxNL%E0B{BSiPVBlIYU*p@$2ugBxIvmHht%&i9nyP(AAb03J<8kiLr;tLIj z0lFO^3aj13u|!G`HJtZWsxLYEOLfs(3iL@zvQ<5_{hjGd?Uu_4rU+rgxvcrY2T($I-P+;-JHimARY?5(vY%Oh3Ii)lCV({POw64v+^m$ zn2=I(wEig(Qrcb7tO45T$(^5!6C8d64TdbwHK!Sx)9bOu%*5n};p3ynKAN+y*>8g3 z;f%~|!P(~`HVW?+_jD#9=Jp+qrH@fBF5<9|QjSk|@nljJ(NRD7yG{}vSQiIoQp<*- z4_Hl`*$ho}_)L$BNmarYL&=mQO3B27(_@4k!;S*J~R+^^$T%kVcAUC?6m?Bs>6vMFS)T{0`&u6;Wp88zafhdqOGS~2u0Onx< zTzn-+Q-NR&4r=P?oS;vYJ?izcyBi0DS%o3<&XLk@{huv>js`=};D5$JYkiPdAa#O& z%_n-ct{5|zL&squG#I$60ZWLzz0P}vTU>EJ;#o3IkmJM|nNmbHhsh4ySpR70*CzssbcL?2ZC}wB zwKYfSFUWuwpKB79k_Xm4o`+L=6(4;-n1sCecJHY~uZi-#w0 z2|98s0m$@!&g!B!P&6{VQ@yK{)oFFs9#|$Snu&-$CE%wp+4|iWaX-RqI~qiRbZlPw zo~x8ch)#&+_CEzYe9E)FX0X5@kR zdeR0&ELMK_+1ZpV3aW`P<#mbntpCKLa`>yvS3O0zh5{{w1{H?)X$$OWc}RdhW=7-+=f5!GIx*TRZhX#|A z8cW~Iaquz|@;m4AuT+MsRhvQ4IYX4UN7$32e>!<5*>N#bZq$1n_80?85Mc_a`-4c6 zcGmz*j-fJbqmzG-Z8Q40TS%NlS}u#F-=Wj2{L#$W>GJobeMoqyu;g&53XPn9`)_Ph zLaZO*536u8P5K z6pzO5Qj{O%^uz%A1WCiki}mH}UN}v+?U3(kfCXqg&NxQYT9%Dry%sZ(kJp0I%G_!p81VAoR||0jbkuNITm1{TTgM zyEy(o+C>P2rxu3mpWQhA(AruiV`l8&K&#{w_quCPE=LfMA7TBD`RJO%u7Hc%0@DzTteL} zaulvU%pH|cD`@Op^!A@)lrsUgU=co2&J_WQcWBAgaC))w3u@BfI@a05BYWVDnGuoX z+I$9y-+Ic3C40kTt!%5(uvuBOaTx2_=*S}_Q%hNrgpKq-5nLR!;=&J*<>#xJMMN3y zU)c2Bj+MPHc-|XPP=#K7p7KYvaW1s>wSEh$8I-&FBDWgv)T!Op zSj)pXzWglv$#hbka|%7@C!Ucq7n-P+U#B9Llqo|=VlGL+R7f52wLbH_mUv=5%7nU{ zojrXhJ%Jhs2zL7a1Sjj02FAXb4pKP1w9tthfklL)kUX5AI+%;s!46V5VlBpbZBJu! zaiG2Enp;)$WyQh+xkTVsC+%8u@g#nEmBe|{h^oNki9ortk>}qY%6_WCsxI1TLoXa0 zCOqq(Z!l*(OjHp>Bx%eqSwDv{gu{#)i7zR`)Xwp#N|?Ya-Hd{$gYJ9t^~rVxvvLkU zUaz|a?zSxpZ(RP@i^(DWcd{|mPsq_+|D@6(k)lS7Zkk-tW&g=|##fFk#+awM+*xG^ zhCi9Gw)s>4GNkfu^m7~&CC)r_Eh({V+l-*fGgU`funOp)f;gu1coR;x5l*RAzO>WN zovbAbIx_1bW8}=~tL-o$ADvf>h!vjEd{&sk ziNTpwpNO$&U?l^xF1rk6j=XX)h6!rpSt;!4;@3G#w>HI*)ULn|ef?6pi`ZF(17OTu z+w;?)Nc&wAA>xH%x9j8CQXuH7Z^GuWu^+fewCs?5$pHwAAIq)fAp{EHg7dDf1tiXf z^NRA=O7B|bN`J_?Ng-EoxEyQ-#jfyEJ!9|9;PfMkkg#Y3#gG;@&9%gmmF(bjQCwLo zK7wO3syT1M=kSrSylG4p7FORjixKB6Pv9IFS|V2dwH{3hp0X$*0L2L>F&ft-jkobJ z`ED;Sx_SjahSSd$SAD{6DDlG7nZ4K;5@rI7>%*&QWY_c65K$7_lc}_tnsx}Fnrw_*g)x$< z{Vvb}A~LG@Q-G8dECb9)>n?7e@z?)j>KYs>U$^#5oF-3AwrxzFYG-4zYiHX{wr$&X zO}1^@c76NYbI!fr`zP%Ed)K?xvmVqVJmtuahPA8WS4kyUFx%M$<_D2di6ZeaLy<>O zQDq1(mIylX9BzC8^=rU>;VBYsgiOr7aeeSb4|k+MH{nS>PSRSgLuauF0C9m|JinxD zRHD*U;x5&5&@H9$SRRmVpzL0FbZ*5%Nu9VweVU1jELM6j{slFvz-*Z$@KrToS~wor zd4kiikE?H4I7J@2UdOEW&j=EPtLrSZP!zVzwGRlL~wPj$2mt0d{N86&hS`^n+*VA6|#AUiXu zC(S_)B@+3(Q{D}XfhZEl@F7^VhM{(rcacFW0RDx@%Ye=0ECWIsUIHfZTW+kpa46UV zqXh2=iQ-_M$3iqOx6@@931As(Muoc;(+u5FXYAFHGE=A*Z>~{i2&ii7)SVIwW;w+1 zK#+YJX@rQl+1%59eKTivpet;L+h6N%f`b3caK5hcdqG}-Peyv)D4GMi?gXPCl$o(H z5+b*?7b}=S@zc0hQs?u(*v|i&G8@aS?W*)ZMEw4t*g}vaAh0PG?6~xxF_-XrEOqM} zTDjm8PQg108h0EK5765M7ZZ~p|NB1q^8jOKIvPD!GI>C9bBSwiN+Pwy?%dC+lrdfU z?1fDR67jd$Q1wFUfU)YNEvugx88n-HvA&Bg_DJ+NXNmoj9>fZR=po{4q7ZjOO=aYe zR`4=`HMcTZ@mJ~P;Y_iM~{%@$ZU7<=6kFywLfCVL;J07Y@s4Xm0OzKB*Z5*8FJ6H$`nh_ za$aQdCf~N{g+1h@BnCa3hO}v{{{%(OfD^kquN9_Jg9jGUqb=glZg+H&1mQkR=VFNP zbYbM`o$-iP-~x?^$2bG&N(5uBk+1oH#IxZALO%G1;n9um-77+w_G~byc$3)h+l7Al zOc`A`YB3fQTB}N=YdB!sbaEt^G`v5xtP-ePnM&;uUPAhvP={?U##%A7M4k4a#6VAw zDgyq%L3cn`5Q-Wre5=FlqVEO7!7tIguK#}p`~S6K2x_-AM5n*cRx(-N_^`tH_H*Pk zs)}YV(|(?LcdEVpoIUHa#kAwZ%42+(e2mlJ_uLDi)9)lxEcPO{MqISz8|NKEnY#ld zQzs6mw$9nHsM`j5Mmh1*pvAwFlS7kNojf8n;2-y$=Ymfo>QZS(`9T4FdvmeAO*OTl zLOP2X2AX38jT%S4LxUP zAY%KOQpNW+7&UGUZuKN}>hLcDwQ>_9k4Q(fz5lJ)T^~G6F#j%3F{6}*)2hH5_+H9z z9dduGi`ZdF7_p6fpYbf(-aBpGNkTu3IpU=h7d01{4b%bdB~>7 zKkW#s&Ac}{nWH@&^rv4Jox=Gj>QAqN9Bf z{rcUZY_5#ZxV31DQ`c7a^FvXk#8!gYL?Yn#WmBpd-uw6wU;c$A`mE&iWc2vA5bii6 zer82n>hUz$A*QYCVY&TGs8stHF_i*jH?hoKj$|9%D2iQG=0cwEQl&8fo3`-9A?kfP zPXCR_bJfY=r--|7Jv}O`L5m|hf2RCHjbSVo`vV*EB^wRbb(&+#{^vgCDoZ(XGzVaw zHq4lWNuFg#MUZUs!BTFFj@Ze~ZT$&479e=ZeD2GNS^%K@p3aCkG2a#_4^`R<1AFT< z{Eh<7WLD5wiT|+Sg}?q(;S{JDAbJ6Ncm2Z)lIib1^mY4xdWdFUDP6A6KB5K?^0i&v z^eXAyn_s&Ea>64_q<_xXLFa`J#SVl-${&?r3V32pseV!6LwJDGwJn;m7_jl0jg)5qh$VwES4+RE}P z4~J*QX)sllWLu`2W$Q;4oKnEo&c+8dPrr~%qF+(s@iIK`o6B=5Y^9hWBI^S`-gWnp zMCrvFwnWhqKT*-lEMrj^^HxRO$$i3X+(Sx%SA<|f(T;rWfLXRd6sl4|Jm{S@-1=^2 zsIQS}H1OPCy)*c!0r#{obO3sioyi0xf+SQ(nF>|hdCQu<0sk<1#n8#1%8>32%P2isQ?6^tmuXy8uR@Slmd#LuLPo)8I z$$R`YO3#kNG$tktaH$}mCyJL6mJ|EVLJYv#!H?22AfqvLalVznJ)4eZ zUM8cGC5)weZ*n;hh8&}eUKIy%%9L}2CYZaIO5~?D!jN}u4eP5;bF`~(uxtqeEB3rpEvGwI|}Nx zaQ+~AHQhOZV@6STv`??vaXH&JwE)+J zJ?g39^4T8Nvh@q{1=^|Qm(2p`=;8YpM$O{ivAaq8P|{)u{Iv6yI5G@uDD?HIw7U`B zo+HmV{K>Vr!}Z&9r}NTwEAu$)hA*!N6U9NKIMH6Qc`DyuHzxTmg>enXrWLW&V`9T0 zB&IdZIU+=ZC+%4-riSw}&QgS{w1@j1K19dEEC`v$ zl@&KTYh)$%u8Ra;xe$J}bYi^*1SkQK%x2oiz%uAJRd=p_@H+QEd5jKdtfR(5?O7&< zgh&#;Ac;&%-rToaD^Jq;E2;8>e3-M2+iI!d+ zRA{j((AP4sME7K%^f=pIm?S4V`1{2{PjYyUX^1pSVEfmw!6 zUmOh+6Arc&i?K47AL;|9%WYf}_NUf1-ecOGp%@sh@1t&Eyw| z$rZ+fSWNEZ)-E>tGDn65G|-q*p&4pF0>CBGob?s}nL+>Iz_`Azv-<<3Igd3|;q$<5 zUu-aiUi25e;2+o}r!SVL= zmkjrxL7%2r1ffpK**C63pFdt)44cL16m10&}(Yw@%S10tG)(&xWb#24-aV!dqJEMmw6ert=>s;ZGPcXeFuV-)<`M zq{(+4y*8FYxH1<*E9Qk?U)(DB-4v$D^j^nOJU&o`Xi5mbN9qx2_u2(QSzp)4V&68pJac^ zoY0y;bWTEU%7FRg^AU!|Yq2>){VOrutpc2#QK0MoSrP1`;|cP0MRNke$&?lfYW>-` zXf5p394h{ci)VR&>jII-cSS2?+p>fA#Im$NFZY38t{?F_%X-fJl9P+p_sJ1B()W-^ zo8-PFZ<;4bwPI1f3v5x?*IQavW=bmQ8PR`(gy0Yfp1JRgMB*=(Gw9MfFI{+Wkw&D9 zKa&X!E8uMVa^5)tsFf%Bu<10z_G(i}lcP#wkaOmK%rb-%YD)BLV8{nkWN=JIBCd4^ zb@Yhm6aB^9U)+{?p7;yb>8>6J*8qg)_dT>uB7q5>V5sV&`QZ#v}s(Zl=I3^a*c^~ocF))eOo z!A}-imY?SQP(OE&Z{dK|zy;*hms8}wFfC?D3TtscC~u}81z%m>7BN5!yT8aKP4=pd zw}b>RRXJiIVKRFbPqc2|Th$P`9#1j&Lw~dGj1xaL<{`1>$s1R!aAM*(?!da;dF02% z$c&U~L{uH~dlI;;+MbD@a_@5e5*W20b)nUsfipm5+a_dVdY#>}%cVs-)`SNM!$1F3+ z44-^(k~_Za{=mKwf~ZT`i1K(pHXCi%Fh}`4j>sQ|@`4zpF+@tqBdJndEN6ZPO;EE` zyMmn$hk?vhD3jUWgUELqIt&H_1|;kdqPLnKL2GwcqJQ`u{0}L(bL+paS}t2!WnyC& z0k2`_D!bQyav|f79~8BG#z1>BLEMBf)94N~DiHmC{zBLB%W*^2BHLTuC;TV#I`+9- zBWp=40_|4AhKae=7*5nSQp!?e5+7e9;j35+k*k@5$gSJWrsy-|P%LlRx2J+@A(!>h z2B_pCo2TJqCXAF~3DFoocRq?6q4M&UlJ(}sR`D3$svu}SJ$}1VXAUuf6bTdwQs31V z?gs@?j4|%M5PmgAw^|6r!4ks4r~c>F!nNN8&^>!heR z{Q_pYYWD1&RhBO=mNad)b!E!I!n*VPTrAHk{p~y0H79UOBd|Y^bb-_zYm#|A0GRa)kid^LE8`WHNOPst1Mj zvRiS5i8!VAvYH)i^^YXz=qf`s3&=G@Z!jcR>`Btvde>_$xJin6d9lusS6N=c;c)WM zz;7J|xm_&1%A*jV-O3R%qZF?eCPwx|4gIU(3WxYFX1moSOYc>YxNt&xHB!AVn3xcW3pX!4tzo6+BZn`|r}2CyI1D5B393_Fn;UaCCN1)91KM`x2e zJ^{mwZmJS9bD2cV_I|VQ*Ot&L`m3c%dhVkAKE^iVacg2eAG)58BA3@>d{3r6 z->kEU%w}Lig_t<9n4eGT-FV*uKE|qFfQT*tpb?Y-haU+dgpq|}ZP1q%LyXTTWD>v3 z0=^1V;O-NGf|!gSH>{c7Ztml$eP`?;&`V<`GI#RcZe=py}1A-V~XP&eIn)V z8fbx2HwXf2qL9akwjO13ma_V6)DFy&5dhSC?N?xFXrbh zD0A}q`Gp#D<}zfi)@JUhwrb~);N1Ng32(&#Y{yl7_Q=6fG$v0I#)-EYG4h<-dqJ}X z!)mb(!{QD`@*4-$YvAA#658Coa_r>w-rTL@T2q~R<;Q0Z1o>i;4Cia3Lyk4yit~!Z zo6?6Nd>r458Hf*@?Vhcap9ak-Dp7oi0adVtz$`yIvmMq|cLns0sNRvmE4Wry7c6^Bf2 z(qf2+@DupBy-s)=k(p<_-eT?JsJnT;8Qv(xsaq){fm%k)6>2=t%H=8kLYkO>yPF#S z82aMv**qq!3kXe~qiy=B9?WeMew%Ik>A-xemT;4L(Ei{=-`!flg})OE87ZkY z2p?blJ$^|N8IX&7q&vmTO$y(En1)AXyTj3TFb{20UIK>B983DR8#0xe{saY?ry|qRXysN#u3=bhe_Su05z8HOSi_spyaN ztUDu$$UL$bN{$P zuQr$FdOvGd&gMmq_ipcL&wbp_eX;qt&rKTKm)s^MI+5vxhCF63Px3#ZSNqL+vl0~~ z>|VpuO}s{j9}!Y0JXd%FJK19X0}Li=iRrZV|4lLiOt z_ogj9=Y$d;DN{J@&azuI?21b)TBvtuY4Qg|Zl69d0*U`eEv#k_TDHan-}&M(RV}v} z%GAC`!YLXoO}d2#t)B(HT-68OZx*A=ct3&<=VaN5k(IH=_R}t8L@sEy{kbKj@<*sW zy7v6(%oZ%4mehnMp(>?yW#?_VJ!Uw z##-lW1ZxzRmI|7gQ76!8hTMUy^{+?h2ZYcy!{!?rG7rp-wAw*LYUbDaiNEFc3%LK4 zr()QYe}D@Tza32DXJ^d~#gbQ<9niHk86h@Utb`~ON^kWBqhR3S@n=Vg(210GNg(aj zpnUQ*wKT`@k3|({N{;%>NUbGKoi!x0qt9;9>mSN#P~cxJpISo(=rcV$N&zoDPz)t3 z{3d74wHW!~v4YlobFtwFnJ{kJ|B(43=z^yM(N|wVH1+eJ91`A;L6E|CF2x13;qg~t zt5t=1rwGlbF;yMcKB;+M&RE6`b4X2IVKm*FMhy!ywjM$?8UCEW5)Jf|;-gfdY5OI# z7jT?Re#xkg=y~675B6Ze7ZB-nhAauR>l#xkAM&ncR{iA33ub^7^Q*#bjw*JqIbig) z$+KLyPAXQCql-(rsPgz*KsBqF`kVcLnE8?mj>tsVu#0FioK47LDIk!8tgXsty(TU^ zvmq}&S$8|9jV9J!!jc-RUIOrqHeewzopU$w7g&?Q@vJ?`NLag0M=F*)$R}u2XRKTL zXrR_z304j3+x3s@8-_uoOelo0mJ(i_A~ljs<>}UKZ*=KRKKxbx9-f~57m^Y&qJTC4 zoi?lT{Yu-ts~F(5?V>}igJLkyLx(2Rqfq#Ab&L0ucRq5*BUe5m>Rw?3g+IrHKRhC; zOVy=qbbD$*h&MBlNiB|+$?04}!{d(Cc_(!pRQN4ob{|!B*x{^7(Vt{K{XIu_&VMW! z{lmWNxB8)Wd;Purb$v-o$JF%e1os{4dFux+_xqy$VyhEQhu#MuDl1xz&*)4J6^jo&GFChTmB>@6fYK4eX z`$B9K{>-biTS632p5#~4k-=9LPnh8TfD8-WFL|jcI)(XAX_kppgk?B+!5%^}utI#l zj-bWBOD*EARJw>zGiUg{9298^UX@}aSbnvG)h-=m?*4J18J1e9RS`MkLxSPUgkjtk zJN3hb3-pBtwq|mK6+UDnknOV_>8=U*o_XkMhV5Hq%SJ&yw}FE1<BYitkwW=SgDpbLRVGi8Who0G3D0>r69B!C zEJ^YocCGRqV{3$ttuTdSGp?x*k$aaLh!=f`o(rdJX+P}>fMq@~* zF$ZPXPrz9bR8v+Io|t&8SBMww%4FsvmxVg$S>WG~6uZD@ZyaxMc5ny#WsYO@stIag zcCIky%d~t`t(q~}-`?@Fnwwo(A|0n+&)ot(Q2){VoqYZGJ$fb6&(`Y5PrRGqiGB}Q z?y$h_xLLcjBQZ+crl$VZJ@#beD# z^@$#GhEpz24#lSDLX(&S#tfR zyNvY5N@%Cyr@aFxl8t7d;Br(@WzFa%qd^5tO^=ihtopiitnfV}c`f<&1CL(41?G~5 zbVM~!B5}L@!UNyZ4B*AXCoQ z+z~BbK!!QM5wx)IaN=ZfqG-_+>fdkg4JBbziMZt?4>l>fo@b)e!BLqALD1Qo22-~X z#WHGB}R1KWWs} zVS72>*_NqK(t&#|32&#o zPIu@)pmmuSoJS7|h)$K)8&NQ*g$WUOw3jug!!L(bb1t=JHVA|Hrt2(j%%t!eL>~iy z#tYrORV6W{u`^?UAQc&SA?jqk&)`h0(Y+DFU}-)`F3|bXkK*ip5WPuOT5r}ZX;gyv zW-S2m>sX!^B`?A4IEgtI((C3WQ4F*Bs@P{Bu)7(?lprF}nQ_I;qZ(r)Ze^1W9UJY1 zfKh>T3<(sY+){<*MkK>P_%H(5w7zrAZ~Bc!SUz{XOqO_Ze6$qpIQSZqJ)GA*_>;*s zjl#~%5Y||nFBmPJf*EkTk#{ni?Tx$?%-uQ2V-8Bi29KQ4PSBXCAfDXh@_a-?gHrOE zpeG(Ye7LQo8K$l_v|~CBTn`>+fTRn;Q!g@ws`-`gYFDg$xUp%V``m8q4@2! z0P?Y&@VIAozAi2_kgcLiSAw%VhNx%0Q^A02Ws0lvTlZ6G-Hh&HJu5`(WYrx@bmqOAB@Kp z3A~hX;tfp?bjt_817#<93T%aF4lTRJ7RvtAn;8<9bVUUVI85w+t@TaGy^UvOI|rtT zln$UU3VMc(mLT4TZ9et9Id6&bA!Oin|5=P9;mW&>UvHQy+RDxHhXR5)(C%uJWMX0Q zTYWYBwz9Z0#Sn&#?0O(KMh$zdL=vH8?AV&}8h@hUJ=5G7`pm&}O=9@GJD$e1Mii&j zR!vu_**q_$(nR5U%WE#WFeI3gg{5a7iYD7LqSrladSN4lZzxMSR{4WH-h+{A1A$kW zd~3b~j<|{Z_nfgvHt;MM20gp8d81V-)$SZxcO}YOEz0d!pxE2bSXkK9RH`dpU8Xh_ z51CU`Vn&@P1qGlES9;a!>LW{_555Jeo8CYA(GeHtKP~b7QY@0R-O+*24^6=ThnV zm!HbNcM#M!IM(Y5%Nu7t&MU3njPfUY81bNld-J{e^7XoHJn(X$sj08rzFYkix7vAR zVRE-^E{kK~a=oQ+JYV!C&vXZqIojX?#iRk~QsWnhnR=~!B&DUrbM7@SJQ3e7$a%db z$rMg3oDTQC>*(A6)5RJ73*`1&VI>^z;kDBg-T574u0%w7+!8lEtiO=B@Kd|Jp=+7N zoDS~U#ry%u!VeEm|EzM{ROxiNn`m&^&C}RB+UHQl@|V#0J987lz(0qUQNT~%F#Trz z!Q!Vi{cyqK8(Szd^1bV}*~=PfM_*t5BYjt!q|>5?UFA6hr{VH$UY4;DAW2nGR`d|vbv^%+d1XqF1xZz8m>!Z&DYxP zhL;$^qQ1~PI_2;=TAFrJB?7#W7Ap-~(0q@0=g(7XKdd)Dk< zUsK{hQoO_^E0!k7U>YJprXvzMRbJT6MjJww&N&-bhJgd;6UC}Jz!BdSy*d|E+pUImVP>zrtdboHkao~O2253V$wt;7YxAuPH%}j5 zXhbohbSAMjl)%ATxi>dGkSA=@S;I<|=~#+d=lNmlm4oZhP3G5sfGEv>fvB(z68qyl zUJOivU;KuBAJ-EfellLi3LvU^bPcJrtoY*A!8fraNvWZ%<1kDRm&%cr&0^Uvl&%G1 zB!PaR(SZmn^h4u2ePT#bT3UB<23{Jc$5(Rcv_E3)?l-9$e?r|J2$7wXz-9KnHW@ET zzV^^2V#cU+TU7CCTDUJKNcaA=uS7rh#7k|&6<{)a)QIYxG3WppV{%;$RI1YMRfwV$ zWF_f~f&sKd7gfJI64ZngH!pne8#?_dBqg>U!Y%TJr$@p0UWXoU!%i&*ue}E)08wC+ z!6=bm3wf0&!I2Lr4)RbT*6(g9?2dPq{6Y1~K_tf{+EDkJYdve`?%L(P=yR(|F?@sO z(70LhtJY@hm?LRniQpt|Br#p5%EL@fj*sv)80#x)Z1HX9`>xCC(<2@xjRUI@EhbjI zsO($}^0x$06ydtrZd{51jV60G-piJ|A6{D6WHl}dF{38*$3L!p2!m^ATcvk4*f0Kc zDG1u;d(GbKSidrf))dLo=>1SCH%{%pTQhkHcvOu&QFKL@9lUJc zINP?Sg=*-gcYs(u47V8Y*P7SamAny!THL^IUBY{VS?`@4_pEJC1&yKt?$0P$*BF#t z=;6x)2)7S^Wz4p@bhfhhvJtH`6W1b{Ra=Xz-El_kd}pSmezGuDcz2!ndI0vH zt$&y{`oFrQ9d^iGq}Ad?oiKCgvorgATr}slTmf1q&P*o=KVJcIF`-0|Tm_%() z4$G!3C=G`@)+8RI2I@awbdxq(^6tm}bYjWY@>Ef8=L$2deG%n+;In;XsBqh(wmzPv zRM+wcYqeiJSie$NVXhR4L8)&Mg|M&^?W?|dM0$UBo6w<8MjVNs$Etb08PI2ZeYYzA zqh7&{cmx13uwsr45R@n9Zzqc2MoXO#L(9O||IlNSDiFjBCPfExH{c%k2-2rTX~6?r zk&Npd^A(d{*86e@d6XzHK97L>EK^caCzqzY&y$&_*5<-NaAEOA<`7GEe*V(EC!s;D z0u!~7fip&rD<&46fQ(EeZ-lFL%K^*t^D`qSXAXX1?61g^onR7k(dE%b=ux&hCO$Rn z6YHgrrN{J8biKJ%v}Wy!B6Lritz%a?5@LYC)Q+3$r9Zw!-@1N#1|#~iM*M)ZcK&Fm zo3}NPQ4y0fquWk8zJ!WOCwz;cJGlmV8Xs({He@U39_%WYoA$@~#t#1-@(AK&NkWiAtzfV{fohu{ z?|g*{D>S>NC!W%{Nwg}FzaFKIWslQu)ntS9+-*6j7=P`R8bs~p2bbn>cTTt-NAJc? z+jtfca!R_u$C9%*^!tiD#+%6qg~yW*Psxbyp*8t%9TN2I5D)8Kd^x*Ua#S)q5%u1K zNT!G_3ymF5@b34_nO&ju=R&@`Xz)3JMGuJ!(qYu*yLqp-kJEN&=T${4R(As#o5r2n zAJP}_@?ym8(4xO51p@P(R2)@Rbexuex`{Q}H0_N)snSUa({BZ^j@E+DPzTmBFeeTd z+(^ej1B*%b!`p=K)A<%Mb8d7+#d&*6M%zKh!RByjrS$DLh5F7!uz$`Sp3f&_r2m{p zFUY!*yU1XiCX*g05J(hHla+T|nChEUcimdhg7x(DMDxjc@0W76NMy#;_Zb5}8tiav z9C!FIKhayHrTz;J@fcB>+RYZTivB=+&q1*3=c#yBehsEFSiGcV>^Yd@jTL`WF%jOr zi!PrrNN3M?*SKHvL}Ld)eyN!Fqo@U>2Q6zhD0}nn-HPthj4@TLt83*3vl%I6cB6n^ zXshDlpQ@3lkXq3T|E#QhQQll{C!wu`p)w&Pu z4=s5-K0{q*PnQ>zYA0*1NGDwO59ARWN^v)7+-b;#u;TzU_~|5e2>Sc-5ufrkJFp3_ zj?XV~)c^?X7(%mPtO$}^Q&ZE$#iomn7waKlA`vUAl$+Kb1l3tWeU}SWP9SG~`{I%d z7c%{3Ms92ai__a>j{r9)O;@GP7&#_3<`)OKz6Z-uL&)&gFkEIRtM)fG*pAMZaW3bJ z_J=Bm6D71)axdg|%u-*%d<&1H#Y*@B#FMbLfFtvWkimI#oF;@Xc6fM6X}DsE9<5hj zGLjqdSnK)k%O=wRfUWr4mYw-4o}>Z!AKPijiHB8EdQ3Whc&uppDu~H{bxXD?4?k8kd%zbLWL#+D3lrwpBLxt`A$$vOJcrZ^*;Dz?6d#| zvI4mt0i^qO7cG8yzEf$jr&Ov`4cBaSWK3p`hr7b&Cf6gC=P?yy#6_@yK7_9R)=P%eAbnQ@3g&p^flFshoHJFTss61gcJye z+&S&I^V~2HPu!AYr-k4nu3oH#Up3xRnw8Zo#uNehbd+or z(t6$k+qmw?RZ~;Tq2E1D`!1=u3y%Wr#)FcGhaJ%}!ns45_H7=x3=?`PF#q#pbGRPqK1fTeIEevRS3>+cW&7GfU=Iu`$`)u&9D& z%qCL<^t6pi_>uXdY)MvqG#s7#s%pg*DnJpRDL@N!Z*XMXTc8TXOOpX;(Wrn)t%|T< zF0wm=iLcQFmcwR_8<^^mH9Pwi>ych#S|i+Ix3$#N)Ye^buncbF++>+XA6Ax6=-i@L zh~6TpjcD#4e5-B`Ym4nhh)m4PQt+Y%^uX@1v?oe3X=zb}6DeS;*sJ^Bl@Y1v;(wo} z6)tW3nF!Eq&vCORU&3an&V&M#EvlwgLK*6v7fNJ{F;kfoA%gFQW3gOAa!CwL&MwZYnjDmAO~z#S1bszb02zW^u6k`o$()@Q$Z_Z1EZ~t`XU68t_PR zEwWH#!cph-!0Psu&Ex3wsRpqEN)+;Hyh!gnzo1VPH053FCkUINbFDT-MI;?&X)TwM z+l@@)qhLMDVNkmU1^VWh4Ncb8H%r-JXNva>l_uB1*oWo zuU=~>w))VuelCM@G(D{+N$Pg=1k5 zSJ5m9*SOJAB))T<3U;fU)#$MfrC~u;?eeG@@WL;k`Jo}AU=IW zac|s4uVKIlOxr4b>m7RTub49)MZ$D@p$?T(l<(RXxp(4kjkfA|L-P%UlllX@`_avJ zO3EO{a~<%!2G6e3)eWfzrC)Ym@2$4WX8gOd;~mQA;XHjXmR))YEhH29-}f2wfA4eo z4(R(icbt57Fth1;0wn-L#UL^oQcjw#C(x>IHy>mU%)-*^xjAeTi<@KQ7)^~LrZ(l7 z@HaGU9Dj6a3XV(G^EkgR8C`DrBBty%i$WEGbg=k^?u#TcS$i)YKHT9y^t=RhG5`Br+>_nXC0&z&wOhlt^dO{{ zXJ2jQ^2j2KU?hrC7~Q=Hf&JiWPvy^GT}V#cD{N9k?nqXha1R)~f0!~k8%@K+-Z*t; zRi6e&r1Y2Yyk!?P67~dKf4>G#%#){MZic8D|*=Ic-D9CK(gchpyhs5c4 zsXKjaFbFiZGGZGJ9}rV(+c~vDf$(7Yw(GPXIZC-aW-gM_^RFHe)dv z+g)8Kznpj9@T)tk0L=k1@#hK^PG?DYO%Co(WZ~bVfdkpegHZ)#vFzxlf3P>+P_ZS3 zrY)E^-JBcoSvYm>`zqaPpExQNsy?jPT%Z%AD+m#d*bDS<}uikw8 z2giqOs4eqr!n4l5^O64Z<{nc+d?q6J&$(2G!fYP5;|dz>C6~g9e0xD;=!DkS2@fj` zgv0b<-*Cmo<#LeEuOMRLb03PXjgj=kx22i1K%c0)0h=0(YhJQiX`Lhu@b&o?5mYMH-Ew`Hf4w$jHoEb-kBPK%JP_zY}j6+ zu*sjFGTnqfm%<#|D8FW{!6{7-ba8i<(@^SprR-2^#2=9U)qNqQcP(R>>tH81J^ZFa z;dj2)vXxR=*`J@NIsVG6cXn*3WYHF^-JStu}=SBV`s%eC_#uoTwo4K8#6_9FvTc(haXKm_?WJYmP01GhD`Ry9LR>!d{q*#t6Y2Lb!IXC!#@WZ0)GsSf}rWJ8G#Z$Ovu8Ls{=$O zy@{!B!gYSYIh5Uo8`qtbt#sA-q2z8gSR#|qIG5vwL@(L>;j9EPz&AbQy!-;4p&H=f zbbYA=+8{kE;2=|kL541xMESLS?lcGm={XNt2a4j_BaN{RyP>oxl#KuTSx3UA@e*;Gnn1kuwbeKr+HyUXR z5HCh+KCgBgzm7&4G;DudMJnr$jpq)E-c`SmaAC}tAVK9YZAMDD~yoCOikR^2sDOHES^+KF>#-P6a5ahzCIxgK2NZlxnfwT=(ViR{gjzQc19cP z?Thtp?93_;R2#8~gI(K9G;5A|tz0OrdvH!@uC)M_`nUJPE8a}RlZ8rsJKzDG<|^H^ z^wPTTAlN^{a8V%=Cc!^%aOW@XBJ&ShuEVXs_n^XzcXZpD+AzN8r09#?8?v3;NIrgH zL$dCKxz=;x=9Z>dgJ)^JpEbQLWi_e=1ZfFx{7{YP(&=9#2S$9HA--PA5j^Lsi{#{! zecs(CwxG>4sHC{rnZU2;E@&4LmAR_^WA&X_X?ZI<^o6PCkRTS#7V%aseEq3Y0QtZ} z00J6v)@xDY_XGM{7|(!sQZ>iOV^uo}6DnfO+~HcQL*Egtq)ILdNE{`nVBhr-M%FE!)fheiwD=Vyn<@hjEX}{AJI@v#Z$QTMjY?q zLI?85c69g|a=D?qV}!z&q=@YA7pPTaA=v_$>;uxux?Z}N_h<>*I#VX7RGAXPrE;n$ z2D~`Y))>;c-ZkJ9#%T%L{Jx_sEF;o_o-;W1#u>i%W7q_pHc(i3FPn1x+(4J8B`)Nj zuZ(?WT))1V%n!dMF?tcZIdTsLFtCYf{Zh=*FN|;oWo|M!4%!cHX3e9Jh-(crmW`)^f!lM|73Q zI2wsTr83YdVP`OyX&**l;fg~4Jh(JaPxOGSsHog74$5!DoIhEf4jUeJD;N;7@^W) zj)}Fq-}2qPwx*rXQ|aHDDe?sj@bf=svoVNlxZ!ij=N4Kt&kvAsema;;jmTV{QD?;O z;gGLzI6shX_&&gz;jx*ndy?jK!@cZ!GL$Oyz=w3NUl{17L541Ij$-#D%ty&K`oj8m zDfOZ<5|J4is@T0}u`ip;a_Py3F(uNr|i+pzz37FSe}50KR+s9-PSXN@^hsS{~n-wUWHM zyNL`84XfY?caC;p1tF&4_1*NItE9`MX6Mc=Eun=g(IQY4XyPI4#jfG9dGlJ3>G^Gi zt)7 zUarli*Xt-ZElSA_9>3$eZsoV|QH^_in6BM*X@Vgn-q_>(j|@=wb98)a$VF6`WXCS- z%{>s<*T|yrX7m08Q-n>g)H}kRcAg0)&xiv)mX=_25zPk*vyMxPFt;ZRaFb(8bR^i7V_RO`X~0Rk-+t~%w+^P)ph(Ieln4S?^#cyis=10Ut-ycjFv?V4NNMVPV!}G`CXLWumA&pel)H65nxfveU+Auh%9Z% z(n(T!k#@6SJ@WkVJnSzYI*?>}YlR%4mBwyLL2*ka8fr9*fV)0DlrRrA{g{vk95(Vy ziXU*Zx`D;xilj@tH5x z*^A7pmqT$o?!x2QvjJK4QzK*abPkn3w6@39M~mrZR)Vwh+oNf*vKgG8L`+w88=O8{`&UDtz$iCD+V0t2%Kf!keCQkSm}u=wBXHQU zjtNR`Srt_$@7bc!_>4y(WYLzSida*y&K`1W6aIbIogyP!=cQz?2|K!a8k-r%mdOC* z0^;15I*RWNb-3SAC)G{sG*;HID@-E5q);f4TdKE=RAlLT2zwCoZ!CTFTkViblPF>V zue}{jvdsdYUUaNC(Z0Ld8wtn^O!Fn+xAPIXApbvp~*bbz42T!pxB#>TS2C_v8XukchF!8?_v+|qi`s@ zG6gm&n?B})?AipYn2T7xCccx8w<8H)D36FT`TqQ*=p8?sc@}Ur4`iiPn<((TG^zmB zH}!_O;|kNqPl&ppYZPvvvU8=d7LyEe{4ikWvxvbNat7eLkOzC}t^b)V!&dElf%{Wy zOzm?yI`@7WF&}K>k|;!p0K@RUx~hI2h{?&luF>KgDww$4qLLMUbhE9sI5!fPjyJ(E z{XxW|6m#vZkZT`GWs#X>71s-ff@@QV3eIPXq^Q#O%nTPA-*JjtcJO$Wy`!dkhd05- zEKPnHhQ?PWxu#&;{LPNnkJmw&wvLcES+&IL`d>Cd7&-oJ&F>inJ`CQylaw0ZhibZf zb+UvO>8BCg8;VAITWMB;{?=)8oA$;gDu<=J5^r)moz~CjpARY5|M`%HSSQ*3o_g!; zerC9MUH^e6jl4jMw6v}5o%^aM^=Zeg-rz@1Tq%~@4iWfssD`tld4 z?R+<5f4b%4cV}lkw~&TYLb$``^^Pn{7oQM#e}QK0H;Yy3ezdiiP@nz9N&;95Gmwy( zspsJnL7dnEs?r&DI6^|Cg1XVctg*!u0}@e&IYHnMr=f0DvAE6g7d9Zku5~dU+YO}p zFz@)`IDJVk!rJ}XIRrSMcE%Ia=?hL5*aI|uzLq2lr!-{{xVba-*d%#n8Kmt#MRqUw zIF_qV8G75+)vm1;zU?5;3O)u(7Y0KJ&NL3eb}Ox06?I-4<;Wp=xBukmb}Dd) zQ}=8vZ&1|B5?CP9Vl-a!wsMKb5C(jvS6knoC>W{F06fH`s2N_Lk|%d#Q=S1XbtoLq z=>3)vj(YYN!2!x>Bx;`2Qeo$p1s!7y~AeUdnA4Gf^KdDPn632=Psi$ch#hwOn9{Sod$x zCxqWp*rBi0D+HQw#EZ+~e9VlBwMauGL1=$}jGoS{N^$M6`7ehKW4X&0JXRhW6>QR}H%^ zNPUxPq!R)NiCw5c-LW@nW7P~ttBj+uOymDpIg%Iub~%Vb6TExFwS33d_?4eZ zy^n%8voOSZzo3U<=myEhKc)?B%*3*E6E0 zHRN~96U~!dpOI;RFRuyL#%k$qFAsEd6AOhet{^zfKqcbKgQb|?9YUFtcsRPAB3;Nh zhJ!WQJXkNZck|qHIvBRb-ajk@J3o&Jz4AZRA5b4JHblmgilt{(p%`3OeZ4yQgCggw ztjQ?>>n_3HrKI&Ew1)gi6>8O`$Siwrc+`#c*PB1;{esUrJns(I*Cnd7_g34vDyum5 z^$Edhdc7zW%bLNU2rIc^v?vE|r)`#hq2;G5-WIpn?^_(H;KTR~CtIA&lWA`*V~B>A zbESnqXTz`%t+=J!w;`WMPF;9ecMyhe3hqkD{*A6F=EMQg|Gm%)uX6>*56{jW{K(?- z8-N94#>K~v3Cg7Fph?kVOb83UiLW_)B!gzoSGndj|0Ip8SY7h+nNP$gPcw1@+t7+m zMvYrrpWjkv8w@l^N!7j^T=p97Lfr?Y^!f;Qm8R>i#|*}r3gK=x*mL$)>jVKngAUCS z8B`wIlP`a%sY|=R>GtYzv2!kWT9K`@eu>lPfX;-wQQiJS@HTRXsOIu2k<;swJ4 zDbrNe?vD0tou(L@Heqdu-}dCQ(z@MkNQXx&s)U(Sou^TSxPk>7Rj7@M&!BOhtO!2&OxxHab{J zS}wmoz{;m6P;)9w0Ju%MCIp)jF{2uNxC!GUSqa|x3Zc7E*jF{4%u%l+Yd^4d8e}=g z!tZLZVks85F6z?$G*yaE?q~BJ;`v`jbK%{KbjXk0Q7({-6*5!kCVDOV-U`URgL2={ z@@-Fzn*r?^aAo^n*Q!qbGmGB6rjWfy{|7n4WOC+PkDk+)kdg}D{goF2mP9r03&UvM zo`mLCgwpC*+@TjU*yF~Auo_suCmBZk8jNfG?Kr=>^VpSTw_KcFzc#e- z&^wLH>I3N>N&aAX?JR zVR%+nLJ*qZ)BCAn{Qxj92|mxJfdT?O-w!Q!$mj1GWPIEO$=X*oP?3BgS9)=9Bw-(x zl2A;OQAy-EFmR;RdoiO=Slptm?boq8)=rZ=U^U+kt8Zd48OW-R~NW>20iUg&~rU{-(=G)v>t-!`%{1O5pjW)@-is-*bORk`Z zqyh53SDz=fKZ*<4s*Mb-a4|U8>$jc$KPsiw+J%hXZoNL4Bl5Z(_Q`ri$8k5JpKo#? zD!eOqugfE}1_foUuv8`rx~#vk>)0_14kT-|(h`c0jO80Uie5eWQhO`!bv5vuZ6d`Z z7zh#6iVphrOY+=P6P>01tbeWQOJJ4fLJ4Z{)?yTid;&waNOo{MytLMkq$-;{@%>+k zV*#yvpPRI0f)Vw}CB?6H&N_s zyo*fUKZA=nj;4DZVXjQPW(G>0tu-$aHqZzx~11(wl&#Z05%l45FQEyVJy*^h4V41aS3(Fz=XWv2i-@a41?qk~8eeeTK$b*DU z=sD5Te_w?BLp>S^Cra$=b#-BU0kK8>UdW^40jb)&)1t|$XHq0(v6yB}ye^CT4B z^}?#QM6w;9PzCYMYiI6QND-)fiP4}ecek0>B~_ou`p;NRH2Va90FdCfp$ONTzM)!6+mbV(<(wPE3 z2ldhwkfpJaJ_#8hmjaydt3^-?=|VfqS3iQaiid|kWIB(%@p(F@mK+~+z*8Vpq8N%E zKiiVxE>Eeps`+Kj} z*)#|(+>u{;;MS4W7s&SgEHfo&G98_Q{%WK?=c6=Bvo*2Pq_0veWwG9#K*OiH$r=kN zMlu2jKv{a34~guRKrP5`lTBMoF@P1Urm~rHnvJLTj|}aNXN0~!pYc^_bPx*JFNJ_q zic{UC<>fiO-Bign2Nkqr}vw@v{RXRsk2g=a~)Z?WlncRMv@obu!3wA;GzUK-5 z%%hGjivMjrfl~7N%6}}zj(Prixg3<^Rkhskit`3@oS_*vhA?RNJOce^s%e)2mtTM4 zeCZ>-Hc|8oOiUb!8W(!lH#RXb5v%^n$_=dTF#GO)Cm>aVI!lQS`c)?tc(@cD%Id#k zw|g&4x)w_>?$Uezyp&tUX~Hu_qiKTjq|z8=q80%%4v^4HV9x(MZZiE+?Mc9T3t5r% zirlu6B*_U(Pu#$?m5mGsB9!yF?ElcLGs}}0*CPzFau&$)Wi_xwF8(~#mdkQhml0n7 z>$n+8MLuNep3`=AasvUBS=hX84f&H(2*AY(yx=J-tE8Q?UYbhgzo2ZTc^<`QokGHh z85K3LfNOz$)^HjqgOqGdl#qeebDf3EUc=@e*uP|>Ztao{6AJV`3~Wf~AW1c~U+tJB zs?U@e>rlM0vbLUR^JHr~A0V)Z%YbTri)GvQE`DibLv6aL&4PsKihl@QUN@uGtfE|) zmI4u(ec+Cg!@u$4@)32nvi{;dE^y1ApiYh%yvyD$GsQM}{&YFc1~M6$cN}@`<&Ck_ zx6=Bu>h)*~Bj1dMK)(iuhmG{a^{ZAxVHg*yuZD!_2;!%$Z=B9!PW;O;` zS8A@;rH%!iFiQoQV{)qc%GYfBv8IsdiX~)?nc@jih6xYm89u_b)^`PddMvnP!dM2J z+`?e@TG@CD_iy3iVn?HZmBbdXVXrv%QH5Uf)ufCg3?YdtT^4$-bW($rCZ!x69{y>T z!umA|*-TQ`3pWe+vo>H1i7{N5{FUmrqbmRNR;|&;l#krc?Vnp8={?$im!)^Wq!XQD zIL->~&`$)jY<22HfcuGGGUl>^XZ$w{l3x3cu17}x+LPTEKPN=B)(o-FS=0EetHn@Y zy{TLF{?GIu9r|51DW~DT;!V_jMs%?l0g6QJ;TwKZDDp^f{Of_BcW=hVFNFz8JMet} z%-7JxxYb&~i5HPplW|CL_DlwKo8+qPqBuBAnG62=7pa`pyI;QWmq+THB+GZmVu=bw zUMKVk?+A^L3pbq#=nS$q)sl6m{fW~Vb_JOvV9~%T zS3>q^H`!?@Zyl*Fx98TK^l`Afe~s3G>(1BI^+XE9KViH_ELcV{g#lKFf4iP<>qg+R zX?c_IKOm-34=$ax1y$*`=9c}AFlCxpzFBP2uCW_;6c58YqZE{p3876IS5z1dhDu*= zR$Y!6?XF)jpc~e@Kn;Cfr!ZV)v)&rjS43SR)&HE^V~zjJUX6v3n3UE(NVo{oX(jol z9VZpOUis3}mcn#by*)oaI`)3zGP){>*Ldnho3KHD6by!Xyrq&)9|77#jU&VZg`U}uX5WgH1#g=QBXZgoD5;xy)`U7ZBE8nO?|_dcsUcBL?+ZR_SEc7g(OS%(JtVv+z` z-q#$_X<6!9xAx4Ch?CIxv|V%8T-7_j99*=Qm)pNy0`JAty&yg+Wo2c5YJI&&()dC> zYx|JOJ-dCWhiI(N&cWOsk6S^fH%Dy&eL!v-FR4bosWI%O(aemLUk0Ovic)b%uYV<; zcFsFlNZwKL6`E4qgA$bVK6kB|RT&~qv8zS(XFOYH!v6picqLm_NQP9v8}q2Sqxn94 zTcTnbqyGk>GQ~MzVt_zo+*t4#U=;;QngOk6zX@>ld|1tWnwLd&a(EirBWqhv&iNhTk3Vg+NxYK1ua3j1bDpTb4%d-Pb?^_3YB%(3m(Wx=Ei^7BEME%b!AC4SrotK2Y9i5Y`2QR~Lpd zUhgQYBCeC;7VU6QGp6O1l}>a$)?>@9r&f@3^5R0!Nx^odXZvO2*iCN1d(T{LH%6%p z7A9O+Tuhl6LXaLjddz`Jfr@ABoD3uBPMv*ev-qQ2^0+ll}7@1yK9s@s|1}Ci(t;cu$hu z!R)WRSy)<*3?fJv82qrgV=bwW)%aWS{Zf-%zx$eBP>Zt}{gRH)<@Fp)0g60Zts9xs zWZ&D-?hSK6`@s}zvQ)^Tl;sN~RxODzk-#6O)cK~*(3cwLs+!Yr$#bLC^yfR51JvC| z7#<$yl!K--O#;WqVJITxZS-atWc*h8($mrp?FKhxEB36SE8Do31IsFD-eS3#)od&? zJPTHlRHs=NpPc@oK;aEO9GC4PHp~~&IP~;p`I$8nWx&$A3#kR# z9Dm~T$4fmT{KUUBBuip_~qjJ}olU={tWl~%5s z)79wfBd(G(k3~blYBT~)8{yZN=RbMI)MDhW%a6Ggl;k4mG?zoT`aWZlrsPx+GUZB2 zqWDgpB?X>3jpI-2H;IKZZf|ujoon6B95Wfp)dmufsHMx%#W6$NYy%Xzdu%m}<1@>m zq{!)#Z3GA@EH(#zUfJJmEtibI z(H^cb?wq0C2g;_iBQsuHWPTu@-PS#y`sZZ{3WH2F>jVESh8FgP_?TuG-BMzph$5mH z1-PyJO#)+%@g6ZSX#S4EzYtHoXCvEHS;x+v+4L%6zB;2Rr%==m(#-JzWX!rkCiCRp@pa!|NQ#Eed_-549j%P*K)>w35Xa^j4OtsNfe zg>v&@ISSMTV9v0Qh;DtoQx8CL${V&n^3a^it%;i7T0%?${Xtn0(7zCO_1rrb1Sou- zJ>4*LqCf%-mQ;Y--`|f1!|%06M+S*(k^O1#j0&gQS}s|ft}JABLsf+TEQ*4A9ovjo z1PR6xc08ilme&2rfogVpf5o+po_o2<8V6-)jbj3f)b%-tNc=Bo!F6>gp@YNR$Qw69 z?T%ZiRVAeUcnh}mQs#Hf!yy5Hv|oERXJj36mYJ3FN@1aij(fKN(Mtgd4bS8Qp4Y>p zYF3z*Ao46!G)s0XbS?xWvvOB{H(sJk2&vT85Aye2DBDRX$w9Um-u897RVBmRh9z#x z4ulU{_($jye88kDFLN0C@p9+a{f?6)wBWMV^(8*;_ zY7lFYdiJhmqNG3M*7)~Y&<Kp-pN77Hy zz3n$V(g&H;fY!Pv4I^6_nj^%jbI>*XGPp3cQM%{jE)2Q@EbH;Pr z;DYMlz;gJJL4~OFJ4n98Lz0>uDrHO`=eYslE;o`&TJ^H-cFUwIH`|s_q%C%xB3$P0 z;QQ*jQDQD38!jk7$!n(}*n)r-Y$Md#-i{`&oY$bytKl?*|}A*4WbxltF)nkC%iNvyO*A6_)GR5&gs7)Bg_?Rc2 z+rU^u+#6ZO%V+gQOQ#-94?HOf&td`NTx&j9o}P?K+5}<539?1kuCA%)_u`3j)7=RS zY1u@+$NSHNX9Png--$o=WtdKzj8gPy=u3Gw=PQI`E40N)UFS0*%zOQ9rt|&fI}U91 zy6*G6U9&H#-ey4oa1$iTI8d!(5|N+^l7X~e&-DzQqo&S5&~va%i=C4m;sI0WZ+%z} zPb!NcIbGVgSVfldlV97_W+V+AznO7ZRiFui^B4B6PMFv%!GVGVefSNpPa6se(}L+B zn5AZZLOZTtOCD%Kg6|!|pHhXt@VP}(j5jpN%d^JKoecIp8XoKxyZ95uC=9p>%VwNt zGvuWo_sw39rZ~Ebk52~$DhR&dng064kkRW&9Of^7&|*DTMWoeaSIK{tw;xX&i`(jU z!fEnt@hkd2BDm{!|AmQ4&MeAp8Yh4sE^HQ?!-p6S-iIFjskdai+MmesorMDzDdv)a zOfTR!7zT=PfviF`{v=f`yI-(B6G^D4QBjMPA=aU6m>A0$exjNEX)4Rt#P-GHE;TA5 z1LkRROaav9a#U&*c~iF(qzey1V}?g`;@mEr2>|HG)!0@x|zidM#dkJa+iFSDc(1krTVIlx`jqYg!eL(5a#L zjF;{{a-R3yRBvoeEiUslOc)TJK!{!48E|(DpuXqit0v;vcyXfE%Z!O9Iz_HYnF3+i zFmDB0`jfEl78U~dALfl=t|tkN6g%aI;k{eKwU=j)>m+qu>SqVt_q`G^eT+@ZJt(cE z<>5b`okj(1cr*gBlUq#oQ}!JquhngaS%v(?H0te>!#^Uqi`hyhwdMP>`-5$$>EOuZ zz<=(gIEh6rJt8x|M;*^Zm~QgO7z`obG{NVLhpx1`8&BkuV0xTxNhyK4Wn>g2n(S8a zN(=R4-^Wo%pwcg4G}-M_{r}95(5aN4keFJ77|792Vh@y%uls-U1kyRItI~6zA%B07 z$pbDo(?js`h!bYujADgu@NQ0oy54z5`K%)%pA_1R;C=``{8Q;_93?<6GO2UVhVZ7Vv1=lunHhy8+FC@n<+afG^_Y&vkp6YX1Pgg)W(JSP2~Z@L zvHOQJT=M&Zz+bfs(U4XW8FG-8o3gUQzWb3Maj7|V4&_27Jzv!4j-04=7u;&pTHpg3 z-Vge!)R?kEIu#{L%L9+StR~0(uD1{dblnd}c|wB0b}PU08yiF74aIIcnmj_O5G?Gt zq$bC=Qn~Qalobh3wtAcw^IQ`MgAd80;0t-KALS%8LUi-ll45d!w=ri^h?)nq>6R@V z1Pt-A9M0{fWr@$=^~W>aJ^R&LUJ*(7FdG9xTDU0ioqU#4!|fohkkCJC2HbyjJc?@* ziwDsBd~%#YrFM?#Tut2)Q~~dsuOM*jd-MVtRUd=7-@W;NMXRNTG+MnlI_@?WL9{TcW z@9b{Ra7sA8Yj@|oKGBGy5DchI9nmUC4J8U-_hqcvi|UF+M1RI_w6!2on6Q>UcM=_V z;T*=00*$sSXC+pu;ZNmMFBI#^@P!8s>s8~zSbC)EmY5iNF3dhg8HhtvABE^KIKktY zdg+S9fLW6=h}mN=+0lf$&Yj96qSj|<<4btGeZ}cRrZmuWG@Vnm4z0fNmmmWTcLZ!t znsePOzH}nsF!GfblwnsWdJxd4t3ww$rGeD~o)brHhdMGyJ4&lyLKk6vM+mzqDr$&o z;Ovo9&$6nwqSj{#SN7JWS%6TODG>fptx!KC4M4krDF(JCz zd(?mF|Glcnpmez-6GHZDr?Uu^edB2VAtxW+i2QR4PrKJUJ~+YLjtr^BI-g|m31Bux zRUt9Cu6sk1El*is|GI?1w)n2UV9pS4sUL~jU$uxO1U<^ehi3C7D()t4=V|ym-edl< zA3(O37Os< zo0Os-5>sAL(X}oT^tU_oU*3d_p~c`p5ttWsYUG%Ek!tw9@X;T(DsBv{J&zSJ9=8GC z*u7CeEGDG>Di#=h9^SCWc+ILeqUdIm+jX3^iT!?0mqJM&&008}ngDUW`XY3PU-bh$ z2jeFNfoFD#awD*qaM>F42@S`N$skQ|7U&{HCIzgj;qoJC&9tG|qm*K0M)zfqrWzAT zVFfMVt<}E*8i{zjSC0ykfXD+e_(2oHWPZZXK-h zAnowu1Y5~gG0K*x>qM-INY4tl{dtUkH1`UxjTq!K+a zc+@3|kmubD$4q)(dQ=+Jja&nl^?p=i&uMFUe0xDwm#jcMEtL9dOd=HL6Q1X>%5I0R zgu>QiP7G=Po?~H!jTy1*=^P@l_#d8zx(3}7DaDHyZojtF=aYB<7ce6B=}B!Qhn5^7 z=|G+sk>sTNC#sCpFYtf&$A3BN2b2#T^)9@*x$Ex}kmKvS2oSP;1ci9rPb-KG!am|} z8BR2TDX~i*{r0Vdl`$EGAOoKW7Oa-p66nFm7xb-6_>0J;t0uujf&K$*maZ28Tc7W| zP6S6|ML%)rbAaiA%KYyoj(3ube8RAw0nR-h2ef*ykX77EwG+cLT1D{ynEHU1^`gLW zYv4Ts+z8rELlWQ zZ)`FwAmme}Pg4|;0MW2;nG{H#P&#?OAx{Bil>{u}Ek7#=+1^7D3+EK?T=GEQa1g5l z$73iBU`SQ0xGkM%dAbz_PO%+qL*LBfD?v!?Q=%yrt}xDgTF(vUa@t17sr?BS%p$;< z6x2ZClaW==@yPfeim|N+yBQPBQpTn+F{a<*n)*9@A6bs-6m(x(qyrvIex04Qp7|yB z3-1)sT<-3|LC&|v$f;6r*q(RY>jYm$tZXnd*y^Tyn=Kq9f_n~eS51)h>6~pe8x9f3 zTShR&<8lTUYzgutmZ+jK-NxS4k+`e%R|%627NV{|H?S%{ePK7~GY4SC5KGu%CiK-I z{JOdCAO8o4*XR4+ry(c4)J9VtDeftWl}b*T$3$_p-csd;2d5^2Ctadf`GL;m*+0{R z2me9syIO9|Up#(d-N3#vlAgOX5|dw~nz6Idtc5acjqesdw7SkFrm@=32xeB51W<>A zB@bD0oj;-+&1N2KLYNGZ17&6}?&+aZD*PG^<#^S8k60gBlsP4BNq;OOws^cg-%d2@ z@+Du#XC8~>HX^c_jTqQc9CSO1Cx72+T(bKXn=KHZ>R7*$MX&@DlaJY28>27UCJCaA zbugZOVXF_YAqw*13_Dj`xFW;t|DrFFZ%3aI zXGY)oZPNFAV4lPJm178Sf*mWV`+kc$3Nl}7yg*oh+0q4@`4}I{HAz9*%CSkZ(=mB1 z&Mwu-S~!yMf~LzSd~RQ4nus_gZ74at6+?dN!Hbk3g1181gv5}tzWE5mn4|n7o zRwJqnVSM1Fo>IG1y-nvffRNFFLqs7!`kx8#{;BMLvXzG@LQ@%cUIUoYjsTr^R|hf(JK-NH!iS55)!kbYLwOF)6o(hn?y_GM;CJ` zU|!2ujA_ue-`c<`RiL-zoEc0^8j3-8?kwdaB(r>zl<)7Y)nFHtiO8dc7)qdN{*t{& z$-zieT1p!t%bA^XQ&;PyX^K`;m?tZdtvWSW?qY(ywjHT%}E}fhEIvFG~4Kk`i!@Jm?#I_iuDP?-PzL14X&&0E0K~E52M`xGarWO62<#7h(z> zpoAMl8Il8t+B)^TiygM5Z2=aFY>$H;#F^t34d9_oBtg_XZfM<#=qF1}kl=7E z+lT2D`1G}6wHDeYRtidoPeW$>d>EYa#@~TWrG2gXxKflu(Xzq4soNONPVY`^{Djss zonfHl+me~O7!y^u%A!UbXR~ofrmyAV0G&`65^KE91DAAZg?BC!+|PA{rX~4dhy^0` z1&RC{q>KR)ivVOSW{7JO*DU!ck$O84(_38QxQ4u=DalJg7d@E1j3P9UxuR8?gQdC0 zjyCWRXMzAL3mq%Oqrl(^5K05>C=`zDx?f<%M`yEa!(k$~eiox8!h)4DRvSmuf zNiTZc5a=ptI0TIBVqvbH|eRlT&PeN*u8gP+Kz{a)~Cs z!1rQA9jzcPlpe)5=NO`yZ4)4!D3$OuWa9@ z;c;E_z3o1`ECX|cPyOS9ndeR=R7pnwf9CNKfr@Ah8OWTy+{r|zN}O{-S`@ZiraUL~ zbdb}6;-p*ReN4Fqj)rD~VFU|Fd|fb+rkT0=$&HO9GT~8U;94~LM$-6^y>-sgNhs8{ z(sU_4h}GEpLsfZ(iN{Vu1VK37EB};7!AKSqrnDY4h%=6IiCByMDa0T)RGMJZ;daQI z9?Gvr0)>yDxul`|q{O+rsQZ(FZ){JhQPz!RbcXdEvmSW`6GMTe8{NM^MT}t=!qICn zUTB=oig5+$YizuLHaRt0|N7`Q=XigUInDP_v(b!=Nhp(?fes&vh^8(cDLz}Z3CG7i zgzsr#cliGp$gM+3|H*PWWD9$$iM~@5R->lOpIyb)kddo}@18cusmQ|mB!X{T4;CSY z#w`m6PynA#7k_=!jssyckNVoOoVo8E31i86$$>^Wq*xz zkZjn@dY;!Lj7%Cb(Tplop~34JZCVbjs9=EcyW{9uPR$2mvV}Wrgo0ohl5>-413bQP zNj#nzMvPupzRf^)xv}Te!S{T1$9Kl!(fC2(Sk!sH%Xrf@g)zUwuFam`?T|DvZ68&@ zm_*QYx{2r;sq+&jYHWt@X*x8>t{crfI=`EO6;Rq;|$WfZM8YSGp52x2xM zLziSeO^e#d;><+R{)7bCXMt|$7k`(aHw7oxzF4Rq3P$R;pFg>^6n|hrV$1RMzq~aS zT(uj)pMw1{eouYK78ChDtwO5gz_7~_>4v21UvBEYq$A_b` zgc_GeB~G`31)}6y$?G{^>*I%1u++fyn1q|x2WUMhTKctjL``RNVDzY%83~V;8hqs! z^IZ4GqI7(({7X>F+R)i{x^kW}C)rC1WisE8YTc(vYT!^6ht9()Mua+!%+)w|X z<9?m%SzA1&FO%zPJqA)rMQ|mLY(RnJ(v0D3m!cDxatfedZM^0iB`piC`+(Do0iAN$F)~+zazExh;S3i{CdoOFwjTnspfsDC95jffF&%3 zh<6fEYxPwNe5CCFoBE7Xpb`DAG_)|_Z72p0~mZkZXE zM;zft+6N#aOg7mq1kUMseuiPzb#(L`4(JbP+!70jHFF|Cp$0v7=glw~^Z5{jWb1F9 z=%V6O82S(uy?EdWTUN>(CMu?gs}GMh%m z-T724O}_uXp2(>DKL7%X`u(SDsmko&+)&p_a)8+ev6MP|_)q}>4#tsA&%RQ@M3Ec; zp@0{*U=Ay5zW|?z8P(Jf-b8_EVx}bEN@0Nn>d(~kl0PMT`cnM)gFYz{*)~AS1%vMzN^mrS}3?(&wb+qbfef7X+1gI)|g4=YJ``>MKwd zG&LunabgqomQ$%>@o65l+6UQ#ei~jVoVKGM-|(eYNEpYpZDnoO0+uka{YgM_D{ni- zzmlJHl{XRO^(6EIQv|H0X;6rO@G{9v-_jeuWU6)8&#MFnQPahzWEA0xTE9JNh9?fE z=q|$2Wr5E!zQyGeRHGiYq2t$$7J$h2W)LO-$(?Ms2Qh{(cjpFX)8Yi|w#bxPIES6P==9WF*okfI z-PAK#8M?p&fHwMgzlC9WN}kLMUJieEFNAgBVTo12;+mE;HziD{{5ff zH~MAB$c?`eyBueUQ%*YF0K^sLx6ylp$g80$oKY*T(Q7i9PMLrhkF@ug?rp=1sVz5) zN3wmN1r&ZIy{))wLHAQoe!8UKTeJU;Bf|;r&L~H!sdlJ>?tNRU47+@z&3-6m!Ssf# zZp+Q^kkA!Dy+-+bu(Deku2bN%85a&^il5tWPJ5dR%Jwjq+`Weu^Bj@0)po}t+a|;Q zSbB7npLpQ}D^Gqm(xC4XPR0OiFBvfp2_VX74SGeOCrQ|nt3Q>Ig)Tp_RP!=J*ojPyJuBck-~ICRF;3pZ&X z(-&_Fn#%%(R&k3ZhR~$a1o{lL?C;q>x7i+hKgZ-sxzYWuw<<}?gR4@uW=Dg?P%u&= zz)*HUMAR=XA(QG)o;&N^K_wMs>{lrjBL_nkll9@+0sYf$|MxxokD3}MZR}PH%2ca= zcpjM9IFw#HJhU3D2c=?}Ppb1stR1CcBpaKS8zls4+qHbQ)o%Jqs#s29s={_@W$~dX zzFt}_JtZwwyIZ^IR7QSawa3Y3QGG;hM@6{uTY)Uf$>Oqbz6RWw*K7n~d5F}D^e6G+ zhxXJ?FCjPF#ICc;68ie2v)7B1&YI7Vyj*$G17!{=4X_F8&GAC7n&r`=A+`f>#rPF%+yV=~jEJBRxxr$qZ6pTJ<@=fTr zDJsC|hpoBWsC5wD7~iXp%jvWx{#5tAXSNA4y&sdXEsfDwO$3wjoPc4JrOG0iqaeDL z9*BV;A*tSZnyb&#Mo1@LkRV-5jRyNG!Hy>1=Mwm6uTKm<&y?!5}&B<4Tn2X$-LnSB~l z9~hZY*B$i{HS!a+17QED@`b6pW>oO4S@9XDI8?QU!OEC#J!$WsXj9o8$q6V9b<%=i z%Z8F37W_)O$)E;s%(&!bSg@Xr^%G0y6HC^p)sSjm2X6U5xfEem9?1b*gTNNBh zzoXf^OXFBFy!UvLxaL!ayit-NB3T&}gvmsr&Eg)ZPs2*zr{Pl};S^uVU6!#QONX+;_~G`Z_$FULO*VSA)| z?PIZCi7xfK4u-@Tk{`J2$=%ds3~$}aQ4&pXkN58D0n#>ao@Q>tGmW1a_@*P9gxnZc z3clUyhPBTLw$2Vof9)r*o|+#T8|p5UN{|(?OpaGl41Dh2kwqMg6UQb}nRPTDL#Z9o z2siuOf0{DjCdU#*Bq86O0I&@IikZ+!enBDO*^!lly>;h!X%sM9ieAZ zxgBq&{Fkyg_v-7SOQX^e7qt85zYXV_I@wPqb~I=o2A zc`PtCh#rBhjoT&Dh|m8csd>`)2-HAgT4NngsBI|qOKL3UaI)H8=$d6gT4zB@RH|nD z9XR3R)^+PjOWQf%xkpgq|Do%f0_*O+U}M|1lg9RGjK;Rz*tTspNrN`FZKJVm+qmcZ zf4KMMKArRa+k5S`W@gQR9rC7N=b{$M5D3_B`ZT}(@LFP%&cHYOE|e7IW0PxgM$>1$ zEBH>FK1v`X3S$}^Lo5WEJC$1%BcX?%ap}~}1HP0^HpY^R6Q{HRjE6|~KQI||k>kG9ftp86fF;$R4(Pp<=lZ=WhF{I`I-(!!( zBns-pR`Q0KmGs2H7L-XGA%jpvcafqLhM9Ul6iVma2g_!p-<=yK$U_VzKbmi3sh#n* zDXP1s;ah~A$=dWSgb0h2$)II7^>d!G3zz#+i&`Ef3Z7PbFvpldZ$mTj7E7TCv^=`H zZ+#y($m#rDS~_^Ys2f-3^=LMDn5wLqA(O@^0sw&W>*?3m&@c-*A1UlLj5q0oG-<6* zM)k_AM5MVGB3STB>0CeXm`YQ8Eu}C}n*1^qLy=H_O>McsK?+oM!2Y#3=*H5I<>S{`l;WFOw*NY`^(@*uC8I5T4w;@c(TuY^fm5^86b~Y8}h%_^sXC+^q z6g;&Fdq_fCyA*Zi$ymM}j8ztoo8{&d1a}>3^B7(lp#~KfiuJl|37e4LTNTkRzc%ee z4Yis09q7S2w=o7)E9xh|C#~s$TdeOv+4*ro&yC+zcIbROBQ~}Ybwukft95#{-N)^6 zlAKwx^%D(S@nCMQ-Wh1g3f5x~K0j5ET({pX#kq<1NhJEkBDz!3Mp(O+ryc>(^V>a@ zq2%Jhc#u?Dv{uJyx^=+)x@EwO59x`$6uLJ@Fx)MzYs&QXN`|MBPiKVkp<&q71yC%W9aLO9(Z zqmCu4yz9bBE=)&H|5qpt0$w?khl$KvVhG2*4T@$`OwE&z=ZI1!=2`FeXW;qaQ{W_50Y^z*o^ z2Aff57|cByjuirFD28}SV2Vhsgv_VOCVrTeXoysnV&k!P?7n>HTJ3YS!|i6lK8e{e zbfXg*nV=ge<6?2!@U~fRg=}bOSO8zHnVY2B2K5FKGw#RxX$e_bQ3>P{J1?h|#_xc# zQs3^6tI6^M0vW0Shl{DR|e1?QqY>wKXG)JaM5wm69QBYqOe!;uzxc*RV z^~@lxsXqaaW=Un^qt}uqMMLT;Gxqn@h6azXCVgM7SgX%sns>uXnnfwf_)`dv4G1M% z#rIu}#cFAxkrsFTil(%u_-_%++ONQ}kdw-B3B`MZ(oB22LJ8-P{6&p+FnTR4FrDk|FtQVFyJPJWeZ{0s}MCUjd2*;yVLr zdM3Nk;q~AHrrerD!nUEvF0vK!YUa8ls6fG9#Jl6BHL50ASy7DEg)ghC%WG~;(cjWXnOj3s(5xK2Wmgh3fIzeMx zKE)w=Q~lPPN9(&I7F+BUOVGWRDlry5s^aw27qo~K1&Q*JV z({z;K{x_hB<5!^U?C0QNC|g2uIUYupZk>3Nf?`!4*jx)Di^X)_l8a$^SXO^re+!Uq zqX_8;#?WUR^UR)y4_4$n z(P??q?RZ8E47N)s^lS+RZ1 zhWB3=6o|l|vK#8_(|6y&rSu@<$O*vVu{&X+u)fqveyej`_Qo=s%!Gs{bd+2QN!{AM zyA2X1L4kqjl>im>2mXQu2tWNcHl3aX3QYU@BfMarNq~AxFg=fZ%%i1sq=esJzzdK9 zS`C$|99nYjw`Cfc!7bIOV4yxe-UqX`V)-tEGgq|AkS<^)J!SEhVaV}j;1Jz8rk%Ds zCJ3*5z2Y?Hqv>}aGp6B;v)B|E=uA@hUFN(n@=z~(-I^i{*r4iJKzOX?B%80w^pzKa zV0mh2%5`eM7VMTlu0_|D!&+axwff;~N%e>|9L_y3*${R`ECKsmFf@_*^`ccoU2woS)!Sx8Cuxqcr8 zkgqsJ>myHpMAOEE5s>ga0%gg4Kp>;2ui4H!-DzuYB&mGS^?(o^;s%)hS!&Ch?f0k8 z2*`N^cr%)t+9n(9FCYOlerKssjzD+5a@rA2Od)6UevOu=dgC4KMW;qH3_4Mzs2*yZ z)6kQdNdVg}h&2W9u{`m)U3`$y*ntP}oi0=abpiKNcRC27(YK{9QkWBvN)i6N%Ff`r zfp-)cjj)J!-3xv6DP`7Bmg3}{y^dc`kfjgOcZ|@JAWX-6)zfXzji(;}X^OP&Rml9P zI=50$Sgf*YOr}lKlVn$pok8+s_}LAT?Riqd40P1udKE$K(FPii+&wG>&Qh_s+?LrrR5c?>p*eyQbJHm=n8@ zUkHnLZc7@;Q`@|~R9ggJ07blAiS5si`fq&gx08Hosj04LC{v~JO2*^nw|#Ts$E*%N zZ{ZRi3?D|SY}*hw+}~ZM%{M`0f3Oa$QL~Jvt2Tar<-BZY{#jPxxjaPhR1*g)gs5F? zz5ZZJ>NfyZH;OU!n+X;Qar`ltA3+IrwwiG0P#fPBpbwNwMnNW16)>?qIy1^!Q_Fd4s)7Ap<{ElTX2Hhs~9TqBzdOU08 z>d!*M;^!6>kTQ*wi9)a2$|v!WvVCn{gXdz`Ydr9A8hqCckK9|%Lh3=w)R+wRadM$P zvD99m0WL*Op@!l)?R1s)rO?KwmboZnieVCp&dN~WUTvV>sU!|kijwqvBK^kWQt0{l zcl#B~Up+Z)8?@ed^`NJplW~5#Ji=sqmsM}N@g#O#_o;F1zsrAhuo6psQI?*J<|YTN zE$V0!oIOuR=sQTlMTtp zb9x3OBJGnJi*0uOXtf$@EG1CmX$0rGu>7phZtOmHTf=2Eq!gIN^zRxYmRYU7qk!KyK_sqpba`B|;98DuMUZ)p&VbPUTm(WsiD=J_oGq9&# z-S-=obr^7Jm;)z`b(e;)(%?YK>^+Z$ad?c!toI{vYqj_|nWlcZfXpU;laVKzN z6FEa$sMG{MZ&UOg(3#M$eG_`XQ)H5LF+EyvGLHYg9&5W4&8qt6H;F)TtYzpQ8b8Xk zZ3gy7Ph9uDsSCOjjp&|RJG%gzP7;I#XsDO%UE)t}0?#GGVyvzci9+V2%Yet|2Xsf; z#yf;W)^9P@mx8Z!7bGx%L>0gff{$IF#anmoEB~9muc^GdP72BBu6}wYgb39S&Tf6U zzj8r=a>9BN8h$~iZ zuaDo-I{U&Aw$2K9~%e5~EJ|j2v3E3#oLMS9kH>z_bJ7Lson(t*o$a z*_hgJ*|@QIdHH~1*5x%@O`u*1!x)mXX8bxcNOzsbxSjR8<{FpGO7YR!N)WzU1!>b)!j{&@)?$b|pb6ObT4@)OoOJzb&N&nXgPdmg&R zqeg`5wykUdmq5^lm}MRYvi21%cgBm{Nt7wD!b#GS{S7WXpZC*9R)x08BPBkAulr8( z8w4pO!SP#}dC2f$x@+&hGsn}Xv(lO(IZ-2HYvSveRvYM!#V|Rcrkg1#%(AOa_0iKe zW(sz0U8V!>;!031rl+g5nku}-?{g#KM6&;9Sjel zAbzzla#y6T?s$?1`&*BIQyg(K^>i~F=fg9#qkKHP-3F#V<$~#1_YKBeJ>O1MvHwzA z1J6`0U~w8DTeT4({ zUSI}zw1XDP2f_L~4`5|m=j7aRo$b7;z&qD8y>5~Dum#|`xBl&Xr6t=slR!Y~gpIar zc?}^xHZ~UdN(DMzUVK&PxgY&%HurNpvD5LjW$`G9$>&(6`toeq5Zirm=|^5J!9Vq0 znglHP?~YIb1dSvl4}4PakU&zy^PH+#1N2q@^IpH&aloq=VI3A)sz+_;YR%i)uUu#2 zG?;(ipb8U5yeisaoTFMC%w+UPTyl`?Llp5G&zpTkx6wBZW^bFP#00_Ya-ObMD4k-T zoW7r#DoZ-+4mwS3t>F3MW`dBc41%(SS;p+`>DqqWVJMK(z$T^3a#sB4HB9tGcv-nA;uzSc-|SAWFkpb=L?ud!xb)B=Ye#OX)4lFP6RXveS!*#RsDj(2@CvL?-~AqAh&vOo$O60|o=x z}VeEmvr&pV-%3Mgj@$bs@i;_3rfK(MbjCjLsv_!vb{;5fll6DS@JhBQCDYF6o`r! z7xj8t~(857T|2G9NV_c=ybl^I7 zI}GK5gb_G~r$8D(B{Mr24#g5)-R8c_wwsT;3|E6!&lnkpt$`>Efn<;g#@=YHHho7A zkkkx?0@s-p=L!(?K7_2)*qF}=X;|eYv27QhF;;Oxl*Q9Cm$u;P;TiEyYrFZviv&6n zrLJbnHA)lV&kuzgCwO9kBjAaELGVmpS-y8NUlsyrE#Hp=y{7H$U-C;OfLUzG{yjbc zZTzHdsECXS#W<>#s*LVT|M?E8xc*{GsJO$_*S;}RB(n_^Pp}M16-Ejl3PItJbnV9S zZAA+>VMBFNUQRpz?e(Uw;sPGR)t))(1q}p6WShVIQN4<$o{CJwj%ulhX;JYM-Uup?= zTco1yA=#MF3i7r{nmNsTuvPpFK16f5>=3(hf z4;x-~G)_*jqPZ~>=K@3pj-M@+kF9BqS7sLJ;ztFUtiT6etz8_*tqz<%PKZuI}D*!VoZjAAx+3xjju3XAr3MPTxObYF7)0=?e=BJpzww;BowK z%+)~Fu%~&77p#yu9V2_blFfW$YQy93`_jk9Yq1JOW#%CP>j;i4k>=(71xUv`XCl$5 zt203R(SJH!V#fF--7H@u4%CQ?dq{Uigi#7keASc;);O!Q;0+TS>HwAdxG?GL;Cg-( z-+Qguq2TLzXixG;(!5)LpxWLT;svtkm;z)=Sv;SSuMuUp3U{(o!U;oGIsIu7ZI9No z;Af_F-mhOncZ$!OFVFxAvcM|!_bWQmti8(7G_dVd)R#S}BtlpQFN6k{dq9nj((vH( zLO0ttD2T&I&W4oKX37LeH7YD@le~E5o4Fdi-srGL^DX7yC)S@&rGw8s`gZe&03L7@ z_qYdKyY`m)T3^}SL)2+jTjFP?eRA2rO46JlCkH#bDi)^Bf_As;phU;U9|Mx7drx%X zBAeRDyHP{vay&loJQF(o0)p~}A0kKKO4j4M$`V`=9%~PvJs!M7F~O50j<@D$idje) z_<~8gy1MahFb6&0QzAFU$60p0=5m6X@p3@??nmX>$#KY~_aUGCXi08G@i2bOcj))E zfBSdvfBW}PI0cnXwj+OKA+Jp4$BWZbXpf>VP{Ey_?_-9i3tvzo2C~x|{mz@h)Z>km zbXY4@LHDa_m5N16`VHNU5ut;X0W@YHT#n+2^kTj`MDwzDe-|ItE-Q zqj(Gr_NB~|*99VEQsgUd+UwZ#$ahHG0_!*VXji^;buWcHU-NKhvRz z=&G+ZFat_bCiE(1CjO};nhjPdFT}qGb;8V!FYd?FSYFxW@k5QPIvxV+DN903FV7|c zof>La90+eeHRx^vo>z=tmZ&V-Qw{GICL?d%hmA9(#5<%cE?MFwbd*UiH^uMt&ay9ZDnM3_kmC63A$|}{9OCM;! z+j;o8iCh`zPG&3Rmo8bP1QZ}!Jxw-seUSt~=rpVzk7x-L#O+1$cCa@NTKiS;d4O;C zRdlA6DRqq5P!xQwc-PEdJ&>_J#B7$Hvk83Ar{+zT6?Arx9hM1|&)+6gD1!@M6zRf& z%9O!ATmqM2a}Md9XO@IJZK`kW{jhgfv7n+GUmdD}r8(@p$!U>MMsFxldD|4#L}b>Z zspc&Mi?mN+rUG?(Kmzx3-p zY9xA!EfqAi#{9U%6$k-`BDRJ_ffhqn3)zaaUw1f$k*vTbOx7S&Oj|pPa`!OmZj3@K zkF=G^YfQr1z!fY}kvtSRY%mmxR8cja4QtN{Bd5c+&vV}?+J%knzEF_sL#AkEOIoL< zG|5;iGb^Nq*KAbmk9Gky{ef~-J*KUiR$V?--0!gDl$yY)zSi@cVg|!* zhJ#~=-B0G-5HS-Y7O)PV_g?1C#Na<(WZOD{dlGKy*xsKvmpzA*e8{es7buAitSs~M z>yTlDt~75im2IRMvTC!@i(8g=Z2!(-sQ=DkIMU7QOVR-7alQkb=B+^ZytZG9FZ~E2 z^Ye>6K!-#K^|vTXs2K6FN!zP0caH;Gra@+!f2D_EEv!8u52JRwwgN<|HDT|Jc;$o7?PNvU+{miZ%btUW11zIfES;Jzk5S1&zf}TH4zCa8Ffd^!iPKdM<*LmpJ7#dN zcrc)Ec?iJJ3^lqDzyUR63dYvlg}ED36YmK*r^-VFjF`?SE*mvMu`NeZjRv6OoH1cU zGLl<=?(1yQW4^MR8o%PNVs~D7xKHBr$pEtsu)1F0-j3t^{NEo|k#AbEt4h&e$zl?0 zIDcj1E09(1#oJ%3Wy<}USd0#H3qdT%E-p5+u(3hAA7rg-X(zG9g-GcG7{zs!6*^8IC3-QV#(A(RUag%8cg6R>5t%P!6R_-8UTJ!q{gK#8 z_mJoV(uGWteiYn$<5�@j=L;z~+=#3z%Y;fp@{u=yiMu`Okf)`|rLd`zNf1^&(~Z zoi|i(`Z^WPH<-mYR8}I{wqJ{<``yQh<}vOd%dyFzMV6VZ;8gkI7eas0RDTcf0zSe+61e5pu;O1g=?jt#`H&$io60jXFHlPbO zrx=BBiP#(*9QIeFVJd1M?MfPwo_EfV;i?CY4`8W(rk6mzO-#(_Lg0RbHq{jF?qrTb z^h;M1>wRK_U|-zk1)~ZlQOq!BlaK#A{`DiUQMZlcBH{j7|068mPZ|!z$Ep5j>34ku ziXnzBoY(L~2jgXL*!Js<(KGmirXWyN&y=RPf^q7&0a@d_fPnJP9)x4N=dVHMm&`XJ zJ^~lWztxjR*cX*z^a){q;)dxc$|IsGUSo`A;QP{2@8U`r-=F$^usxmI`BB5nZj*=h zJzei^m)A`NnE&vFJDA|pG6{3X%O?|%nGG|FQo-PEPQ$4 z#o;VhjpuY{jwR-~jb%}l*=oMMmx7cU8d$2DqA+ll$ss9V=`(S26FNJ=vuFMJRU%Fi z%9Gin-A!T821vqswt^pWCAXmUhdEr_`gtJto?F|0l9d`{S-MUdoL=}YEiW^{U?K3v;z~DWAfKiRL6r@S_GSrk*{NwkH=@0oBYRA(~)TcRdUPu%c&;330=In8D%TFCLIE7d%H+=vvkuYYq zoAH97`2K-Mwsz=Y<3-l}8>!Un>g?{h_5qXIRVQr9jEW%oW8`%|_+So&fU2V0^fT`c zCBrTRzfVX8o6+Q-CvWbmFD1YN;yZ;x>jhDCJ;}d|@N`j>_O-D~e*F6rE*g=K!20ys z3>cS=Uk6E&B3ju`*<~TB-ei|c;v=q!t|GJTeYAQc{NhezB2fzbN9-6}C*LGmE_2x( z@Mp9;lcC z>E82f{}~8v*gu>wFAF)0<1@CzIXeaS4?J)BFFbGf+pwl)ozQg}Re}hXYt0^f&rvgf z*ETT9z?w>#yjHZ+);};wE84CT#&81nN$Afj%)&d7Kz-`{o9`54cAHVjy7rc(%B&dYgQ$+f+Ck4?Ni& z$+#0C{>5{#TO)%dA0DLar2JM?q2qzLD(P#fnQ9lEvDm$y3v#LN71R`b2tR{v5@_D1LwM5ls!}s?L!bBxPikJ2Og$ zIdFA8Q@hKRqpHvfHogA+q9NfM62q259plHT*pU{cWUiE7sKlGXvZ^`xcGZP^b##?Y ze!mQfoy~Nz_v9?;GrPG+ZBot5R><(`PE)CzG(vNU`c7ZFTyE(+weG;<4OG47A##BO zjMScZ4b8;zAq2o7SuRJGc}t@)>`t|uVUpNF$CHMTtK49OlLuDX%YOaTmTcNMxCu@Ytl{kAD-sxg0pm4ZHNa^s?_qmFR9c`~fd7_*}RYS14$#*IV4wBrj=b z=(_8-@s1CWQ;jH#K39B^`WIk}#o++`yXup|u-m*R*Tf+69tAS_z;0|dVphKNsFK;6 zjD;AiAqI&yt-JD->vh1{zR!PWHa%glfx}gA<1_pYMO0_T(;Z@(ANmT^(2x+t@kn6A z+=hU9vOS+S>bb`!LCInn$!eGEL94s*;9;%r)wrY(&OW%Qs=2KJBZ3eN?OLYUa1)>bVX0W0=oIIAga z04t91_jVk<&KvK2xh&3a%knvdIq?%n+=8;)yG9^>h1m^xt<>{Lwz@JV{`Rx#g$gu) zN(H6#D3R{E@=+5<0hz(3g~)PVuW%dNQ_M|FL-MiCE)xbLRMrcQ7RAknMov<`&`okX z+|{3HSUvPr?O>-1m6#MjXMVJqkaD9+j(}x$3)hb^{SBDci5$N4<6R`+oMn=Rq)SQCf$20a;vvF*|=I2EdS#8KN zBC5n{P8p^XgR2Qp98&GDD~{S;*AwEc8bni&IsJubaXBrBkVe(Co$;ELeUZx0-AC&N z<+=jw@I(F`pqkXbyz%GMJ9-iIMm;Ey>nRHGa8YUNw%-J8SS$2_b!8T%GH4kj8B4HM`~OrY>kC%`=cb9r9WWX zC?Djq!d5*2GNx{ zKBklRMNsXYW6>Ln9ZPed!AmVB0;OxS2v zgflZkIet3LNC=kz-B2s3#nvn;AWxU}l z_lwPbY=Wx~)afzII4%QP|9LcR8wh!aHdrry9ev%1$ka2L-*MVBGSuiVF0yiLSdM zraqux9PzT_6{%WM#XX35Y-t54c)2?0o?g8&80Zj_l?X7%SRXX*1?f1u{hY2Kj1wcP zuCoSdeW|4aRoY>$Z9!r!Nv8;)gcSAxm`TKq>0Kcn(0z33pmH|c!xZS1tFvYV0=a#4 zHDUDbzB9;i$Ap-U1oo5Tb6A-A)4c+22y>e!**f}BgwlGsN;tYzxmA2X@j1x$GL>F$ zp+UWTi3XBJz(-F&t;w+p9OL^1v8-E$JI!M!SeoL57{no&>O+5O2Ws$ z77R^*uJYsa>8ghCqr1l6p-AX+S_C--NmbHtq@3(=RKOv`2D7g4=7;-@6bp1|yd;Ie z(8KxF$qwblh=Ngfe4e$9P4F_%+40ipJaax!vicGt&W<&fn8Rug+LzJF+A61YYwdKH zX!ILdLs`~Q0aa6W<4$pvvWzZ}DsuqLi4A1ugaqio?hHP0bod3{2F*l-OC-t+v*0Vx4}J0< zyKYFct7PoemI?lO53LS6LXYqp3E|FbFAgoDFdo-qD*$@ys30!%(`_HK+Gq6@1t0{m zjof=SF!3XO?=P2c)^4rks9-UlZ)k%J3p^jhrOd@|L~Lvda+K;ck-~Up{?Xq{0!+rK zh*fZ5Ip2yq7k=RkGoGylYn5cMY+u`>m3mC+hRf)mP%O&M?yfrh6Q zic=5EzTQsiW(B{m{GG#B5|Hw2EV#?H>CDz%Z$UaYw*X+kbD0#mJ#S`F-?)m>2g+(r z2MF@P%)%!!IpC>YVb$S*J34pK$OLu;;xVDA3s}aLbgGNzf?GPKo4iU>y5NwT=T6Am zir4Pap$|GU0{ueVRp!w*S*L79jADL8x`Z89{rLDH-lRVw3nf{Jf>u-rtfCR?GG_)u zGl*%fL(kO@Qg$IuW0skyA}Z6ij3aA8On1EbVYYq-)J0e1`tts*uECKeK}PwzrxU>? zG^jN5Sy|HRL;AQ;XAB00nRJWkf8v#EHE2O3<@l3`=*N5F;0*W5`@JYX0l7~IeeO^A zs{tloR4UoEF$RAp)V#W&9+|XG%jd}EgXV%v>--`{+BZayyKN18_xFnP4x^MBONwOW;wigp;aak^{&6p#OPg6LMF}-CE9*IIAR8 zVr3p8TTp=oUL31NOw2b0Tzj?CIr<2MsS^GzZ^CC(B9aAj&tYHW*4w}nP?Wt_e^BqI zt0W;&1KgN|&tv7>K;Hsln_2V8Z@tE!Elx2tujt%|*-kk=yzbFIibfyq?qI+uv7%&# zejdBllUa|6gG<`@D9P%uxUzGgHCZlL*PDVAEWHZ%h za7;O+>>rO#0Ir`3v!;Y9k?Qlf@*KH9ynpYP1uN*FhDP-hQbT~fAWR#5KUk9MC!1Ev zs^w3Kc8wI@ilt8N74g%DMC6eAEk&6xNEj9>OMrLEI&I;-U}8gK9xgf@n6?;s2~8nN zHw3j9joTD!mKf)u6WlU&1=L}e<_P-Q+Nf`_e-*<2r-*R;-x4KxtWT{7D zDhnEzh?pIZqE&4W5FhHO&gv9CV5FeG2?Esc1X~|Yh3S93EZXn<5<)c3c7P)AeA=aL0I45RFcW~kK)3%G!*Hl`>dh0_*AQw_5=Kp&z(T?9TXoPfk zmQ8R^@Zr%VoY ziZEG5Fd?5SOz)HVqAqmOV^F7_q5Wj#%O$q3HPD`f;<>a2>-a|CbZ^p zSe4(<0QvIb=|jKsO$u`yrN`#46C1d8A3>efV#8;ZQ3b=m-OOD zVgud;%65}ZjZi|u4l>D5G+H3L8_JP42S+1)EiJ8Der0}fNK+Ehdh^wDfTp~t2r{uG znVO~o9BQ2zys)L@&!}t-zc`sJ&gH`r)bI-C6@VV7w3_;uBFTeP&4o4rWyVqv8o18C z|C5!wnoIsiMOm4C<-HFKDncR#54Pe)uS_he5t+B%SmtPeX z-%NN$rof?ewXJr46z#SLE*YUcZ#RZ1JxR4v#Cjxq_X*edWM5Sup9VFhez|RE>*@-6 z3AKJ1eq;!_!I(Gya32eeKMq$VUTQ-0#n{jBSkPoPzQip)%gBz%Kk_SPWd+M64!_5a zFreU_&fU4DCJH{J=&f_4xz(r`qd3f`pImEH64BBKc<|WkqcyzocDd_Fw>Sgz7RR-drD**VCyNgs@66NfuTrB@yNabh)sb zQMMir!|M@HXqZe`1&M@sj~HYb}DkvYjrSKOLmb zYM|=`uT>U_hXyY`;O97;fBdWC7`~7pe>5%|lv=s_R5H~Iv%%c2wl)bAg=5)4iOMBo z5-=WPKXdc2MjZaC#!4hAo)3hL#^slf*VKUej#A?OrRX6tD}8i_(~D8Bwo2b!r~n}O!{>|e1NID({a|7SaqGWGb^BVob;0$;U-Km2c4>{IB9>z`)@N`9Zm6kRMec)$#c`%b})qYz*^2bM+7<^!^gGJzF{* zx@B{GgJURXB3?u~cNtLd!*4T6d0}Gq+h+dUu|Sbc2HCX!#7b#8U8?tL5D#Zo34Awn z9@o#>&{pm*}5vW%NHe z$dBN*XhiadCJ{_Wjqn=dp`Ix}UjYK2xgpZDF%fpFLp$cF7Z*dYY-v1gILBxHa&7Z0 zkgOpLX;U1bcF^KzTa2CxQ3L`h44r+wdbJm$L5Z5-5C%-6+e#wptEir>R^Zz>!xGj0 z+ZMAv?5$eP@^sQuO=J~Rf)P@mkd{GTX93AME|(cluHae)5tzPQ>ydO9QTn44q(ROM z#ydC6G)8#X8l*!7Yms1=KKB?VhXibBJ&e_o&3qgMVmK^>`^Cs+4Th=xDp2EIp8<>C zrB_gdZGTZ;n@sI|NF~7ftjh?sST>V^AA8Spb=Pd{V8RS#9ZyBagmNHcC_n_B7u4R~ zG^AP9(ViB+pD4FdJsjWskZiW3gcH_S>ol*!3&cqAcFCO|)UNY7bl4SuR_n-L9p8yS zCKTAtSIYA%^ATVyU_o#^nEm0~<+vSU{|S!V?KCAoy;qivbnoR4A!V{$Rndj1lFQ^J zD%NPwrR#a@W_VI>X;nMky+au#&=in?ul$$`haTNhtV4%%ksr^vxwvYM+mdChZj#RZ z?O6Jvg)K>jVD)jAI^`VQhWB>~73la2lQvEFT1mlHuKWfv=fxSz!7Av|`Yf{UJLJ(= zO21B=6XlO6@tbr+rL1VU-1wK3dJ^T(dCL5JD%0_2*xxJ<+ioCe1nznz{R3-RW7wqD zpM4uow$ix!dBjqjcBnJU414e))u~p6xlsQMyR82XyVbw8n+6vwZMp*Jz=bR>bYVM^ z5ur+dM!*dBDDHiO8$esTIbtO>PW+NAdPS$t0Oyh9-9sT1PeU6SqwN~#uJs~whf!A95(jXFYIcTr7AMzVxD&w1%| z7N^vopL@lJnbCx*pXvpPzwqFF`)t--RQjWA#~~8P%S#X8>jvXVTDM6!tg&pBe#?)H%8igjo12T!GFVKm?UwfP`3nBvNZcSh z5fm8k&&Y2&XBSIfYOieqv0tIk5aN&N zm*uiE`p`OD3yE5wOyW!NTgolJSYAOLI96w~!k-60A>`r{F13Lr_)(ah%)=-d+^?+; z!{C)gW2rltwHiZ^Qe48IRbn zo;Qh*CDadUn(}qNKLB%H)_D^qOw6@K3s?Y0J|y-YXRffY+;0dHsEMvfEaU4D@vlQP zkCTA%pItpH@$ytgWUsxG*=(>Ewahw~6IglXc_8mCfh6sJf<~5aC>>nt{X4?`OH3~**UT-&vNuBaBI&%Hlo8z? z1n@(ZFsG+rgI0X#puXIiO~XC5fL10h#oN%pjG!ZpG~-gph!&6~fvcaA<)ikMC&1L1 z$fY+JEpe{8u<>M`qV?kUYXYijbq!o~Cnn~yAE842fau1~O8mT-`l?1*^VhaU{**qN zqwYZivwMr{IUcGz{ABx;%+v3^s6Z)#%fpY|^4BVu*4O=}z&tqFQ?Ns|9QSEBKWwjW znGm0MBl0k}H^}IcKrVGK%l?g85Oj#hjUf9oD_l2Fnp+DgYh{Zsf`Q}OVt+hBA zZqy9XtbiJrsmpdsUE?I2S@$yx?LaRAp9@Rzr>(WEw>XCCh3B6Mf+py{31Y;8tx-GX z{4OtOpO zXNQSY))t(ncbp?NWz9+xgNahJX=D_HRDT2}tHp1rvY^r;B}exNL>!ebG7lyn#QB0D7dLhpf6X z4wr~5G05T6NdQWxeZIJ3lbW?Hx~9M+{nwSntR{~Iw%K6Nf}U$)0$sixwF>&b*Aubsst|BUp^azNy9&((RH|dU5u&ZSrD| z5u1;rKCZhFd!OY6iBd%x4YCe}T_fJlo?I63+S@{dFi;a^qw*>O5XeO*TdB2aSx ze=Vxh54?y^&&FoGXRzPmCotDhsNJOC87n5m0}C`%RUunVX z>5=c%Dh=K{40!oaY0}ObE%vZxaqh-7axh62hGR(I(w?g1L>LT&u~@``-t*KQ0#iS_ zY`hb(+Wt^<78IbTe$l2vB>@!A0L&&k;jN3p_8fx>V^o46o&vi%6)3=`y<&qysDj4l zK?Qy16zv~0&3i6Cufl{KcY;7*`P6H_5QON+xqr#_+GvUNVmXagvbTi_#hr^0!;vLi z-y0dXUzxjpRnS!=JbE0=%pm`R701eLaU%KjdQ&lo?}VNB{j%#*kpK2>_9_IP5$4#= zat(T9QnY37@ygtXnr8#<|DG$?ECjZk9*uyduA&RPpv9A_KsL&e^=CRJfST)(}=NW*!5csk=Sp=DI{rv?05 zJ99?3mr*A;IM3AeeCZ@HaL+^SA&`DC2+#zyUY2qS-JB&^qA$>j!)#D&)d@ZEiBF4) zW4Jc?^JLuHdR1KMy9RsoaTO+nfd**S`tXCtDIY{g$o<%(j+Zm{UM5ykXj8#h#_G-O z0ZViRf^s;ETJ(~FS%l~{w{VG*)V2d}=aezNk9T-U2yaXpPrzz(Kt?_J;-9gBV z)uSpQAuffQ>A1YN(U>lN&sIhx(~V^Si<%IW$nm z&j>ue~pPn8@Jdcu~y^tzBQ;p1qsW(#FKeLL73zDnY1EfXOy zC}o`{!-?eMceJ8X0&{3Udnt^5s3#^xR)N3Z{#U?Z{(+snc(npu8=IO$TuI6rZ*MV@vY|>)3XSdLxA}hQ0;YxI zB?=~%YGU}KJG%-D1T%ow3(}hkH%-oXT4=he1sAgL>10UIH4jE56To@f=gtpR)qWER zbJDhf;5#FNxu!azGlH!;0ukcD>~F5><^nM7l4@fJ8d!6!`b{nj+0yIsf7m*w@XETa zTPKxNY}-yMwpBsJPAax-+qUhj*k;9c#kTF_ti8Xz|NlJCIpZod{Hk_-oIR*j@*BXthKibkf+n*`(=2GH6+tzX0RtTJ#SOhex~crRyQZ zcl+vd4$qi@3D|p(x=2%0G%ZszHR~uj< zp5FaKSA}IOLb0R#7eP2foMk!bH)>l0m<1MNHmf`HLNFJLjWieUwXzclpZS5tCw96@4gy~`gVzxe>Pem z8r7%p7R5FyPD_LzE}CE1fJ&fsEhy;w?fApQ%P>Ucj+MpR*K+w>EspSCRl$@s4428In4%CsEjq%y&Cvjzj4nl@Z zK(_!*w+L46c2u_CKN1k|ek6#h$A1K1wWXvpAi$RtGNPE|&mJ`LjPS>E8R?5MbT*Hl zjdtsj3P{sl^qFW-e$|UE9ZsMd-R{U=komP;huk3eCu5R4xYSDAE#TZ;!`_!XyT!z* zc48b!j_lvNMNA#HStn5a5;>TZr*+5azVnYqCA1N+OC9vb`Cw>gll@Nzu!2JWw}6<3 z<>=4_nQU@BPjD^Q4d}WV&bGgrl znr@!`ekJ`WodHo3rE9atmKx_MioV|Y2w4*NK&yPXP-#MF(hQ6I23JAwtvaNMZ*5PT zZ`+!fzPKUqgw<4~8FfWvx$Gj6u2%9qwSMi&Qd1|wn?l2o0t_y>g}Gyt{4bJqJDgre z*{*t{3FNirKy1=SpxCa&FCs}Mj|H=|)@9K&erp;$yIy}r?^mbL&TAC?KBFkUW}m0E zt=1yiBZKar8m+*M+I%4HOt($LxUcPt!#E~b5cpE-5{|?W)_&xs{nQ0$X&s-va*uM( z^?IlH&ALOP1g)bZE}at#NzerUbCvQEuegd;c0z6X$qf)u>ufZUZbu-a)DM@cvc?(=nwnD#QfWq zl&_|qWEFo46`~a#_$jvKxq}NkK#abFL^A0hnGlKH8?b5QP7e5bUaX1Y50A*Z7x?y9 zF3s8j=JxZx)!QitICQctQ}mUUAY#(EAPCeOQBD<+XZOS1@POPW*ryFo2Cuu_NFg~S z@Ob4#{^EA~g7NbiWIRw|@#f8J6mI6KRX8;HDPD&XVI@ZvyqBBU$VqIL;)HZ2g9&s_ z)x{$<%d?B6hvHz^ot2{;R0jE8WvrF><&AVjmT1^q5@lIGG5Sk-E+ z6Sw8Oq@Cv-c=`GxQfjc#`<&SqsF%!o#R|mXmb9Mf;vN!r8?zW(X(ZZ_*T0*gOn}dC9AM59I!y42CVoY}gAahC zbkm=WRU<)wr}z=3QH1xkm6emUuFMB{aAR~q>`E{MUL@e<9E>ZeuU=Kqu=c%aStrm~ zD)r@e@OR8IOQtH;cpY|X#@4A1+Bsu$im#)JxWad z4ngL4q@ab+E>>LQ$hi0CQ?(u%FU*N3XaaTdiGAQeH1gWTevCRrZ!3I2&&?3$7dfrC zWWu-IoaQ7kG^LS7rn}cD`!i@meg>N-Jm3&%9~3nxGE3CU8D84{Cf3st@yxBre8dHt+-&$mL+ZB?bP)3?qas9b# zkNK?i3`o2cs?bhDJt-ZgLlb}-`f6H1v5JwpT~pwCR9?j9{XM~^>qeLJ8viM#Jl{GFw3 zne>lOY?3Sua-jM|QgGik>92JsXXoEfXCZkT53i?-cWE+yx01Q9rE)^u+to{Awjop1 zHqYa_1gZ;ig1t}{Xx#TTVMErT}XX1Ff-=Y0bQ$Wy&AKOfH< z>}G@@p<@xqetdRp5)B#%A<-BPM+zQ7|XKYVzRh?BRL-i zxE(%tw_MGlW*-m;2TFnGu<*0-nSsI2n8sKK#meA9Yp{y6$O?j8wru*0x3+8nq^{#& zgmUPG95kfwCd!8jr+h^|qYw>LXQI8o*xY-cmC}pGpQsZ>Z9d+O#Ea$NsKyS6ogw}e zX0;tJP7s{2ieuVK9L{YzWyR^S$-8|pw++!20PC?Ay&Q~3IAt%9)3j8oCv6!miQ-3l zbmWO5BS{wuQm+dJe%qhr9(D|MM{#>Cq^$dtjiL&X5D=_5ihW7-5j-sh)qZ07|7jIR zATLDS@yWioqO%NxSe0wBlb7Z(Cz+8-yHTzqWO0eLyHHmX*G$Rv{^qNpTZhjjHlI~b z43Z|H_+~<7IlnOvW^H`|>TIBc667u!uO!R$J*25IEDGsgcoG8OaMoO<3B~j0LF#~|6vhA-P|VqUpQ7V2QAzqrsmC{CI*J-Dehu_bar{jqbZ)clfb~2GPMPD9&-8F|Y^1~JgC^r^woxa<-Sd+6v-uzo973X0}Kl^S;Eb;H8GUw%r$%;`a{ zTiOV*e6M9svTYSA70DOznlxeRATzkKfNx*zXKyk3?VGCFsg?!6H4orP>l{<7?IRhM zA&9)D8^-r};OgJ|X`tMUYTpr|4!JS^9ML5HeXZvMYt!w*`T1np2ZB^A#zC#&Y=lhG z1-{|u3?T(hGu0Hd?)12}MM?4+wxArKD@q`fzG^vWmQ!hA68K4^ z|BlCv8tDOjlKQ2WdAXqfUB8TgXaCa>4K$UZunUT5+(tH?jStd?()G#;|MVg$Q?JnDn!mWXDnd{XA^6N3$n%=`nO+Da# zWoBa@zSsdeA)G7+T28JXzYm$zt-`T0Oc|e&%^jF)43458AT^Cy@E2DC6gQx=bFI36kNe9IpxzePzT= zMLVTRmynS!92{J4Y)zM{gd$V8{Dg6XT{lxG&_94MD7+~(r3}VJJAicuP_6b`1S|{k z<{+ubQSLFC?lMwgj1zm4d489C<4U|7;z>zQMpmnb8@Xvv|C2yhnJ^ALh6X+MTI;{u ze^uf&n_+mPAwv#`@3jE3D*pTX{_lFN@Q0bHwl+S{-8*6e`KMy{(+b(e1->`!5DtwE z=0`i*x)1mY^WK?JR2yv=HtGstYs3oNV@j7=(%#1^QabsXaZ=z4ArL6luX*N*)dN*X zg4AYlFxDHwd=R?eszigXzuD<-w+#x}zq_0QH3t&&$W|hlzfL6Kz z`x0PoLKrO!bizR4bmYJb71pBs>#|s>(E)K9ZQ5H+V4~$^bxQTu)T=?=oPeMio)oMT zV;$XkuyciIqTYJ+Fp>mzzs!5MZ{D_=W5`kXTyV48>Vt>+2?#Wc#wq7h;SK zTCP?beL`(L(=jFnE54=__pb7mYsn))u-CaCt`+i(cpz}Nz1c=fiR0}Q@jUH?ctX?|Tf zb>+y@|Mi(n=q360<_y^PF+R`F&5?YY!jkUSvuKtNg6HY@sV6l=v_x$Qrk-;R`0$N! zK*F3;k?;#cf1OCR?e9W>JtTY?_+=Y+Gk}{lV0c4SsnZ~qX3P?7BZc%r+;}BrEKxjf z2Taw(sk!Lo#5^2m(;~2WKZrgors>3Xs_G@%6+S3NBGXWjIfHzmJSOwK5808e0Mh#81|&V#-sYfi9sS z)>(J#xs#|Zi1<9y*o^;88Yk!ch+@&};d0a?%5+8;TQJ%lEzJo!%JE)ueR|Xekooir z`z(4uYu-tFyS&jG9nKI+Huiq!JYi*xj!gvtei7V_KN zNE;1kIWHpW0sRLkC#p9|LUtJOQ@&t=G8W*)WM*CpG^YnWz8i3TtVhRTun3FB`Nt;I zCD^$_)1{ttkDybCU$+cfnAqG@QpTi~6X*@5SFpODbE(lHt4Hw%WrEv>gfLiK|n$BKc2&aI?| zngs>Z?5{zw2tN@TntJ;+%@Kl`w~pZ(hraW#XGtX}=s_H~{S2=+heTEUu@|~1%C-}U} z&F|>IC5fj(i*h%=Eu%=|svb?Sc3g}0%yINp#aELY_l#;jBVE7`l!U>eG{2w}J;_Wx`5hFuIbfhZ~=NJ2QEQAQ2~$b?T@pgk}qp?5}UAS*47WT&VOY%Ho(WXG(oAw zxkF)3TD&O{LfspH7vE~AMeNA44-%S8B{tP`v^-T^*kOBX8VKF51-vjZQUrzYGC)n} z8)2(1_~zs;R++Xd#NMB6N<3xn8jm^jpokGGXcB3430+7e{4s7z34xN1D~q61R4j3Au080Ns^#}J{b;JMP!uSnzdonNE@o`OVMDO6vT`D4Cz|qzkdZ7%_ z!B_r!pK`vm)*`Nc^K}X~96O7kmCQ#T%6sm3#^YhcD^P{pK+zcXhRoDs2Cn0NpmK+0 ziO!_vLH3tiO$W6>kQwMt9wko&VMxthoOR>2xcj;<6$q}Lk{ul=O4z@K7*_d#jfS${ z_ha1I8g18g8;Jxb!5^|}7m*q2Nt?1!;NXLIpO+^ySj0{&T64;CJaxdjWdkBz8mAMm z56UlKYb!BaD6dM9P<9p1yB3v)V!4U?Cw(w6d{}cn=Fq(hTCN2ue~j4 zZZLt@+1PEMbLR%UZh%i$*}9VX(d5+Ss51hah>mPZNM?y~u%VaD@E6CK-C!34pFq3I z^|D9>F2_;)Q;SWot?i|m`1nVzZet>Q*3}N%k$yH zx$}&gSJN_GE=7|Z(z5A+>jSJM>A8%_=je(1@ybH0d4g3I-@CVbg%M^d>e&L|iowii zF~rQvzb%8jPM||rgp;adp6qvemEZ|sv#Eagx&c2;YMPn2Wk8PyROmDwr1%t`v4^#p zjY=~4pC9R@HZQYwQ^lkza|RQM4@MAx$-DF#=@)*-U=pvJH0;_doq_zVM=&Os2;3)s z0#u+P;H=hX<99BhguE|cm45_rXjz=@cs(y&h|;pSPzEsS1v7?LPJtT^wQ#k+YtSrg$_LZSHvghU>=n zx-xU07=9-43l;<*gh4QWKfyl>lH6H?Ec|{Gf1r9FJv9e+qWAcCQl!oZCvNZUaCHGP z^9>TT+y6>9fiI-7;Taq^Fu-og|L~B4 zDmj8AF(2Rxg3;Oe+bw{|DPLjo)$X8HoAR}z= z;@JE!YyU_Ij(#mc&6*AYZBOv@43Uwt zx$hktPd#57SKED|pKw6pO?8b_8=P}Gnb$#(hRt>AcwxBbL_xZ0|M(ik`b|i!lE{7? z1GZe?S>nz^lYK*h9ia)+B3Yr`N;zcM>uR4(C4-57rDh8OJ?EF#@%iyJvTgfk^-{Lb zVs86Q5w5sU^AZv>LVwKigKLwb?yb1~Coes*=`{LQ$9>0jY7g(XhX;5?cC5ghO#Xr315`LC6VLFsc$NR&d=5RC6YfOA%$u3biSRtU95{@|z_PQ7C_B-hiWK-d1<3 zv1>7RaWVc;5Cn@|F|?W_o&Zn8+atC-FVrAMH>Rg1hk?=E@jbzQ-ijc1XWHknL0_hM z;e?;MK#Q@O}GBs2^+D zff*LX#uT3m-z3Hwjh~2JqYrPcUz6d9IYBpoe4Lm4e1N(N+OI`>93ZRQX> zA29e*Ls{TibGppF0f|)*BbZ~`)5_(Yq$chzcGNt7Fo=|=0}}!f&d<;7H%UR~ey5^o zxU{FJJqZ7mP+D2sbDb@eV((39w%Kb}I6k`y{TJo|fqOr$)U4sCp3#%XQ@7P(83KXE&0U3bBze+_i(bNY;g{$5Xme9G zUWkMGw$28WHQHc?9vpLqYN|xUU9Yzc zAJj7oH~{E^zr(dVI=F-Z(*xCj9-9XP5pfeRt^_&GWwbefkze3##2iR+Y|nvwWZc83 zJLI5A4IzF~UX+UX`(XpXVuB!O<4_TcI{(PGDDAcamF2bjmgRX5H(#mEygnrO4xGn= zWBQ(D3YSDPsSc_ujq;wn3bbDK>5#V9m9sR~kd0^!JlA&m*G6G(Ne{LeyqBL@wVe2_ zJFsYZKP>KQq#6&;WOV?U%s{>hB#Y^Vp`>ozwoREyu6=aJ)vKJ_T{K6~g3fH2BhWNC z#pzW+G|+0AQ&%6#diOI}4Ngfub7C^6-@tK@8EEqkEW3dSZ&`Kvmca-n%C3!=7VO0S zRDmt%GsY5*Rk^+j{nXw1ErIF&h+2e%AkbP6Hk3?QC^kM#K>=L-YOGh+mj3Ax@F&9bEb?5t5?;(MY}^7sMt!agN6$Ff1_}#)8xnvrkEb>j{^hWF50;r)W`BV+XzQ9 zVCB-j4_^o%d(^wjrAUg1fUP?(Z`j>%^iT)f*gzyyOsjy0(iq{36_veeva!_C3}xuR zOpYHZ8`f0uZ2H)=veuO4uspc6U#PY8Khbwc$CWE&b&$=W7uV3gObHACw}X(y2A~jJ zeN>P3VS}i(E|WN|pRc&!Fa8g`Om=fZiTba{9)>ZrmaEfJqA)A82>j)2Ew2Rb9G8!L zF*p2%SzTM3r2A#pD?%@{WI|&=#)XAPenu80%N;39$J_07!}l5?HCl~nScKDCz{c>>S1dpgur(KzSE(Yx>``cSc68W5|adb^;$FX zD4S}3$Ji{Gt`*@j!5D;3B(AYiIDniGodLul6_mriNNFuN+%~;9MI`=!>8~b}|{}@;yqB zSGCPkUp8&-FuJk*3@!i+JYFPL;IVAv&**~D1W5Bw#yqbX4!JDak-AO)fRY>=?X&~x zSYx6c|2}n5-Daqc_WIhYLc->&%Rqc>u$fsNkPUB*k;8F$s>~ww1*~=INHX&>N!&et zc+$+Msyc`ewxT@ZM8>fw!SX-(@-*T0XDEz{-f1uEd0y*Ja+#J|w6M07oAg6X+Hw=% zZ68xSKPmcuw0y##ga_H4tB8n#Kh#~aA!7ShbVE#9W`nlN@<;dOS+`)DRTn-%w!aMF z?%ZDK+T5#XjVRhj^7XpsHvmv&c`h0lzgB%wFDA#|drCdOQ=yv0Gyr_>N&mJx1JV*5 zgHfVzRS`{ny)qbup5$WLXLqh}rvjx9X){-I0u9CRo1GtpJ*WNBmSKk2X4Rm>2eO<# zEGiEJO`zW#S=DP~2KAIQ2`73?ndr7!rQ(7I4UkXI&VUgCHI*eNpGH>J|G#QMf63Zh zgR@4p0ZN5@4_LDa^nKl@)cbgam)Fz;3s(oX@$@Q(63%wGCac3y$6SMjF?@>^e@RMN zB`Zp_A31;}**i)3#sifFK;?#5>;;6TpAy;a5EKv#kh>xHy2AiW>M4t#q_u7Me9xm{N=sRf-K0*)=~U0wG6QeC~pu1E?eR1^l`IH-ks z-;>EsEjKw_3YlocP=DU7ddi?FTa~GUnE$e!^JGXJukw7d$=>qnVd>yu;bH06|M)=9 z*)v^dzDO^lNRiYosxi$A2+GK{<`3jz_!J7@f@#roHwX-;&1H;9Wf$9)L|X?}=qx zL*R2Q#Cv}|F!K1Kd@JIr1+151QJj%SvMs}b5>#e5Y9*ed344qtUswlh;|D{TH9axu zET#^)b6JwuSj*Y-m{qV1>2b1?X~Mq*l8pCcCbr0b3#uMzkx1=2(i<~eaB58(2K#_X zC{`N+zEM0>9)3ABByD)M%QcIWt8}Y3Au>#F_>lq;S&+%#JzKHmO19fvJn*NDTipNT zhJyMleWOnxL;CO0W2M3UfiAFil9!Nx0<;3cIP!nN0Wk<8CFuKgSU!Kfu=sN^1KX1V zh1HlMgP&Z89Xs$K#=4$uHhfsWFZk&T*|7WY7deuUiu71$Fl$jiAe5tUS(q0vyGQRE zY~<|yRom!w(7D&*TH$|x@4Q2bEC-}LU=yg8^p;~2oq8tV(9qC}Jzc6iZx0~0RxiLI zktB8gt#ibDyjTg0Wa!4CPhC^yA4ThIVoFMxV6*ZPBjqAni6i%`T4^=vj=5~`->)Sq zu+r3Swn99s#~LTs$k<$4p~DS)6a~TK@j&Zodv~zfXoh!pZwn{lk}POqVE8kTI4#Ow zMH9OMIY8Z=nJB}oN>9Ppt<^;c48(%Ao!$zvT{`be0b?t(hGXm#+l10-iEQ9R$s8ZN zwIRb51^?xc8_A&}DgsCT1zNR`Q900jmqCRou@4g!zusLqKlEn-MeZ>=mHz9c+GBPs98vsgR zFi5b=1y5Nwp~oI3z_XYdW0J+jmL1634mzvpLFkhYYmk*7u{-yhYP~V_o5GK_QmxRVz%>*l1wE-~|2^}%w$4IB@&~H1 z8aTm8c(Yc$6n z6^j4`UDt0%*&GV6(yQY?R^E(`5u3)(Yhm>UoU8%d4NRpeSy2`EW9FW8%*RaWNQC82 z6t{ujfRUSr4pSr4RCE#}5ZZHJBCYcH^La^6sD z#J+q!`0>ggSdil<`!qQcvCw9c$vSduFoWb!_$(MXBLn*uzCQdJUGORf`*RWWa^`ef z2yOI8imfH-W4YM7mcCt!b|)R0vOw2|NW`JaTzjmCn>@aF{jGPW?S4I#%CaBAE;C!6 zGUzNK#o3;5NpEc1cyb7_wtmtW%M;MpAk|(;*dNXhgk(AyqrLuoW8nf&M9w)h-e6J+ zRJ1z}h7$S&Rb2A1&fmf9#AzKodd#Zp#?mHx+OD+2w{f*)VJqllg+f+iO?@Q3I+|R7 zMzV7}dX7?bM1`#%%A?tOwLr^E5+`@cpXS*bb4|zn*ug>#PEaLet?^(biDNEVm%cZ? zaXz+DHcD^&$iGZQeC};jU&g!1~D+3sVPwnRZPMQ$ZrnDySxnFJDV&(2iGYV$yVcSyPjn8@qYP{JKS@43{z(P4WOlsKd;qTMPg3W{DI%q@F=JebiL$$Cp>NE5SA3syWv7$$Q%h3mFB4g> z9zA{^9&4Ot+pWG$TuE!z2b$>U=;PT!9#fzD^9{}9t^_BDGsO&hY7M!FBz<8GBOn|N z7lT1#>?wxE`lsXm4@?B%VbvG9y_8KT{+CX%uh@kNLXGAM9%!KYpc$`hpl>f)+K6#B z|J?JjVNu#Lkqx zGGX(zAQ-j|$fI!M#QLsN?$bCG>wflhN29~+WTTV-n=3wv5}y989h^t_4iRGjn}S?YR^bO0IZ8LJRJxsaTtOft(3rS z$B@Eke`}=K+IuiqC{uU_W)0atUlSjsvpQPn99#{#-W}bYmCY79rxTs1E=frwPt^Y& z#eWj@8=WSdmxibOLh%01lb*1KoxHZOHfq@4=pZmi`?Ke_KxA=*O&0g}tI4cnvRu~Z zKxAp0HOS@MjmRxr&tja)V!gBe=+K+LkhC|mbJk_%P>eT1v?~o{)Yd#FOY@{G&=iuX z=0@4sf^&k61v#n%YRhbfHzk4Ub$eL9U>#{tppTfH^vSZ zqgGEG77#PRemp<##o8B?K$vDbV|Z#voUE=j;~&7qwwz+R=#ZgQjxzCR(DEQ+7rj&x zii;J543VW<3q0&6K5tz4gaQK;E&ZSNwMgoY#Q9#Iu0qp)>7H$r+A2PdaUydK7${CC z9+KUDJl}oz_J0Axa!j*lKEkeB9kgthW+LBBV;|Y8}?} zr|1;l02xi9drWBI1#RR3t0f>(wfMZ7eqG|YwQpv8E(F!X^p}y&e|0zf2H0dcb+#t< zLr*P9Et%Ct(~Rta&l<9VM$*-QIp6Bdm5`$p6mhW+P!jJS$c=9EO7Jf zpHqqg4oX7w&(Vv%O17@8e{kXsE0Used!0Q;+<8!B)P;{z=uP{ku8Fu%8#-L_(G)g{ z;)#KF=(cm$o`^!xY4I1!Dl+sc?EbHFBf)qJ!J(fuBg)TI_Cc)QDpRz6^HK~N+KVtn zqzr}iGQ_HvWhQ$TbE!1|fVj5x5BiS-1{IBbX^i|*w;0NU`Y=&ydiuWWol-+!=CaxC z+s+bMIF*Fl;i&F(_PGBAFf1l5Ajt(qz5Zje3JP+xy7tDB$2}&k$1wrBp2Wb)CfR}D ze7fOnQ*0>oba88c*m+qy(zol2KSJX1mn$MnYYs~*N{cRcQXqh71&gy3{cOL5X>Z=y zZ6~s+tlZXQ&sgW?Qeqt|SEN23)8Ujip{g{pj$mN|iA~+Baw+y|=}KJ05xi8TN#Ql= z&z!I*R)XkK>nFZlC2^R{TZ|>(u>mFhyXfl=twyA~p3Klsu-8KG&=?GVhf-Nv@zs?F zu+mRUSM8OOoNOpeqs`b#UIsF@4*lh+>@;p;m>lm%jba_X5ff@24UQ#$AVMXIfDfm^ zWKuZQMun2nvzQQ5@l;D{e>jTrGe$t*ndsKxj`M743#C7dAKz}cSR{!(rsQ5%(gDw| zeRxV*O!mqjHEM(oRBdgcVDe?V5}t&{j6Yha_(m&(HRaSjvDgEc0{zg@ik9*x!Joz) zQ*nrN^2N!tn3#KAz8|puf{`YdKN<-5sv=6!Z$&}Q zxqin63tSApKfKksxWXgkn1$r-%NSJjfI{}7l(f)W8+S!UmjQ5v(^`B82}OpcxK?zc z2xo*~?=^z&6PCKfa`gepPov43_k`b@BX7N)Z7%p*wNMhd&z5V%zq-9=OKk;?=#Z$R zIl>-uifXx?&ciNMHg0atSH{>1@!U*gynoML+3#iAc8B!TK_5w{>7n|$z<~2q?Kh88 z)v=Vywj^wMNmKA6nOwy=b)#UX^_F&0un5Eu)(j>0wBhA?y{5;%%j;0N@ivNo|8zLO z#_MG>L6?;F!Lxd~v5D@5<~U0CJdUY58#Xz>MNe~LQ^!YTGvK~GUJQF)eZc_dpJn7yJ%Y0d&pp;qNCck zirUvlDTt@S$;4rDza{H@c;un7-GGRfhr*_aUQvsOd&D5V-6NEn?A>tPinh{4NQ7SS z?Qo?U1a>BZ)ysoLLce?PskL3grUHlji%87@O&zg@hXvNsMt?L<&V`aWyG%VBsYgYC zy;pq~LC#wELLOJx(3IB{Pe)zq9*c0OgNFZ6*{k|QQgzi zqhk8ikc0002r2RIwlQkS5BVRB{V#S^gi;*%`yg~xG!$}im_8f?KgZl({hXPtN?-hr zzmDfsO*OlYSayvf#8%fomJroz^$Euf*dV_hFBU>}XL1l$jg2ECoTxgLCa!QWXf1bn z@alBl_usW1ENP~j<)c5(bV^al|6TYCY=1g1nJ#-GbZ&Z%8_I6|x13QTw}e!5@atXl}o;Td+vcxz%AHz}^=F(Lh#mOBf1 z^YO;em&!^L;okrcf+ zuxFqth~u*J%*L3m0|`15KO`*c+|oQGYy7~(;Iytsb{GutU8BvH-84esi@adlb~##j znf>MbAt8P%qKLiVG&`R*B8yx17d77xF8f33kAqo6)tyAbmb*7W#;92^?wvYIF}n|> z9ieohPx&NW&7=>RKB~mMzFL||F;S?8pCs~LIdoIP-L$*UnGA5&kY9P--9qevfN)?_pJiTqch+=|cRb;eVgIw7maRIw;P)y!sE7 zmCY6&zW_(HqDaWDTW_6p-xs^aAX4BM0+epW3#kKPxlYwH3og8d(-t~p+ZMV$+(ue; z(&dEv)eiT2fq4^?e?7B=l+Rh;@2K;Q6ms3&84MI!+ahI8Lk-*K%ubKFcQsVpxdK0> z>5FmNzo%YWwvI( zw|FCZy;I9sg{$g0g$xZ1ZF_NftG7=i^k2Hz0`E`+3GGh9cxPgb??Lm%K}PM;+OI&- zBG1Tz)7tr6LA97Jqb~uFkQTAw`B=6u-nl`pQc_yb2!bfXk7^y^u#Fg^(nrnJ_Q7UGjzW5H^{dzT3o9y{eH6w@tQ#-S z8G%=mVLalzcf+YdiA+R%llb2!t%6ue+5bP~P4Ksq>#8JeHkdyMWN|?qmSt07l5%Lh zmUQ|I?3d@B`b4WfUdg)^(W|RD7-1C#!q3?S6ccY(vlXJoid3=?2X6v|Ker`#QrOsa zK%ZHabgaQjb78n(3r^a+jtsaz+LoJ=5|CcvACBKj;)P@U}$J=MsO;Bm)Q z=fLXM4U18cC=BW-CiFDYox#g9esXAp7)k3#43AKKrH?PmxIQ^qCmHn5;NUc#CrfG0 zBP%-XdUaT$UnP;N*g=_3EAdc=h7+0Yy6tBtPduYSqqVx(44PWQzYNCI5pT91V5j*) zb%B1QzrNcbFt9N9?C|T|#=i)?_fL_Jmr6h;abDs(0dO^xu$qWVhEw&~>yT9}1PPzG z<;K8hKj;+tLZNzdFzP^;g+vdOP8;Z}AM5?ygsfA$_(_3J{zw%xFieJHX747_wo_9D zc@E5|5F?|LKV6z*;k$-oaYHkGpLnd++Sz8smAow`rfpRCOCQ;nL-%JWckFUhbejY? zF7FhSlmdqdywOO-qk0qN_(#(jUw#oXdlrNW6HobcoTv8u>3q3Mdk+)qryEW(!k9yw z*XKljvG07vqR_p;<-PfnI5Ih|#3B%YjCS;PT|4Is=|p2(PkgYeNRzJbQzNUG5KY`+ z8=mKk9@4@ufr;Gygg}T z?i3$!BM~Jj2rdy1zTcR7=FHzFGn2AYhiXD-#u$92zW+0ckY$7VCi>5?OOS|*;wnXM-!Gla*2s zuZ}(gG0OZm;|%Fv>hlq$QSq%_h{kbrTP|2^(LW?fAO66Yc+0P%*(GOnVc+Moz(nZs z*Ta-PSq)!FMnsZTd_E6<^{ui2G)#WZVQZGoP}M64Yzd|u3xam4vj)6f_7M8Mj0Z}S zDfFu7P8Adg17Q=mM{>M`UvIIcDoV~2zURyw=Mvx@rBkBS)GzGm!3Gp0=Xy;v0!q|B z0H(~4b9;TWbPGA0{^iTMv6;4Q>461YTy3L^S7W|6$#?TL1pfT^5nQCgSD2`fl2>%k zCqz;b<=)cu?hw6Pfns7F!o8>I^YK#YZk8kAH^SJeksSDQyzWuU#KI$I3D=>K5ZgO| zDdC?Qptu9WDCQuir=J1+!aB)c{gDiM3nR$S7cv|Mlc$To#9T>niITI(!`DQXN*+p5 z=Z8!OkmLlK(OYO|go@V? zgbO7XOOsG`X*7->Cs#0I>(+PYNIMtXkA-_8X;j?@@5u;xwK-ru{czrl(cd*srn+uR z@2ovtOW0X*7)wjBT2*GwNy91~J_UpB4}3g4+%I~=FFcPGyK(%V!XzZ22mQ}wABwZE zs{X-|Tkqj?v8<*>Tu6wx#^-XT!mmMSS6Ee4t5Lp0oO7%X;8N^vljo{XKCK?LOF-tR2G-neDja~e7#+~Nq1q& z@S=|BaJYCUv2}}H#t6@=H&h2l$CdrGcYgJ89a2082S+3Xal19^7X6dCVz>93VXot` z<-}|#FhlC7xB2wUOaUng8c$@H@hD^pXv2RsQuVIS1cqh%;RzSPYrN9Oh5m^PiMXpy9sodQyhQQhy~ z0d6nJYB#{aD3g9axO4_D^idXze*>Cg(IE=*y%Slcw&y_Ihf+Az5gc+;PuVg#v*E*7 zvKtWba&t4>Q0Myv`t0CEMMpCyfw@RsIm~jpkx|5)X zm1Jq^D7Mis%^Ms_-~j~>A5En=Cd}6er1Y*O@A}h*I4;R%bLR>c9ITK!p^9xcnNk9SwO=*|J?UbZRKkZygom zss@K9FKpke*=saTN=hmMoOl>pVhEi4cOrrFzY~e=D1@;?ER76-D;}~=B(m^P_~!h$ zJ)C=PnU~gP9!jpVAc^YXU@u#Q)#Uy9r=N zWGp~GQ0V(XOW*VEpyO^!CUnk>?su<2>;OUD0?VoiehhDNet4$oePyI<-KoYKC&MfX z+=*kE@UnsR>4gDvS$~oS9xe@@j=lI~OQp}ud6FJOGp3Bfh}(De)foF0rDoNWbY-2% zu`i})$8#{7k&fo$FBnR`TKGDHB?{h4Fwsh~AMlU_N8ItYzSR?Bt+e3ld|H4t6L9wJ z#TLcvLMp0?>g$67zrHzqp6vWD`>6M4%b1uSy9Ox)XKOWt<80&*sw8pV3Dn57cMX!M z2S#LW6Z?O3ry51_F&2C#8ZE-73ad(PS+$ru-+zG*o zyVD}Y-MwgW3GStMa3{FCyYuHed#%0J#Xgt0erM(w^U=S5|C$5$?WNLnCv|WOq+|a2 z-K|7AS?2b%X;xztCXk0OEm;a2aD6HfDPqQNv|S8tJL^Qv^?PmMY}%$`V~Y)XQIdZX zE?4ncekz|<)rzZ(Cm*s*0s4``rbwm-7h=SmJ{A5BKh=Shv6PU@ft!&w3yPM~!{}7| zS08?RNO|R{5Nez1c!l#lRP{bdW&&XI2yBS-?(e8#ayq_;ATjg0idt3kLbE&Dl z1+CnYlv+YDdS69WAScZDruO~qe3Cj%$P1elx@Ro30_%n%yII9@h@R_L9g=}2HywQ< z5aq?em_gYy^7zkXDk&VS?|JTq**M%stc0!ysh`uMwm&HJ(I#-A<^jAoUfo};u8+R{ z^^@zUa=S&CrM}@l|O{!*gy4K&R_+#_uE+$cs8t%5I z&gL-shHO-LoLa}?X1X=NX}b5v@zNK-kHlmeMyE*T9RW$O+U^w8a(BKS6wu#X3ve8} zcS?I5?9r*UB^<}P;8BoQ26k(?4}pv-4risoF=vUuxF)K=cwcCr)&tPM{h;WdfIP=7 z=p0>bfAF;f-=FUz6Gy`$eMX#Emv6qWJ2zxghz+K@r1VYhBY=ayi_SiS z%B`r}V#SmtoU&C<#EK-DM=Rk_^UnWX`H$_rVJt__#}7W>CnEv<~xrelIIH~fFIKYbMcd(hyrHmts{E-a*-zx_h{`AovL`0)WV zx_UEN5p?F11~>&7Z5guV75J;b$qi_E@mZ=`J|8_P4c>WS#YmoaCy)|MH3(4_V0Sh9 zyLIWpO9u$PI5C=9+i8A=zb$^LAV;6Qzc^_XW>7sFzdAkD=pN0j)mu;ytU{#x-h#vj;*zt zq*Bb}`Ox$_ACOm3ftQfL?SxFFV{Vp)j4X&u@3IBKB9zr~kDy5;RlHNVCd9!isw~`l zoIW(UDppDpdBO5M??z+>Bn>{YuZ)o+<*DpB3-KMGxiSp{#^ILsk`wIWw%nY^1*x9m zSF3wtOh7^WfL^8`NqLbv;8}fZ(~XlWo?gY;#B!j|s$NtsMrm(}$cd_2!f>w`J2ux4 zed+u)Vh_o7jS*D5{0=4*Ophz zOrSeRrZJE53znna3Ah0_+uPc2@W+R3JwN+?b+1yK$A0P?Z~32xSirou--2Tt6 zEnZg0A^eyhWBSh*+zOm5#^$q@X-PM~-@*v^VIFk)HtLu(0rtA3uSuPbcx$7eUyAM* zgPTtBm)_m5X_TbPAyt;XN>3Y6KzBRoC0m@YY*~Zv!II49Tuj>?CpJh&1s{93jSJWUysEhU1(NhWPbkYo&!JG;eO0(Use3P=cEZr1`Hs93BZ3n)^0LD*O z+U-_aKP-9J4s^pJs_APF)5OXU3K{{AYx2Cn!G)Z0d5&qoy)au6erMcb#q2<6(t{8k z|Bg;lwTt@7qFF%J{jVby9d>fAoU9)Xoex?k9_E`$5Se%eOTVbEi+d@k2>Bo(@>i4K zql72MxODYwsrNL<2>Eaaf6WY)RXmxYN-PS&6DBtSmJ>{N9tS; z3C#IBUF~kc5uN(_H*Tms-Yje(?de*l72Vm@e&fzMl2i>gvnazU)nZ;pbIN#5nIK^n z|Ed4u?fHic0&bLtJT8)+p9-F>XOvg(Mj@fF$C6GUW2g{SwKpYvaSAj%A4WoHe|br4 zNNaKAvNVgsm49QkV+R~sO~rw(d1^YfGdKwYJr9XdZpj?1x&yjeF$K|QLGRh&qvVPY zLB>WA+R%DNDXBiizy&O_i!&gpIDjGHK!-}0!Rql;&|&Me?X>?#5TcrD3D^BxrACl@!ex1R$1oe5>24t`wgv%KlG!~YOGKud`m^EWstOU zMSNR|u%7->_cz}G_&7rEVpq(lhpbq4xK%$wbQh8Ora-5)YR&6*H3q4-e1$ zTdH`?tHlcnE{6&W^}daLhyHw+CT=(4tlFV9qr+ZY10Bn7VYY(1*dz*r<_Mp^>a- z#evxj6g7bzz8POGZD#Q1j{N2J`c8?<&z#+Ij|uo-b0hM+(?K3re%+Rm@)3=I?;Yw# zW^)kueV10F?xv;Tzco8SaeuJ?HFj%cLO^cr0wyOJ+!Kg7f{jcwgwueAW zBJQKI%NPAr$9x8n?Y3+_fl%Ru44?ZkGzjA5gX_UuG;G5KGybO_SL8We29SM2T_Mmz zmBM{$yPVzko-peJ=hGI1WW6XVvCy<8>iF1pwee(OES*B-ZOi)kalWg6R@*R|tizk| ztEc+>yQ0KDARA#p7%BPbO|9I-6H?J!t>w4-9t_WyoB8tx%iImC8>j8vU7fTn`XvF} z@EYc^O8gIf$pvjLKUKqE2jyVIrgX_l? zz6Py>)sVHG10lm=MLnud))6_?Lvt_95ARa!_`^i9^)^zey-gI?P`14d6{&_=U;AadlJa>EtqmLzyajA-IdX8jl@pONbqn%4KLt&McS2D52>LG~wmYRuVvO z7*_K=K0Y);&57X?oAwi#moEd*xxPX!$g>eK?^g1I$ji1y`@?SLy%Quht6L(S^|KMg zT$sQ@<05jbP5Kx0M9~(eQ{=e~Vd%z5`vB zWWihy`Vs`9CD;YYof7^^rF)Rkoz|9*i(i?46DyRyyvZ7VUrG?8(b8-xbKOR))miFO zY5m`6D*pXnzz5Po5U1#6HafJ0PTwq<8y;6Mc~5_kzR1FD{~>1E%xTE{g_*EjP^Xv< zTWX#MzIpxH-t%ZFH|`9)iT4Vf9#M7P4N^{3p)V3q95%x5O;KoVwiSd32*%Mu8<*QqDTVd6nbc&FW5S?~UWPktF@r!3vHk0T3IGs}0ITfJH?Dc<>9h3I@oIX{fO#Q#@-mkH#=vx&2E(*OA2e=MB_u4e2(ja9~ zs2~<1dfW?Djr}1<;w+UWqqwCzRi@k3>R)xvxG-@u145im*o2Z>wQiUr^Dwq-Xo&^zv)Z}54ZQz&px8fymR za()bAQkeK#e#*ri^0WK9z(q)rdq;1ujGYTXmybVL*|(ST<~qKst@#3so9_)1?wndy_`J8-bMBvTJa=ZbRkgKap=gRZ78Wq?Ohw!=;X{5klb}ccz0;P{ zYHv8-R@4Sm6uA0mk5KTwJc{tdrz+nyL2u})!k3hRy#w&%&TQ0d(-pTWl&(;Xn_&=E)999z) zxXDR0r{Y^%ZvEQ6$4?ksp{k8gurjCDMke7CR=&q&K>Pl_-YL_Yw z4;{;bX8I;HQl-a1S~HIk6O>c_;bial%v8$vw@84{F!DLm%Rv=ys>#7_kPt>9+y-=a zkIXE7nLEImXIydwqDJJp{SRpJL*ql>|7y@`1_Z%8L-u=6P~T|`V(IcO^REt+=4(HH zs+(+`_-$d@`?fv>(bPehyFm>&`I?}ZLn6sHqSuNO@Z=a`AxjoiVX!__3gBo~NS8~2 zX9R{D%XBUBg}jp+tkXd}wF1_Q67+46SN@$ZcdwIU$HJwlohGsBr|oJc2ng6jc0E{} zjr-sXV)qs-0Xq6DE7DaMH=#obKx}f~do0BED?aL8ctNVb!WJlgN-|hoQu62fE36L8 zeiYZZ*qMmmM6nXF{*`rk0^uUZ7gg!MKVG0RloP#_W-7T~Ec%V>z2SOA$GXfXJMJwS zXYtr)^Z~&oOjtZsyj7%Ykwdk=#?E?3Jm}xPXY^yP>erJ(FQAym;*Zfq@xNmpGW--oG<#)UiXbB3oOTb zJE>)2Ovd(dH%^*X|6T%zF|}ffL=uyCIIr=E5R--`%NQ``mG(o8(W=cQesI>9fMcd& zD{aALYK!M$N?e_5o|sp2Cj*T^^hy5sI~SYoK!~Wf&?m-t!i3KZDl=6Tji^HfeNCS3 z3hs^geSNf0?3~*B_Bcd52*K4un z3qO#&-L0T`;Qmq&XQ53-VDm#CJfGh5;Ep}YPj-+4y<*p)V#DdQv-80&QX);tNnKg4 z^=kfx-*Ds_V19$BC<;t+dq=I?Wo(uo2IEwf$#gTBQcH^YGplBL5 zsAF@L29Aq zh@l#;n8HkyQ!x`J}EI zGX|}N6dQ;ky@0xP*AKr{ZTw-ZRJMc=&?jE=F#;IMXN^H7iB^9>Q zs`>dldpmocp6xzIATeFen}$oa<0 zx!Kzr>2(Itv=I?!PAsU#{``qRBH~Nnb9>xn5x1@Ev(2}^*a%gjesTM;kM@K~% zCd4VL56SpEOyXJe&QG&Vec5}1B1M#%9NylgBRHne=FM|?8@T@W`2*qwc=^METVc#o z)F%Z_x3A%_ZITq*dpjG@EZ4ppjpBTjwa$eu2e#LX>*;%Ffmd_1v$Hcx&MFfXiGyxh z7&EhZ4cTdN`uccdwXm)QC_o$;r9DZiJ-7Hs#_poMYp33A;9;> zhZ~a)SnK}kFiswIGm7#By(Jo%P;hQY7$z69TzoK5oUo}xw|oKxH55ZbcWA#r5XpJrxIJF! zfl$!ECh2TABx-(n?@T4ZkQvJ5ZN`Z>&bY4l!--0CQ{Tv*4AHB@2xHS6v+^%JX9!4; zC^JJRrMR{>UhdcK?mNrA2^3G1GVi3LR$($Fd+?)I_RKH6zh#osQa$DDZW6{xc%B=) zaz+P&8p@5t4NBte_p>T#b!PPB;@w_X(TobAfeS@NMa}#9k&e?20imWnKM9ZYtwSN? ze!*SBuLRI&*CA(f8izuQ(FLiq#A;CYX!m6uXT`S_S7UPYwUj)dDEd7;1I*Me- zr_|6yjmw+U{2+lgOX{=b7ztefLyuH|D3SN83Bk%@^5&{>ZcHa>q^>jbX-7VBA>)lo zIwu6oNBj3u#}8HOtfGHvG_=OvgS+e~;{g}NM#Cb^oad0|2Htxtq7g3(!r?lIc}>jz zZl%@j%My=WoUv+J#^QOvJ2~Ci`PsbUVua9GlJ1xjL8y6-$9Az^&TD0?&`2XOcUZQQ z$tae71Nfz{XoM&O(NBKuXtEOy@aWdN-+7Y8M?po$>QPvcpdZN@1Jq>E4AC{6`xx%h2*vFvH@DPrYL zrD~lB#Vi>=<nHRY0W<~ zXp@HDZG&*dX&m^a-lYDOjrD|kXPng%*6wKi*F|!mi;6Gk;~CrX$XNkNvxjN_2f$=C zpq4HqIsAPCKLN7gyQ$4sSr-!($ffi0f>$Ayif=o@a8udiHSPi}wROVpe9a?XsAlP{ z^#lXDSfX=2;7L-aL*&e_Q|&mZgM}nS-h9z5Ml-^J!zp=Hoj<}6jj~UturQPl6>J?V zPJ?C!SRHX8zN44m^^mNcgr3RgiulG zhYXnbsD907VXtb;3&~U=J@P*)J}M>;w*@*~zllP>Wh~$ag<*rq@Vv53#5OKh$#=}yu$Wa&2c9C%E_k{o^(+EH&T9)rJDAsB}E)`GhY zP}xcw+%}Fr4S8$vj7xbBhdRW{*mLJzeLIeo>u}|3?^|O||N1(KveSVG6(x=F?~#l= zTn@X|ZS{d~!|!$f#nJHLQ6gdfoB#WUrq&1q?=}jq=cBUzS#B|=WMda-5rsqsC>j ztydI~izdZ7(%73I$*P|xYWcr?yFhQ}a=;m`SLH!MJRi#JK9flWL&1D^oT@H=6fk&r z_Bhh9mlKu-=juAi53G+efqj7)9$b6zJNNu%xjMNqBl3oL?yAh)n-2xWN63D(K+M@+ z`sFSmiPCz@)%J0A^};gG7B``diE*%dr@(s?gr&)F?sYHN#;NX@arknT>~k?gU%t?r zsTF(liLrP_5KANJ!fAH9{Jd@Ljclc?%+n!DOcojATP*JQuU~)eH>FTHzU?xPWZscN z0h)pGDPe;qvRR6ygy%^QvbM8CPHja=#+S5_4!O>V#i;Gv!I`J|)Hej2G2v7$w-VoL z1NT~2L8nT-+Arf*hr?{p26Hk~Yzon}!GHubY-nw7H6JSAQ7et}Jtx;P9VVd!8IJ3? zKmbx(EVo%t&X!KKZCmVIL9593I8M5f(`DT!r*6b`eRUNX{gQOZndxuRixFNr0~uvkf=i6^xz!&n|c(`zO`ow4n@aU2^zGWPxCUXjvnl=G|d8)k~S92yZ#aR^A$wV54Qdbsh9$E95|T<_Qv6Hj05iv@4cT2hDNNp@9v4U)Ew=`8!xx-2 zAG;bjOY>@y(O=AewDrrpiQt~gxaoJfeqU!Er?Q*;Cz6M>TiAi+r=Y?IGi+p+zGjj8 zYSc%UbK>x&#mb5%ogxP$Exl(-#vwg1gX&TY^f`43r=Ct6&x_#?I*m8%KB}GuWo%*$ zCGt`?#}HVJsxGp`s@4dl3}hOBWcSi`fuOk!Unz}sbymoR7C&=>=VB}H6SOKRm{uXh z>|~Lfq=vo=y_KFYHnBwj-k*Q}TXJ$<>JA6Hq;+A%wLiR8w*hK?a8b4d)|dgmj|sg2 zcNK5h;>Sym_%z#i%EG|FRr7`Cx#vnx;HkG!->C)Qew)MGLfI19P*~Lbl;bnmWGwnB zQVjIfxxp?Uh(w%4mLy;{Y$rhdI5JR{{HgZao&7C<68W=@`dEaMHH0IhNpfn7BHd2H z4h!SB4nM?M$g41}7lY6jgM<&0S|%F$+Af%=)%Y!$zUi!uPCevq{Oqz^<1^hK-F%ah znQW>1htMct3^iyw8!BB_?6QFS>GsJoH@3Gft-q09O*}#4C~b#SM> zmR~h8TjsD<9}+XmTfl*7#+iu3K?KM$l&nrj%2K#CPn1GXd={Lo?)8mGa*nA0LLKQ6 z=7`xcgiN##B43ks3bdcpuTKmj$ng3~7=|<-4L{x~UA}}B$%@ieXC)1D#?T8R{t5^V zUetN!3-ub(dHV>`tD&O|TPU+f+Uznm4D*vY(iMo|tdK`_fifcmuB_vhrC-{fhP+oK zB8`gAjuK+RB5>Nn-8oKFMuM@MN8j!rsVY|egNH0K+Mr<%{9}vGVhx~p@j>zbpL5x) z2(f^i*p^fe9P}vnKyq4 zZuj%gN`vDU(78#He1Tu2XnE&Q{qW=6SUP&?j^Yk!g_cfc;JIF5thvKq4npIq#n7f* zyWUs82a>Pm$V|GUWL9d8RfbGZ7pPp?XKQTl+tbn1b-a_wl2de$vL2&w1*i12xorCf zkCVl4w{P>Nql?^7izyd$=Nu-a`VbwB%!b(-rJx>k$86cRJ1aMi;G)!9R5xSNnH4um zHAHnwtyV=na6BEb;P8DrF3BfrwGJk6;P&rCnX{48c>gfMk^`VC&!lyH>u;nB??$u( z@43(HH_72*RdlL=gx8lRkaqtAzCp>Hhhn3Z^@}JG8V?VnU+`;g^32?3tDxulJNMJ& zAJN3TX4UG|*AMp>TkSU4eri-3aMt35I1jRM1{(hUA`uZ06Rk?bU%!6+^(8cBA5uq8 z?AugnHJ~f#)Qe2)GVb_@AF~4E<6=yia5}d17Pgn;lQUc-|GQKMu?MT33EZQ>8znvf zGPtcDWZ)XqLS{~%T#pzwVXRKF6(cm$(5)Rotl)b+PHc7pYbbE zK>SGL)7#Z)S+&&nwtED`?h8{ma4BT+F)k&Qr4hAgl49@@9LqOz>J<cr>j`ff@3QFKWw|n|ELXz4GVNX1<_ryCb^I_frbfczfKy zOe+7me{+UX|Iw@dA<|}AYI7GnI<#?GoXCUXiwwgoYRxYfM*}9Zsp>qX%J?(trc=A| zT)K7kC&^+70(oIkqU|8e%v&ukN^Ikf=WFO1S*uBgIGbIK(ZgMNr;sAYQiCi2!c80> z{Zwwr0{Nlhzx*TP(IOdXNWBhGc8UShO1vDzshH-7PN&p~0vL!9w>J_o4&vmMePs~0 z*&iJyEv(IYL;0C<5T6v1{{+pp**MSZ;d9-`yggeA{St~%yKz-pFt9+KH*_ZBQb*1r z?=>X&MP&-pAj4I)k&XDl%L^*|lrGn*ycY(3I9YDN5%f4QbMYK9*CU+{!$7IWsI-ZM zny>zxlT~_!i2AWDHAbV9jgiC>SNpc5bBTt12TzR*X?p#}q>9J1Z?z_ReO@iQTkC+#gd&%?dQ{zH?SD=6ZgWlslEQ4 zAV#iOBd1ZAqVM_-(Jg2<-?(|2NVzRm9dfvqw zEz`sU&kO({CDEE06q6vF5PS(^z33hy&=&kmDO{8z`D277^zdShjZKV#z+#9|6yCag zakKW@&Ew6*Rl}#^4rBE_5whj!wI%-|7f$`)Z9fL$AMNNO&!&jGRf|Eb#qXZfdxOB+ zSW_fc7DK;9{2tez!}qoVQQ3Nbi3i18|hIFf4_QD>22qJ%EA(X58Kb{yN1UtV6t<))4g*sip~L%Ul|A(bD9{r_%Ihw}5W z$jP;ShuM>KgkqB%6*Bq;&KA6AJ#e`!XqwpPxXHX!5kHCZZwL8`ah zPni&gry+XF^$5Ad`)^~4wIy_1ZmBUuE{DQD)xQ-((&Jd10wP`ShG<-E@0bVImz(E@ zrnxNE#{|z*xjeB8(?`fCx`YGRtBBVWyvQXaCI%@&lBy&V#?JnVbB)ieUZ7#zB2Ee^ zZu)7UNUVkyI;-Fx^BB8YYozRbeO;q~D=^^cg-HS)?ZMVhm)NjHcIDBr;NT)H}EMB9D#X||vLAPH2{+=M<7D6CuPlCX3rT_*f z&{DzfSjKz0nomxg&I>><*X7Qq{6m3 zm9}|v8>qGr`M(icR+o{t*KE3vaWzV8P z(V6QDQ&!fxG1|1+Uo)+uLXef|lVGUb(7^T3f^8=JT1oBX*aKkK4dD zoI8qxPMK=L@c52J&Tv~LRDnB&Ao{2+1F|&-uvXqw22-5k#GV~rm}o~wFjxD2$R!MA&gq3h(yC&(8#Z2vMDmWln>j-FOx>vHUlkdeu;S;1B7cBIuTY=paOvDLSh z8$A_hiypBE%?{XBgU(o+2^F5A;QiH%Dr@xD$p!`-^M1>t^Vh)9V?>ENYW^&JHlm0j zKxafvnVGQ% z^XR0*mtIA}L#Kn*g~3sgJwUo7XdH&q73$SQMSbN!WdfJeWr1;5XWC77=)RU_vKg+u z+izF%zi(2k3S;L)2L{B-x2*>`94j~B=lPwkI}WS^6}ok*Uv-iOZ72dS{%))|omDG; zp&$s%!lF#eS(F>atr=^SM`xp_8_xp5=m4?O&ny{2e-Ox}z5r)k-qGtRs3_}#=yZ|MrKj})eG=b>Ib6Qsg$rR|!}9TnBX z)ib%sti4<`^yzeLAzdapt4otKtn9h$nrxR$rlWnCI%$)IbYhBL{abhr^B>{4N%S<- z00?w}kUDNW>}^3KYksoPhjNJ-wLXy4vyN?iPcMuNA8Op#nxV*71BiIFzo3| zwM=j})aG$}W0zt#j<|hl?dLgWp7a;)z6U0S&t94zlcBp%lP zNSujusLfUq3%DOfZRS&@1W#t>ya|Re-2FpK`1!$RdM2jdK`HARyCt6E#RgQUk=W7! zlgc`bA&(h@*V3zGmH0YshWu|lgMyEnt>&NpT}f}K=q;k%HuZ21Gdlf{1446Hm-!?E z(sSvs7y9f%yUVbz%?^RQMt{qd zY#CX@K?XUj8D(+#3t9R@;oe@@UFILWc0$m%Aj1h^&yc4n0W!jpID$-&V~>CN$6#@~ zFU&J zc9uw0p_HNyGx*1+ODCk@g8sO)tkpmW$wH!AI=Qzl6Tj2wc1x+a>Wy&U5tMs6?X)F$ zJ(uUYC9T~0PA11H{JJ5ZgnQ3ks6hD4V!HA$^e20^%%z9R`V~P7#C7rOH)MSYlX+GX z6(}4G%VF*VIgfJ& z-UljWyEr?m#uLTeDHW%ky6*eDGu|WU=aG7@0W(LBo?Jmx`0@PY9|V9(MXs z;wySvQ8{?~OL=g#4@Pu_CBhkj@xjWmniWfmKM7ltDiFT#o>uqW9ol1xd+!jhT zESJ6J4byn+GNiu`E}s!)1l?Plh+K;Vyu;C(>-Hms$R*f-f>OGj> zRV-5Fik<9^HRKXl_!~8B)UVJu63HGdxm-0Nt?ED*!kZ7Q#826$!RC<7ElKTuNsCBk z!c}5q;s&Tycs6vmRAqiMs865!5_V!*qAahY!kfS7BZhQ(6`vEOF4S6LM=Kb0vfV*L z?Nw0D#o0hU(SobtKS%y{Z;oeKx4pAtw$gf&#<}C&&g()44QQD9Fdz@itg_XP%=P}) z4*KRAhV~yAGU?M20U45r9GdBosONDS-8YyWi|5PhPj+<3lQuDp zh&M%;LBp|#V43vu%GJk1`0YhvwyX1NKVOQc6pxn{;ty>!*BLY)ofPS`Uc77K%`HkQ zZD}E7>%7OV>Ue!j8o^jM&q8DN$tm#ED^^Cne5)n7=RHNvBty>ht_8#7jbzjUqybwh zqTPGL8wCtK&?tUNqx%)epw=TBRzBmD`vm;a4UJd?a%6JoPhFevS4w)_rz}}58ZjHC z67lD^T)@&j+E5hEi>`P2r)TnALPM>vppAC_D6Ap*9KqOeqae1FGm{5~4AieMpR=qK zh;mqg_Fn4g<4>*(Q%Ed@Y`HYL=2_-xyg;w27j7$*f|lLxyHvm_*idgb^-#%eLkfR0 z+v9EMRgUm`Az2r$=-t1@%G(eo;eRkcE7isVM+z|kZFjkf`wvn8D=T#CRXlGqSaxZF z8*#bcv&$Cbn2^FrwxT#{kTsAep4d*eSY(nx~BxNHWiJldph6(3+?9_guf-ZG|Ljdn}RXeVKvWgys2WoHr zAd^&BOLmA3>e4)iR!Zxb16y?ThQF0Us=r~t0%&x7@!1MSXppN>Vr}4l77|4#-YJy- zHE=Cwkhr_0mG@FmgQif>dO_p~Y0#S!;IuR-5*AN+ZirGBYf*k3xd!v?Ka7V6e!irB zu=InfPXF;j(TSQbu=Y2N6ta^8X8&4TQv1c$gl3l{9;>34b1EF1=F*|t-9=eorbC@o zq0nq$7>`w_(2t+BA9JSGZnb%#9-A$KwXSSV{NN9Su>F=C@NK|o=9zf|LVPVfvwVobFB+jfmXU-EhT zU;Nnf@BhYrk(l%wrr(nax|>%cMqFUEs7|kI*P)`RbI^78c$aexBm;jt)(#o)zLIIt zMDmN3`LE4jcZaRoIX$t3nm#@a^OeYetbGJ&AYPc1hb(Kffkz|I#S;eYSO!p|gwOg{wL9#Q7&qsPhovSoCy{ z#|kZY1LG$@s$}j-7E*%^Az7Hh+MrxI#}H;*vR9wzLmck5cl_SfFC{0DMaG?ds7;0y z3K&%}lkbFxu>2~M-;<;&oAhG0E#r1s(XsHR>GMSEcI;5ZddR(RzjxB-Hp*!ugPayB zDSaj~Jt%KGYe^Lys1u#SLeqi^#6vdmsKEJ=pNb-X0)I>M)AnlhkW6_T-@!!?UDBDr z4>bBRmgy-%_H<;-|9uQ1t|vXIU~H%QX!X9efn{BUXqLOV`$>E*7UPH`u{|&8aG3h{ z-8s9F23sjUJvvRO%Lp8a`gX&0aJcU2r;R1R7~Ev%-f=Rn9~-r<$u+9HKO6m_BIp`{ zqe(w!JX(0xU+8+3({|Z~S=?VW<*S++*6Pci=wyovt;nMl4^FnE*)(5q1?v_G@RoJ5 zsoXX*1ZFxbfud~F&B`91IMEvrpcX!xZ-8;y_U!t6F?;6JUX_k~nvgHie)p>Ada{Uz zp%Uw`4auQ{5r+;wp@| z%$<7m@w?6gj1Ka_9n$;GU9IJN{$2_m&Cw0;>d)ZePT_a@b>L z;8mv=0(ZrbHmu;{OQOUWz=VR52(?LCS|6Q-Bwb}mM#jc&f3edOO2I7sug!d8yZQFn6nx~eHhSeYscI?t}uorpL+DB&iZ$W{WtwmJxs}s&Q1Xu zPm#0D4YxP(N)Th4nl*4xkN7Uwgu;Gv(bn1G8Zd9eD(7u18}4MyjZYXRQ>TurC_>K2 zQe6%EP5VCB_~(Y}i%ayKg1f* z?(@9Pz}nYI3Eedzuy%W6@s-1VuL{8(t_#T)!oz+gaR!f>e^2hU-YyZ5Elr@pbv(^T zj6KDJpRiQkhYtyZqeM=>w{bv8Vw%kxN_~$|79JBhbbRo~h!XrwLt*3+a=ab1S>Caw zOAlH#Tpp4ALj{obFz6hQt_(eLI@1?j*RjL#Mc#7ZUJ6oNm3w3|^5jB}XGkx79Q`&r z4K&yvACkOe!nu?L5#n74aHLL`+A;!DZDV*12MrLlVAN+Y2H$0m?4+_8qvwvN@gE;rmO*?|RnSiU7^Y zfjfJ>GTvV;K+OG;L(Y`Wa`j@xJh_|@M^{I?#RWQkQe&mO`(}eo-+1qp zrHLH_B2oUFf+lgaOcHhZH9^F;YDrO(VTq?UWd8eY7Cb*$#ex%wM|&qhXbdmGAV#aF zf&%83pJ;t?d0)5=r221@GA0v}EIGy}i&9s=P>F|!EGgYHMkA`-@ z%Z!Y}XJtWM-+M|NM0mDq`=du8;w>b39MM&8JT zXgkBb;~jtA0B3^h$7SG?`A$3UA(})ZI#TQ@BEG$kBo_u}AxAmX& zBfCx538FSo=)?%n5Q3mT{?_u^0LtWeu zS6(e8raqyUTyZ$5KTB5ZR%_;YY?y9)fI+B<5d?u@^_ylkcu0|&`qlO;K*um$@|zEa zh|iHawBz7MYgrQY@-{WF!smmFMa>{-0DSN#YeYA^rr(k4vbW9A+nUo>zsZm7XDd2Y z6PsfSqmr=H$E>eK4em_6+$e&hINPQ~ny%`eviXsLIu3)KIY+v_XG`(#>cnud!(9hWqU=K@HK9DYbp#%ibtYl?`{iUke6-|$LwKa(!G4u)7Q4ahJ)OZrxK=KTWf z+(t z^Y%x-A%Aceiu^uBs^o{ft21Fx{3%1`mMJ(HX~tQdW-0ipU+VjI^89lDDI$3+wouG0 zBB-heUZ)r}wx#99_u9okH11h=uF-u%gIAdHDLX9Ioa$%02+!lRweNL-_C}20TOc&v zu$5I`Uq2L!I^(*f-D+)3taICoj#lp&jA`oQ%y;F5*-{i^cb}%ew?$FPrOBs~9Wc@| z)^6d=9y`6K^2cjnJnl-!PnzR#IMZH2+tRXS&COE7>ayDR|NGPgJy?q0+5hLe2N!5M z6xBpa`q$ShCWl*62|psZOu0~zT}2{?i$OD*W*b_XKGJL#(2ZAaX8=B)(xW`rV24Tu zs%rN5sAPx4<_6T8-s&^Rd!@yk`ulFo6?t0Cvbr>Qk0dYPuEN=biPxNbplA5BIm%}f}^9EJkF89*e#Sa9c?`PxslpJ*m)g}z8 zLf{IOQZl+wtylwMMVeyC)IOCj4bGcS?~dLd8J{uUwb{q4emws_zpawPi<)2*F|QWg zCLSO0FKu1V-e z^_wYwWhJOoZK!#6tMR#!$MdR`yi$C(9z8>Bm2&4r zjk|8Iqqi4Kvd~bRree8e22i`>n4HVsjaQEU4kIvQ_Mlw*6Y58bgT11`Mzy3z7u@V7 zqq>#lRk3$np82jezl)gA$+B!nws}8f^84;yevnsli50-Z3XZe7NmifWAic90iV z2-1u{4HHj%nDo=J=vT)$V81=hRmz2CbY{zp038^&-EpvSeb>uCG%!5oel?*8`b9ZZ z(%!Dq`rQ5De2|~0k3fz(bGf3V%mJ@9HYobBE9YuqMMqlbU`-D+_)M>*LQKX1@&g~F zsqM8|g5PplcZu*8C_eD$g0L7yGIRsWH0$Gzd@26#Z|z6whZU+(6UE57eEn*ce^MT) zqsbyw!zL5=ZZxmexvnPN4cWc}s{l2)t#BUcdt>dMHjOk4p0Q;-i>Hh!630%FUE^tW zEK_+g%5!pS+#j-oeD{o1|A{9HYNy)56WG@I-#u=WQY{e2Wgk3;G0~MGIa|*&1daFc z_OPzDoiRQNC5qcP8DqLH z-_&^eOYEh za+C@~4i>B|MX}{#B}2e>6ZYlL2)r73;>6K&0xRXo&&;^m=9h<~^C13b#4T$O7yed% z#PmRngYCQI(hiHSzs?ZLC*()kTl3nzbp4*k0on}4C1$h6zZ$0CGZ~gBD;<~D;>@Epki|BaF$7c9En6miJPlCt7 zlR&+&PY58DY7bhWlbo_=D7w2mEA8~>#VDiY2N2Wi%15bEZwdFFWtER&Yu;)(D(d-( ziKh{aHH(EPjzQb$zmRC88jS6DU5%i%QA*wZPM;nHnCZsb`|g2Fy?eMNbXB_kf#!$r z^qCiR;hVKUMt*EH^RP>=h}mPw?NExRC+Ov9gsjoBpUge->zA5L;7m?Whbci^kY3LB z4eyTk_@kCm@cSxAgbcoB;k+XoRddaDePADD5eaM5K|{p65gSGaK-!6ymXRWJvY!1s zBt!;usY-)l)i0)4}tCC6$ zBv6g)9u1G|b|RvH=B36A4I}G$x0$s&SFMK2A==mD9%nsAavP+pGlx{S!d%R@f;3Jy z3xNYeLU&}6q$Ii9FEcdo`nwl&7}Ff(%*I#qDe2mG-4&UAiQYAzG?%z`7P0~SDvLjF zuhzF?W%~`I_#>k{H)E^6n-)PSX`#FWQ;v^t_EZTx&PA?6OIb}T%TbUf^|+AlXOGw~ zw{${cb@%OH+RY?x*H1_kTQEQh8C9P+!7vEruYY}MIKw0#M6|zKv2e52&vkZ(Gv;Py zW+KH#09NitxZjy$?3g4Atc%*dVxFNQ`FdRAku`G)O`+Q*!D zEDfZew0{V5@5xzu4=5PB%R))eZ`|UluyC6)!rt@xg+krM(C)RyODh>wPYOYjU$q*k zDpLzI}rjoJ8IoLJT1F0UFe znMB_4L8Nuyf{kmq7K1}az;DQ;`Za7*;0>KUhN%oAdN~=m+6E$N ze!z*+KUh*dP!KT;DwmsOtE-#6>q2dhdc3w{wteY(bXA*I9&*-SDHK@K69j=0pqH9C z@ow)T3*lqR2o}By>?ljNgKO_&eF2N-X$EJz;47~Yn%TLFR!VjvjEZ;omhS!E6+Dmt zW99un#XM#KyRORI2=nmJB1ZO>G$T0InI!C;r$%^D8Dsc2fG-&Kt*l7}*a>tY)M!aO zgVkxIT-t>44HT6^BW!3B%dDLeTY2e5FnJ?g9t<`@*7e$BN@8wCY2d9^P05YDcar2^ zXOLpoTa85VxT5>;V9IrK?USD7H=@T-z>KB>^@C!YI zL{B}n0KN#AO!l{t56QPW$4SVzbP$VhswlL1&YX*Wm_2(*ZR(0ecV1w$v$NyIMi8-> zsBwU2flv(cq`2YvW?xL~(9`=5b|YmC8{iVY(9D;s!bWHo_wW47ist6;!>KA#YbiWt1P~z@WI*gSny!ih6_1(=JUwO61!YI&`pW^Ia`I1#_)DMav1^%4ZWHu zEmxXoQ>+#_T0(oJxVqWe>weuzz%s`Wh;)}jeus4Mc3{bsuLfM{%~ARzYzGO?doM53 z_p+C_VT*ru-KNdh7mu(=nDzL{w<+kx!bwdUAO5ZnK}Ry(Hb6XZLW%fY{G-Yq>+RFJ zXQGYmC+Z`dAG}gc;e6zBS#~mYMKg~fd5cu_PBv?i85uT`3*veykc>^;$A1nGX3`t| zzo)feG0mC&hd?-Uf5_5Os0cGPqMzrgABTa^JNs<$_kd5kWKMX{X$q~JOKvhe#0~ADAccPws54kz@N>0k(ei~`vK2O%n=v|ge ziI9>_j_5xGz*PtQB2W!MY3OgGEh{q;2#DHe%v89fU&A?VNBiNLbvM0R`KUIXvs1^q z#?3rIxaqUb3%PcB7aVP*l|>fcdGl<(azARa(&3SMg-`PO7D%a7U0qRu8v8{q0fK(k za{N4{*&ikuOPMUT-~ZmAii3+ARqq3T zoU0g+>A2&3dD`PQoG)K>v&xfK(4dZe#d^S!Bsz-0Y1kw#sUPvb=|0G{+dQ^Q;%-9B zC7{W-l@=tfVYQK>@V=J)IpLb2>(XlB@inmnMSQv&k~Pq&bvJ~1)+#dpWvD`#IS}H* zld-rE_^4*p6Ds2#Gqj^Xu}9LgN1i%HmK&AY7lyMzJMV#I%X{|Z?V6JbMY2mvhj*c5 z$7q_h>U&==xe(@eox(R%mvOfA?085r!i(sIH;Im|M=Y09LXB8&%-hK}&5W$ygRfl! zB*?*U4h~O6yqh~d!!QSW@38!9lE<~td;51I0Y{Fnd6h7$DY{Oq6axE~fpfl8;&9xj zWYx2i!=UIXa#2(9GbnHzYr9cuFwZ(a@v^P&GW<;%+~-&o4Ey<@FBWyM*kM2)cv*bc zrOlvsU+`^48IT9VL~-DK8CBkpkyRKLm_@#mD*PNPCf_-~?=!ar+5VD>d6N8or`BBHT{i3ENK3k%p`q=gzoW$sxms z$4B(2fj>T|TBM%jIisn2W2sTi&2H3fVz41v*V+F7XhTWM_%vTsqGCGbOu+*i5e4`Ocm`pt#v{+K+#J z+8^NWGUa>ZTyfnaYE?^ z>3%&(9Hq2Pxu~|W;td@-SwIfu+0c$Sd0b9mr75aG@z=17Ulvj8!|>j)MJj-9mN|-p zm|*gXwafbFHWv$R0wT@nP&)VKZAsc|K9Y<0=rLm^j-;;RWR~-x68?Z&od-S*-b;(D z@^aZ5SIXF!vqU497Wj*z3fXLR8nIE)jH0O(yK=sg0z^5-IK}gzb-qyLE_+vhj!eaK zQrE%gD5Wz2F$^vd+!#DJJSCT#e_jiw<4#zFzczcg$YQKqS92i<)>l=A150buIZxW@ z&tl)Ds4!$wTDk=g^e@p~fFHfzu5us%?*o50d@RpPbtrX2)u*kD$eaPB#+FK(ULxM9+I7F^a1hC0&k25=NmFHW=^+ zfbs5UaP2R)hjLRi9Xz@|s)bYm*tk%f{3Y_Q`bP)CciVNJUa-Yisp-`ac$x7RBL| zfy=w0wu!&4kLLBq)0&uJ=(~w0u92P;&}V8kV8v%RzlN{@yHV%y<<|VhsU@iI}yy-$H6_?(nFLt!?eCxa_%KI(x)1>#t z&=;bC%$K__Pg}%MgJ87msD|NTAhkn6aN)L!JCtZzSAZqA9|0!oXP-5g^QRn5Uhz-f zB4Elc7Na~>aywS|EKfT~gFdFji;dPnBUlp7QfDDZA-r;-4>?5HK;n4dS1AKrn`XNL zVj1*J#rbtsmLg4cmi!!{b9D{HwVhIO`0}Qf2oUWas?LJ4oBfD;jT765q52j#l`jwd z{bJOHVgNy&jL8Z$5jC!`;#^CGO2o-ugXrB9{5uuRm{5@BzwX7D zISit2R8vmH-3p#7mQ65i!(&MGGBGm#O4RkjyTlQB$d%syZ!7cPN(2`}%#AMii=%%) z4CG~Nir<$rERcjKE;prfX>klYsCQ3GsO;$?!x=NeCLA-$?DgkphL-u;ADwx!ul}Wn zMY4T%r<>G`Q1_jwtYx4*2$6~KW-_!)z1|%4<+4|!@lUTgu8OWtmle8b6j79}$-vTj z!os;)Wv85w84Nw9N&lpZMoto2N#@;{A6AVM!(#UPR)Vo~dNtc1n)ftUe7U&l9VH)b z>DTC=KQuqU<<-WBdPM8ruXmFCrTr|aXvaTuf8CMDR}@A9f^@k~YNspRt}SBUpiA^( z?(cK_vej{?vw3|cHZn#~*;T*A>E#xc# zCKX?GX0Z?9@FzMh@cz~BAhR>VbpQ2e!TF(o942WvJh`hR><=fT#hj0G$?;!%$q>w| zd9Mucm!@Bmf9Bbqu*eS*gl#POyiO{S2Ah`h>!)l5o}x_3{j6n%rHw=6ELy7xQ7Avc zHqw>14L^x-6?8BQ)OY(vdn=t!V6mHr5&7{#P`qE=J01uq?W9cVm=ldDL&{btEr6anORtXXfIMzQ<=QF zU8K#;yY_c~+qbf@vPx6~f~%-BOb}DnwpSAiP#F1xo~^`Ykv1avU(nUGuhFT=MTYE3 zoSBmaKfCr?-4p3rPdc=pJ)b3(Iqu2w-0bHzzP>zGS}ig!76M}9ffPHqfK8HkMhFt` zYsNTVZT+p@!FL%xVPjE6;wUWKS$V%IaxhbSF=Bmc$Ua0mLXAhW5Wwl;>KcWr(Pi!uE-p1cdyh49?hk2w<(^zy2H zXb1W!Dbr5^p3;hj*Vm35dui-j7b6S<8m5^MU^RM2Q77rOndP(Vn^uSrUflWCz%uMR zUdJOJuP^ku_%=Nte4~P;s&|efWT_~4W0y1~BP8%(9hmRo|%?4*rY2}x@ zNth8apxxf4R4@wOwFQxTe5-w^}9b;pbzw|mo8b7h8r+KMn z2T@%en<8_dQPqvp&BjAZ!j|oXb(ePr2WH_|W^h4s9Ba@74sbVFhJ3vfa`ge{9xSHi z#`2@3xdg=X{S6+5(J%e8<1ga=l2c|dXMq?afLUQgEoNWc=_NW^-VB|!z_}Y8SDv!^ z2Gv?j^SCi1CPxdXw)_c6%c~Dd_}dstH`4%77|R3?CiERbg(eN3JeGmM{fQkH#!aX( zB()e?*M3xcLFja@6w;TD?>?<9*W2`jF_g!tAX(0p{`Q8@82e8h)RtaVg5Pc`-cao- zJ0Ylzfh4si=P_y(5&J;rvrCy^p~b;mxS&YLU=YdHVFz0 zH@_?R`!3ytjY!jP8)IRbKOUYWr{w%WwIYFW$~mGO+kVTzcsHI+$N{|m(Xr9UXoCJxt?t z_;Eq77TnN&UB{tlYlMRZT4LfgSU*(bAJL$ zppT7$$|1S}d)RVDUuN9~gX;$?tShps@!K|&eLfbqTSqFstq1NRO2n@kUAaRRj35PC zKe&G%Kf@$J#&@xiRLB34mRe%s+;$`hB{1ew15 zZq?neu?u>jgRTx7vQo;V1VgjA_4`Nhs&jHg zLS7*{KOG%61;pX&t=A%<_>$h^jrBrDhjvEn1C73#B8TLQ&2yu(?iKyY&Cwc3jC8_L zcj48ISerufV9@oAV4I8^9VJckp6BC@e$T^oHNGiyC_b-#kuKwQlDH=)s~8*z0=pP& zH(`WHb`Ps0V@d=CAm#+1tL?gzGK)qLgN|rEeW;!&0n_ByF1ET}{+Js2vL#d4E{X3@ zXyiE75uO9_Dr~6e{9|*m`RMlebD^unsczGMD>Bhe&=Ult_^}mVXm~M*uW_)MZs|Xd zQ6!DSnL*giP8={Hno{Bhuozdn{R_r@=qT?e&UBGf&Az@xT~Di-=;pnJsFlBBA6nDB zE}8zTWn|Lo#QHaMx>F@%n`f>}T;Jo5xFyqLPTFyLdaP!z)qP@#ZUjqYGL_X?toP^9 z8}|6*6aQVgak^ZR7s=@*H{v(pauWwl)CV|wMOlj2p`qEO8dG9@Vs_J0g}bpcn*j&t zph*1kCupjXGkrX(pk55PD=!5_ByL#<&O1Ztk~qC!A&kysvPo>%N&_?5s`!BfMiNzd zi?kCbrnA1Z!oEY%jJ~}~$FkX){l{>Nq{y#+>e60vh!aH5O`51z2Evv&bEn5p=0N(w za=aLyZ7JFpYT|*~CMwL)xMM%NjdZSK8>;jx%*7P*S+?}lsO@|v)Uu|*}o!k|0Puqi7{&dySl z5Dhj!jWkadT3s=rMp}WMkGHv5wqH63Ku`p#T9Za&qk@8z%opSIzO@Qky3xU4a2yc% zONPV!SNp}%EA)^dAgIwgoIZpQoe0|X3+&|q;ae_-SS6uQ{B&k90W^(q;Q1D+!L!5L zodi@-&=LW~C?tIWc^Hx!W1nhuG9QA1GhZJj;m>0;R~Tn*ALuS=={h=~33ju~0d6fo z+c2Fm^(@n@h1{EhX*u>&9q(^$iM0>jTY(=RZrv;Od!!bcYOvC^(?Kg_P0ZlIK@$gP z@+>~3on&|~Pwyv>v+sW7x~eqzA~5K*@hb6VR#qZVAlYOz$tO2TC;WXFw!uy5qT5r1 zYh6$`xm$~v?S$BI4e22)X1`pgv}bs9Ew1Fy@79L=GJyPah4&N}_z7cjDt2L1?Y30+AMVxYo;6j50mBLYtmHc-1&M*_Qu>2#kf;lKd*F7>SpUMhUV* zyC2KoE1lfoy>8W!So+xveqa4oXRO1U?w`pmt``C!iI8Cd@k2$&ZUTR((5Fsp@-+P5 znsLE3EV-yMwxGjYXWD!8^(t!xa3k&S6LyYAdYLagU1ZoCudIdLKm?IZE~oaj+`J}- z{{YE-IX69!%pk8tPu6vnLmlGXtVhg43)wXQpZM`R#7u^Vm>oIwI1VPKMvM|6p$#Xc+1g-3y|S`cnu+X`$U~B0wlyO$BtpGw->_ zT{Qjp0}9%LewbTZ_d#tqDM$^`rLKtR6#XTT!J}0){wscCPtx)Me$hriQBkBre2*^{ ztuG&Sl3D#`qzm1da?D}dpHFNz42fSwvL+e;IE7U$zPM|`AA8Tkxr8S>HziT3c0BB@MG_>I5`JS&0dlc zBN|%Te4MGcA*IQMg%~Yvf#>2R&tT4TeEY6uD~Di4EP5KFGdU1A*zdKY({NOH0S5hT z3OP@An6lx=rR-@xtF0{OOS{H8TA^RZf&II4JunKof>8xvx=kC+4y2r%xY&*G-7oI< zTSyZw2Wvo=XTr9aVsm;%))W@BvDHgL~ep{T*Dqb_6mY#)gc;y;fhL1 z`f^0W{>9Puy<~_+G*Rd`H3+`rM#dwC;(#fTcKkY)7{rd&d+es+mlkNX|Jf|3%7hD2 z|0S9i15geiW80<}J8n3;aC_s6fXY=*wG#ogIgsSI9*9f89_74{`0RQ0+rIBL#$i_i z6{X~G>wYgYc9sOYsDc(mo#r{tIW@T=1SN=yySJ3`ELQIrTdmd0JZMIXsAw(|B^R9? z9K`2o#Tcb;GR1yk0*i+azd!4gpPmw&*z*uO7sg@`X-5lj-UzTAP%CeO6CX=upK)$f zvDFP<$e3U5F(I!%PB+N~N8fcA8su6K#TRkg4T0uI(xe%}^ZLAC{qCqx&N)&BoDZz+ z7f=c_9w=8_wjwUv$#`Cy+JseoRrc3##%TD(O~ykA$Jo3?I$OW4CuU+B@7nKt9~SR^ zS%p#S%SddMT7pGz{nbnHn~jlCKJra5{NG#We#W=|p)m>f%oRn@DHY~qXA>n$i&2g( zyR+;QjOMn}_y{pcBn-*%xHuTvOrMgp95QmK5Z$;r8yho|sbZAOXVHZ4uKF#^{-(_g zLHNL&QqX%NFA%bM+F5|W(nnL zV~CBLVnb0|#Rr`Y3wKdIV)wx!ymZ>TyhKDs6eAuBF^}puAr5GTWZHyT?F)!Jm4PI7 z3<}EzL8OTe1RwbPATOm?MtGAA#`aM42^0|qK127uZFq3Ih$VY@d2;lb!m|8 z{18l84w%ABJGgP4OQ>@e|5|CIi%O-mt?vBt^ROxZ%1-`DB`4xN3USu+D2Vsw4|H}ki$Smdef zwh6oY?l-3~1;+?SQ8y?vk3AjJq(=KegcVK;k2LHU_Tgv&(W^x&mO80!@y~<_V zFNC+-{+M#T3sr`{7iaV3WDsjl&$^^qn*Rc$k#~Vzmvk%6Ip(KLGuj6@FI*$b4i9^_ z{Q8^6z`TfSypK%ayXPnB5;K0M zf-y7C4$Z^mRBye5vVbxMqs*rZJC@ExB{e|j_cait3~ObdD?408pvsQy&ttoR4ag&L zC%LybZo{e@EfKV~AG`{XP&0#jW2O{_!49@W$q&)3B*@+543FjY_1G*X(uqWjVc3Kb z0oyx_j|kF99KS{1Xbc3ZB+fLeW~K_#`n$@7rlGdUmu)LrWA3(;mX*wE5<;bwJs|e9 z?N8tx-L6rpz#DYFEnSE~D;OAlSql&t!FNJ`+q$xBMJo6c-*cRMo{0Ak3-5B$yzYh+V7G$%ZZwN zHA9D6JmznnD*2EUcYGd_hYgCRs9|8knpUSy+3Pt5G?*13MyagtahOWi7R`s-d-DP4 z6al)$3H*4P#BDBBR=RhaiGL<$OU@T^qc(@WWOn{F#H|TK>7{{laq@`~pv`k!|0wjS zxYyKKWcf_NOV7GySr+3`B)8l{6yTha+xr;g` z=EBgZqiZLe@Yxf6lBP_#qZ3nMPU^PYnhDn$D*)m3one##G@DSp4+>2BRhP;|j7Yu&b)N9E~8B0V=xN!f3wT&>hL9)kVoT4I5Tpx{Cgz~x_xR+n0 zEaE?kJG6)nBZMxdVlh#=7NK28oI@J;+5A3!mEs@r?|mM5g-H~GT|Ad8mENbVmeb!!6o5F8T=tVJ#C zGq-u}bBGi}57ak<(dNk|sx?uN$UNl+iD;Rl|Ib?my_rnT@Slf?a|D-H`(+7 zdmxaBGTY`t&)_9US$d8G&HkB^!O|qxI;kxutVLIV~JRXSy!y4yXB_;57yc-d152Z*alHo?X z^g@W|K#Dh@-*91`H#q&oa|$5|V^4-WHSqY=t`c{4C0q$|MY)I&-~sd3UZK+m<>08& zbHE81#bmPGy8|Hh@HnlQQf#Jb7kA}e*!wN!GeA?cd2ReV;jXRgKJcWYnR$7jYTX&MEaaGiOJed4N&FYsGsFGkI+; zKXMDlOC#TVZh{u3w(kwd!u9^)5pj6@hZ@j7DR4m>S7eE}3|$Q*+t=|>#G8vgo<{0y zhfz?R8<($Pktv_8>Wtb*WiPl>a|q{U-%Go11}WkjCX)c7t@)?munW70TL)uk33hgp7b4p;umy19yhL zv5qGSI5@cN*7k}LVsBR)T0XZ^g@;z1Uxy{z{v{@1=hQR-PRGp>XqJ%Kb+Y>OCf)Rr zfF8VNxIlZD2`$+*N~5~??^yN{<1zoBMinO=bWI=r*4{7%hFdET6w0QC2KI{?!Ldm6 z!rnN2%rYejdKd;E0p~^x*-ywgtrAh z$9xsMbi-Yw5)n{{cU=Uvr~)HV(P_DLu{-}pl9|H)=fGD%177?QF_|p3C5{)Wlpdsi z=EGNYn4*zeC{o4oRI7aRm&5N%+@6}*PNE4=)KQf3qG^>hwKe$Y1UIJcSStA%<;czb z5z`)*4{3nVS*z(KTV$`;ja$i<`1i5_avP5xhh7Kd1txcD%MO=vyn=$t$2|waSJ5Cx zB9uXgpq-vhWllkhv_tcgIjh1x`Imcaxp3JX!mM^Iv!+D|{0Y{VTz7N_T}nV+!0ik) zf;xp;r8F<&FZ9;j$@WB02f)j_y3k=u{JlViJE@#}bBhvJ=kud(kR2C-U+@C<`NgIQ zPfRU#45`R3G$|vzM!;BPz7eM*4Z48Ql58)$%E)zUCh>417CJ1##xQL~_nB=6A#^Gz zeR}}i?0C{PYz?zd#KH!%*rihLwilsh=GFyQZI^#Vhq-KWkRjf%#$-_5dG8LG^twVm zSJx1&{rU?2XZMyQ1FYK%D%Id%9MvI#0-hRC9 z%zzMS@Mf3mL{V%Ofx#%Klcmyp#QDihuR>x>jALwgDgc{b zplkr`U@}Oysaasr%mudRu-v$Tw)5-Pl3vJcya<{y=Wq)l`wtB~bpvsBlwMr3a^C7XDGRK5bH0 zcW9E&RcYL_th?W}AIrZl7^Z$p>fpWp<9D<)0D!0nXa1t{e>6aT7#=Z0*$306S?a8x zL?moXm)nV0x+q4Cl2V!#F%43huyq`m4d_|WXp?uNDTU&F*qyI|@OVuuYzHO>xn@qM zvePSjB-584TUvfkXU1&H&?gQ+yB6rmDct_~GW>$q@hu*!H?CNBQZNiS+@ z2ZXP%fr2qSu3~0cS6|}gNmsvSao)&R2JWB)J%NIaNdQCLg7wfR8d#8b;J|?rh=vGJ zyPPo{#En4gJtm_Lz(wXv7mb#e)u5`fBra6nQO}I}ya=F`VGZ~>v}3P`REkU$88t(| z*@M~S{Hw5A9|o*^zh=+v3FSD6I5@B%J+x-bY?)5@@bR?iGtk7^QGA`1R8Ah*xN}Be z*|qjsq7~lPzw~cXpz8YSaV?YbeAF$|g@B5eGqff?%f?m&rlGZ)AIScPfB!#g*la`M z;Ux8mbnXFZD?BeG&D)zS`5CJaBAJ*kc6tZBn!Q0FM5T6@=TX1#nRH8zy*acjygd2} zXNs_B97<8|GJe6A$Pn z0a@7O(CG5zRoHfI8ro+OaP*!g8%4Cg&wZers-cV>>LjG5$WxR=h1raX@e6uf5Q5k; zpHJs2In`rSmK z$u%ZhX%6FE>z%)ldy|MbUe)U`7lo(=+U3(n=ne$O?sfblsK(UlK6Qq`Dsv;MoDVxP zTzM)q@!fMq;Lm>b1P7v>{hQ?gcl>WU4%5$QWR$X6eln{d=nN~Bj9%P8gb7{D1hseZ zfEDdn@I>Vi5yb<6vmOoe_il($(LA;6h^DSw93#8W^Q=ENRu4FUr`M(z3zZ}1uUXcY zyJNKT?A-cj_&WkB7|zKN%qKNhPT>&Q$>rZO0dAJv9rN7&5L!HzGv-VmiKx2WmV#dA zQ%BsA?@b-oHBF^Qt4dVS&L7#}iQo(*h)5uw-Nno<*W`so4+`DJ9BWZH^HCyI^nk z_nK9tT&`r$n22v}CrL{Gfprd~|FDcGl9UB{bZa!E%Bfw|m^Fz4lPiqJrK{;{tD9D> z0DYp{aIV}*l`<#*Fz_&hN{y=&ktX*XynS@WFr$}f`I4U^B zuG-vu)^*<|8W|f9#oy9OFiB-BugI^-Gh{{p4$~|!Kb|};k6iCSuOXc413|)F8HCRV z!Qe5XuvJ0zwoJ2uC_Wxb0@b9->e6d8V^R-;q@E-m)02<0`^VcA?cq;6YL5|fZ37S9 z;%Ld%grW|v!otE$?O9;<{}5SA|69Df^kruHp|aU2%dEmef)J6-#?*zNXm;Q($wpZIICOZd_1BJ#K5>};S4l<{KPw6M-S09b?`#qub zGpI2UrEHpdxvpv(lBX15?Yz~5OZ{(cC5&cS+u7Y)Ww0JPN!)Mxq&*Tce~Bo;OIq{! z?H?{>>kWh1f5z$KwM@3ZlfYo8oTF#tIldk*Hf+z9FdHo2h#)kE${4wL+QuoBhy-)> zf1OdD&uT6};$3YE?n_I5d>q+z4{<4ZgGthZ_32HA4=Eu|Fc@r+=6S>EveAd5prKJb z5&M?GYB4BGHY3|VkF&5v-Fkx(@7=EbZ6o?O=grKKvNfcXOR1jLghaT8^7-Y=D*n84 zKGX3udrv`t-IpNPf1kyF|Bqc993l@iGjnqWbES(@?0y*XeFlijH@D6CrLDT2Q>tEz zG#zuTul_c2XwKDRUl?tP!A+wsLk<4n%Viev9__!Vl?wE#A;WstmMdpJr{jJV3`d+W z(#QsflWp#Zww1A-`S6kBm6W+H=Qhye#*+l4dZ4Qe19F{kaXPY6+}*i~X+ICYzK{l4OPdz|KT~Nd> zn<}p3{rI48=kcLinwM1$qV6y{z2Q-3uaE7^iQ=fydJ)lPq^|xUey52FvAw2k0wQfM zI9)hFRY)Lbx-gh+Cjs464CZ+{t0e-6X0nQlibQ~vu2ROb#L7ENte>PrC#w26LW+q< zhE-UN?OIc}FSWEC_-Z0+f?{5Ttz{wrR8sjMdlVm^F6kys+2rRT+;$R!$Cx5QXxaxA z?ZyR^ln~l7jc2twA7sR{8!3s-nAmbCva%e&$q+Vppc3vG>^ixiVeY=U*kU|Hr%k?CRm+LGX)&bv+8=V>Pi&fcWad8q{PD z11}e_&1FV7KYPSecxaMJ;P$+|lVhAlvd2W5Q<{LpyHTI3xsfWq24bZg9vq)+W3Ak>V!o84=k9N;i zo|#p`Ps>}hd7cCy6leWra5z)E^Poo<1oO|mf%~5~yjIJ@as~y8Uy#K}42m$IlcXPf zePHef>+4fE>U*$dan9BAsS0a6mlO}Y0c+M;hn5ST^ZrO6=N>>3w;vhL#>*V=7yR|} z`ewvE|5>pZU^1SfQ7%{S=eUK+CZhW5(}(xSC@4a`EB2O9C4!)vCF$g_)dz?URS_16 zSX$pFRJ0wZG!KTaQK+bkIhBMd*!Ig;u9C!t=NyMehgz`6eXeq9IKV!G89&AM5_CZ` zl>^gMTbI>l8$zi9xh|{i74zk+_LziXj7aPsOx64vdD3`#hKRgK9h#0T*U>N~dJWCE zC!-)fX`eOkwNRi$#(^Xz!;$MQN|bm17)E^j57+TCk51&$0uLAuO8sJ15F0AI62N}; z6C(q%&~hu|pbSvWpCzuxXCNu%C=Q{IHAL;cK;q*tZ-(8PJ0M*=4>j*Eb)+sh3uH2N z%K2Z0NbLr*X%1~YFE$2us!j4iG1mEcU-5W|d3>uY>%+v?>vE&62i06Rb?R!Xz=Et} z+5%+0HsbI@Z;D}qgZmhh@I**c-jK4~wWZfb31CnMY&PuD!X|KO%MqW|~M zXxR8)tlm$2n`SY=T#3nkTY{Qcbf^$2z#D%_qmIuJiea+z+#O7I;YAgSn4I16PK*}rC4zm!V-Po1PAGeL7+(Gw8fM0%jd*N#=V)NmL3*bX6 z(^mnXCN7I0=);@^m8g%Oh%o=mXW1`2KHn1g)V9dS}ac!D&{mpJsqJm=eVONw$B(rpK}n= zcqzlKGPKLblwmNOl7fR<7|nbJ29eM*@{e@>0kP~bhE>aUA5$#3FCKE(rrVO6Al zUz(@v;$wISUMmewy%>nrV#UK*hZ?4^rcF_LW53Kx8 z3CQKOFl0^^@+71f3I`&Q37ExKqLGm#8kavhmO=Yh8#WwCgZ*b0oEM~#;Q24vIm1;h zvDQMIK?3x;0@?D_yrSTel9B88@#sH)NPM;ro~xeHQ|0C8g=;$lgYC~+(l(l~n=3>m zqF3VnoYFoK!Czp0%npzp#~Et~6Ak9LR_@O@cUf`v23&uGorvWKn$h>sRv=I+{$yck zxw8;6EBv6fxM~YpE^k^1AD5W=?jVIjBP{4J_9zsh$ADKpy0&{;EP|YRd!=XV+!1#) zY*M3MsRsjv2NX^hGk53zJy81oM}h1IkLQKzZ=DCQoF1g)?vl0_#+x!g9o$A*_U?M< z6t(P(f38z&`#{lP@}kQ^;lt{0Hd3BSl1FEbtt?8_lteHe_@K zl>-kM#bNDs0|daME>k)i#-fW8t$|x9T6H!+J#(0iil$P`x5uLX-up#`=MnI?jZ?Lx zvvmk4#XWCZs6~3d%_*ymfH|n4rj0%n9}mJQY>UQsED%AMwcYHAC3Xj+I|(YW6C#9O z<>M(MY|F3Yfjg-;c<~-a|BtPAiq5oKx)Id6aa z+y5SCoOAhHK2>Ygs+u)xmVXZY_U}1)?6C&^-kSffmIg$uFGezaerbhW9Fs7p6xk7U z@V9Z$;rDedkn^c}OS&=wi;Q+8k&Q#H+}BoeJ1epdReaEgt_adIC#OMgBE@QYicH;Y zz)vcmH`Y~DKnDf}h7ImMzWs{B0N#0k+7Tg>l;iw)6u(&i%sVLwx`tTR8WNCg+%!4O z`b6bPx-NV*$cSdhKvJ4Pi`=FPUkRwVu|DM(%1b5K6rRc4{2D_Q0dp+V2d)c=#E>P) zk(ygNbR^-+nWM&ohn*5b#s{nC2;7m#`Fje*cb1+<1ch@9l<{dKPaZBQKhl z^M7m~NADfm?bAc7Y~_I7(LT8BSv}N+s{tD+wD=qsj^C(u z7lvz8#GX50aeQrm@I;tjT)^8m{msN*QD-qg?15xa&G;?7C0cWpKO=J)K@bOTJ?J}d zh-}ZU$4B~I&MCPpSxsoq&m@i_IA{~akQrGL0Iw9WH*WL@6;gOGcSt#!JRFK}oBR{! zR;0lam{mT?i&(|U=67?#`$CAW?s8X+I1<5%H8?an&EN6zG2SO-Pwf5wzXK~?u)d`T zR{pH8|4T_lGT#GMAn2n(dQs%g2SlH3avpFft!eRQrf^GM<7_q`zXHm zHaMRxsP1TD$;AJ2ppEV1K!hK8$8GcFh??voza>_m_unMrfBIW+cu6{Pq8Br3YsPBI z-_sc?BuI5an!)Fx5GNmX6>My5u$|`a*RwsDpCDP-;RCkvwB{<$u#$;U%Se#ITP9=T zWRx%wFb6_&|=Rh6rSdH-lEKC#dR*F)tt%`y*bcy#bhZ{ZGkY888}o@UQ}-%cJy1UPXzeJUB=)`PleTF7e}2yRK@GL3PJ?1wKs*${ zGuWpkRj;5{mf8tT_)cs@EU+=~k$p&yr-*DHAGx$(lCDHrkfy&jY9N5bD&jx$K()&4Zj5-%i|Z_5TLhub;#J0-_uoGU2Of<43c^)B;ibjYtkZe`O^7V1P6B zXln-Um$8IQt!rJ=Skfmnx+ph`B%D5w>u!y;x5i)B`%YRFbgBZJ3>nxWNrJT8?iOop z$`JY23a0ZzLUk5M1hvM}BT~f?ggJV79qX#su7Tei@N3AtgOMKfl$}cZiFcW(42>uT z24_6Bzrh{LA|f=3SBc-2b{A=6{JZ z-ms|6db>G17k7Jc%})|kDrJlE3X!t?WI9D$#|7qR9XOp_N=~+~R+<%pw+4WwWHmGt zce?nKx_YvJ3)lv`iBe0q-?xp8je}QXuFwI(P>Jv+qq^;c5T>HlJ}Ln{U3Y*r7j9Be zTg}FGT9ax}3Z1q_X4W0>#WDbsb8Dbs3M91|Vk{}`rbGg5fB%xDmq0KeA7bLu$LnC7 zuHtQ%QKdMcDJqZY1zh%AIBhGCnjhv+*geeZ2pS+#wXzcIXS-J8mn%S)IS5!`7tWsR zW!rkRk=IQA()jP#_0<3I<@UC}e6?^I`%`GOXI4A}$c9T#jZJh>vC5SJQ&wPdkl^!0 zsrD}z6r1>TiB86uhs;uLNcNXhNbDU*w2Q6BTq2$-#k&@j6)7fRad-qE8r`5kJ3fqMxP%ALqm|6icaZ4=IOnTr>i=Avd+rAg|sQaTY_);=lG5 zP$lPBH*^R0X>S=09btQ!94;++thAqXE>qTsTKfP)Z80)z^c70==`?gL+x&{k+S->M zUzN?iz8C*;b>8^5|1*ZdfFV3A(kW^tqp#5l{Njx#G@w9ZnKrKzxjIG?q2xG1Ep1BH zaUPV;J!_iD)4u(nqwugDJj@T&bypS&&8%!qYalm-jG?Pf8jh_+s!x+rYkU;r=)*L4 zjy{whcv>1w0%5A6q2Yp_p|gM|;~(bVB0S)0xE6JhE(0#Kl6pyuhRoz})|PJ z=eMms_0MHDZVCKfZq+~QSrNNxcrb=e@*-0?vDnucGyT)Ap9}$x)QL)u|)56 zkUa00tL9!q%JbG!r76Efw%Ze=*w|DAjag8mQ&+E(8})7609T3tK2U-=wyWzmwQta` z(IQ(0pxaabqLRn+l|aD4F@j`Anc+{_6#CG^I3k~W zD#`I2Gj)|S837b{4CYhoj?G=c!l$*pQKiu$IKL*Th^jy-?KISrSt{O=I2Rz;IdM5s z#h=$_uHaIg^O;gh?m1t3(X}1&+yvADU|?XjC++yqoeoo?&-{*UXuBQ%trl_rS1sbC zh}fK;T@0=^TE$5fN1^tGbC^Y0B~b_A);L*_*7BbmB)9)T5$dczx+xEe z`1OL0<0U7$1W-58s~#aAK!!YD?!pE6FjZATv$w!uqBv8a3u-SHZXhNbv*9_vyG7DW z8GV-J|KilrcFPb6a-c2m(`dHE{d{chZo8D#m9#^|rs_p}?nxQTqMkB#|9m;B1CYHw zw2~hYTXoRHaa~ZvVlkDg`SrKsxUB6>=7#{M<a3RNNRS{UJrx41$Bw!7BSYSk6*clnavKqH;qu)BXTB;y zGp{{EDUj6c6NWRgm6e(M`fkK)ksWP2JrcSy{^&$X{WynCFWp>eLtbmPqhF#IcLW${ zq@UpuZZIeuc|I)h6F)E=hRtquKYA#R8I7%XT2;GfZ4Skm<@jQFH7i=l;rw~wRVxD z=c)cJ%SPDE)#l;6Rv!t-4`2yNVZ|2^fsj%^C96F&8@-sM<5lc30A!yq>0G3OQ4?t- z(911Y5|4*tem6sPuh^tLES!n$W#ic1(UL5sOU=>ucRt^P{{$5{h<_O)Lubgpy)#H` zch^zB)Z%!?`bu%tDm8wPX@T7i5|PDL50}15&3y%KCs#Qp4E5=pRJ6J(nnY}K&Ku`d zXo`eUo7?2*Ynq%N>SQH zO){+INi2bB4NB#1n;xMzu|dn!FXjQ=0YPB`TuZUO*FHKQW%81kG+Mk@U>nl%^7M3V z$3*Mbd-&rTzfOsz*+!~Aub1PWk1=0Dqj$eFQKX?(>_rw>+s9?;e;L^ugCkxoJUNoSwxcgWeyp9~tkev0H z46ZOI_BKtm<5`BOU;K1@Ur-&_lY8xY50Cz}8uI^H4WwwzF=i705BD>uk<`p$13H}Z zYv_g~d0=h}RuSySRb-Z-#nQP1m3d1?-& zkw252-pZx=`h=8YSi6*zYVxUqQ|h8AP^2AA`7pn#0o#CdwiG0LCE((P!Q-bMpwVdi z2Er5LrjIV3^mTQk0a{NO&0mkr5Q6>|Kn`Xq$cjiQMRR z`v8m>(=YeaPkk@oZmK_$T7AqCfk;R~X#5~Ik5j!_XqoJ3!V!_n_UQ2fa8~)ra+Q6^ zh$y#S7w;I17b_j%pE;r;u!gROc`#H7@|WvPBPF*n>o))Bn5%9401%gfB27YQ9g3$8 z2v=>p91$Q?%RqB_NvL#6O08=Aryk2Z{?rUpfyymH!wns~o|Ah2Cd!Tp%hc#j8-y)Ljr z8OwT8T>!gqu|`|H+RozP9_3%#0v5Dz+)XeuFr+E&3XF^uPy0MFyML}6k^DqVS`X$= zNX7^x;oQ9eRin|5`Qmt*Y`Gc2Hhlo|`Bk7nLzp_*%2#N$IKQ~l3xVHIDoXb6Iq_`rX{HoDp} zn6~*{ihp{=y}`FS_v0SC^5e+TqyaPV`)rMAJT4liP=b0kF7ERcwr@bggRxqbR`hCy z7HLf7)&{_JNzL=*1&np$9t7KnV0b+J3xTkmLMEc0u1f=U{1 zPglcWfYG9_rxW?TziMDZh{QznYE-Cowij6MpO0$}?VA8LGi3#zrKP3r&$Q_y1_p+( zM0q|)z_0k6hhh(sDdysP76Uitc#yHSzpWxJ!#+xKWZ5Tel8Ii_dapQY>@$z*$>J)!yDZl;pBzLGbS;|l*GgRkj1)*lUNp0E^23l5G*+-fRkZwQf z2>-uZ^56c5!|~1?#U85zLLSZj)xB7{tekg;qe9btR4MLam2PCCr!+ux1h}=0DLhy? zQ;{Mm3bo5@HiYPjF24+ux#m1PTLd~z>Ze<#y|hW0*lhJjQXp&hPMeE7K=s-i{53~y z>gbl!+1WYitOOh`Ss2Q1e(eZBPzDjv{;tNhca5&)+jt6XDoGf_p8rTNKtM}V^Cl4g z{TutbePCCoo|>A14j^gI1BkG_cneDDtE#ExbyaU7E5~hu1{>iW<@)h;ePo|8SUp-l z$$tL{?|s~Dzj|W6ow?)-;`e#?Wq!r;t+2F>?Om>kbOl97NL=VjG{QfOA}=h=p8_h3 zAkW{w^CJKjJM48upf0ZzMbJ|bfl>sV*Q(fVD^iG*xpuVwW70_^OfxRUm7AEvLy3vF41PXQt@{?o;(z#sgw;>qP;N|xBf z=P3F@OE8mnZ!;&(Mu7iiNSEn4D>r-D%|Vjg>}ja}nk4li4(-Y>2i56!-YS!t>e7L( zJa+nqI-&Q5o<)Z)gO*5Mcxv_=1uej)@9?(lbIlhyark@aaQ({+157`|!~*=%H$#jN z!?X(MKQ-><-+f#BC@b;tH@jhf^e;`-^d@Zi_76sm{`qn4Y+5KZilIV>3mdvt#rnNc z@RC@8dGm}$8F*jL(fd-@(Egn$l_0dhso;gZn5dL+y8?ArGs0{sH28(jrG1^lhpUL6 zBY-}+A|kPGD8y3bmyG5_8Y?!S_~;!>LZLJ-4h`^RWSmu6jSj#AG^mDy@6ZjJ*A6C} z5>WO6yF&98;U52#eHCxfnPomU+1Pag;-jJ$q( zo0EyTH zm#+hTS|bc)1EQ+b@R&?@&ntd!Be#nF&25h~OKpm>!Yw{4p$8ePwcO3GcL=bdb$YGy$nwjLuC^+46g0L!aOUAbAGU ze~gWUmxmc*h;evY0M9~uTVRmIkkL2IEC4;dk&pHMdRD{qET{kro6sEr#on7Dnke$2 zMXt9%S)&tS_gKUJocC(}1x`8cwR&O(3jxaV{u7S2Uqqdegrk)t_LcZEeWcv^d?mZu zKM!&gFIeC}`k*`z=Y=E+12mC2MAp;LK@n$wg4l-m3L0fs8Cgs^KQA;0BpMO6;dq~Hh+3?c>M=|v?33C{v z8bWWIs!*@_8G|bfr^xaszoVQ@9^S_Vbw*H$2t{|aEU@(exkhP?_j_V(!&~D&7WM}r z0337}rw4%yI$a@FE{|PM-wZa?68YQ|u%N593Sy&3R0=bpInnMAvYN(dc(xeu3Q*&3Qu?5}vm|QoOw{d7O8B5!$hWAa}2fk8AO_Trne5d-1Hs}X1ZtsKNPO5P>LyqY_R zm!vYg_Smn5&vVFfyUsj#66KMO-;VKbut^U6uP+p!3C(_7t+k^+IiEz~w!2EFN~8%f zXPxbR!1KkuzJTR{{+2_3=H z`<}q8IIokW^j@!Cep)k#m=|13!RfpY0#yvL^!j}EM(rV6rL$VCX5;_^p|Yr?xmbtp?33|;xFqJ>83jpZfD^+vp-?bN7H-HH+#=# zJwQ0Tt|)S$%4WZ2*Z{{i1}YpC0bTw5%G$E27SX#^C(*|{M`7D|Z%CFQJu0VLb)G^W zhiq1URkgW>{?Tn)%0Rse-j(9@TXO-lV`-Z&$5YojN%c+Z*_V)3h_0C*M>ZTugjJ{A zR@`aI@5HT}ACHI-wA8i?LK51aAQEu5f`(5*i6fraS*k;SW4$^Iod17fzOYYFT0XD$ zGXv&(SY)wKe+Ii3AmSc7KW$)eI-=nD-HrxWhyI=_n|ZbJ9)TX{%*UF@;T7(4>zJdqoDDV9v8q|@$JEQC>IJ(|MO|^rJL07v1;5938Tv!uA4-me}DBxd)#jq zYC64+FlYIlyX6+6S~0N#wMnf~%?dOmWNLuAc*J`oN^ESZT8;0AbnEI?@B`Z6uJl1h zp{y@H9-lJ;VDD@EPmc5*bEbktm%*K>Da>uSIQoe~dhuEjwU|%tBVLgee2D2H!;?kg z@9b8wkSgyT;!inXkZek@kq_P(rXj-uhWB|YpG-E)>vtUsn{(avY~KMfq+bV!<6GZ9 zw#0Lk;=6ot$RZbq!%twYE37IS*-y>|A|kF*`gM3xlG~TwV19F`ZHH=-ISrW!QWZv? z$ewg-ukH)$db#`)7Mo2XonVsFOkiBg)Tt_UXDMju^JeMn+Qbr+Bm`8_$Rjd?+A|#W z3gQ!s__YaWocM`o_SLoA92L%uZSj(m()>x8x_#s488%yz+!2EHk@R7?nLopyz*D8P z;Ny-hXJzRhUy5kZXLK~t^zl}3Lk4D|4R|;3Bu`fx7ht9}CgHdcK4MVrh-uElBIep~2YUrx^za5EwLh#I zwCKs%89+8Z8it&9E5SHR0_V>1sE#CYfZjt|z!0>>3jXla zTCMvXp@vCrB|(46&m3OQJj(^k{H`rAiwD1IRV?T?+2!UI$6k1Pl1^4#4fg*UsSgMN zV62cJ9Gr^mNKdr9>y*Iu)7_XKT(Sa59KIu2Zb#NKfH5!O#NDbJN@3L3pO-4PvvF;1P|nw_ zQl1m&GpX}p=A3!%qi({NHw%jLo=kK_C2S;ywjn1wX3eKn3xzWAi2$NzjdV|Rab zSC!)^_0i>-7|Q!(Uz*Z|7J36AzJ8jH(1T-?$WWNAiHyj_uC<>-%#v&hzuElOycYZ% z7nE2Bh1qB`TDLVX`3>f zH_F7o`NJOpsG!km(O~bF?Dys%Vr^AKOk1&vRnr3+L%-W#Jxi+RMyzduz^geOGl(Ok zc7=O6mW`%)9N_!j6%tFjRA7W3jJwky=5@~FhC!LpOzwO3%Qpjw@D?@{KthLa5H=H%h zju6?j!9DMfDbFs0{7+?NI>DzYQQ7e6D_{6E!#8Y)2F2cs)^8ViBjGd53-)F%> zSnZBesYY$NR2>Z%?afy?`4g^WxZ&3?f6HriDbyunwsPR#(~|hd*fUh%IxoP zx=cP@W;hE8zMB>(ZWDHVZx)T|f)AEONJ$<)BF{4|_9i-aHGC4LmeV~&ve|;GS{xRi zi4bCzLA7YayfyiFeUOlrMfLHHQu`t%16Gyt0yKE)?^H;i{6oqQk0T#gvpRfQYpxzs zoc?_N9JKB!s2aAvw~l~OFgI^U#Kw;P83>NL|KZML5)vOs%$k z1a?D) z?$1qawcHzjT7{G}y6LonMv=)ww0KcPxDPLgjs2&(r}$-u2SYH=4NJ6H=a7t>nE*=^2{7^xNjS`7Cup2}E}G<3yVu z!H`Yrq=FV=Dr||YWx={N=IgEdOW0jRq;yYo1wZq-{zctUYT3Y|p}4HSR(JQo4v|ek zgV=B{&I_P4V3WIFC-JL-j-{-NK7Z1TzLGh0_3PxsE%SRjHqN`jdmLycYd3f|z5ZpU z$hLh&sSX$1%`9TqD?SjX59g~+m1wmOXOjP?9;{N=ZS^#1Q!CF&X-x_W=kZ!oCoC*B zE7ZdVocraG6&RO@9du??H{v^o_c4N4ELM1?_GZvjHuuh){IJ2@BCUk1Z1CDa!XINa zMmnXQz^f;`x>HaH9C^w;d6nmxt$9*t0Xxmm@H=>FP4)bNsIKR93*wW+3a?{X{!yM>XO%9 zZ2t&~#6JS4z2^FTa<)Ak0~J#0H_}4+cSLrea8}E5eXju2M*6-lm~T(`aZDI2%pCa| zBwF)S#DNNYD5S@wo+RboeqNEsryyipm=)X32n*cCX<0vdG4XyfN2{t{SwLH&&GW6B z^i=PSrv0`iCmOI?t)!*J&E|F!E1?66i1isto#@V~nmIL8L373b-2*b(qY2fD*H&AK z1_L%I;Ty{G{ACLp;M8a48Rgrof~2Obfom8(Q!i}9`zE0&QPw91%?(3qP%pf!KSR=u zLDuZRDNmQhAIr~fn*?WfN?mrSoDFqTPreA;DnwU&TG~Tebuy)~3o0&NJPI+zF*-{;V#Y5TfwkSy7*J?F-zUZbh+{BW zd_H1wO!?N*iK7(E+~ukjF`f^n1&#+}6uNCNG>C`_gDwWr^24o8=5=;ozUhqh;+3Jm zMBQJX+?N(^+?zgbEZ`_K(nnzOUqhNLe~UroAp39scrgMm!|;_qC{FoLgV_U>H`^og zL^d}BTqww_8trp@&Oy(Es&wHJEvtdsGwuZo_JSp(u>8&Eb-#JBGO5tJ!q)E}#AtNy zq$)sGj*baw&vJaKe6PWl45O*Kg#_a#B5S9pie2s`Oy_jZ0dPR396T}AI6#Q1=;Vq4 zrU!_}GRn@uPEOVY!=8;U)LcJMvxg!|ct_n^2HtXMC4?d-=}gtK494^=P5E^YaTT+ZK>l$5UDBk4m{QODF?_$`nC>#G5YHwq%o zf8eTu(5#bas6TN<$YR~xP?2b~LV&frm5UT2A|gcC9{ipsqMvAd#crQpcmq_&+hIz6s4~OF{*K5MZ$jR`AA=OKLY89gHP2 zjflw6P(=X%Di^MFYSL0X2%ZId*7sZwW&vld+Xz3kx~`GdCl@^zK1b{6RLO$VrYpB5 z4}H;$=x5s(yvj8n;6?kwcbW~e{%i7Ff&QUrVO;8rl`k@Y3neM~+SZJbUC>oqN~ZIc z;4BicekME;3k05ccdVS71`tqJxgVtI(l>lu&b*Zm9ylI-G`4UgON9 z3Zqx6CFNl$MqD}#E~R~LI?-U3i`zytvz38`fm7)BRgs@9z?G?!PY(8CRd#~%U!Gj-2P`gK-Eawg#i zef`7;n3#khhMJnLMa9LvX42vS?WUO;KR>{-Jve6biGfi3PkGz31ND$X?-$2oL@wi! z$l9fR)9Sz38;mmOf3F&vqiN9lgEX_$mdBZFl9o5>SAGa6%-)TeM&!FEiN=h!KJ>oAZ7s<|kbr=jgO_(1gkgE7hJTqvx@5Jb z(KXz6_;^QSu?qRnCv?8PVsZGPyys~NvZFiyyjW}60kjAD01|G44T>C5Vjz|A@yD$8 z-(DZi=&ed-_Y-&eLjiGcL+SSPR|+ko`?Y~em6ocMQT#rsq;BgvohHQjc5h%Bn+?{c z=NYX`76;;16n-oKWf*YHNg+Q^H_s95e1%nL*6VzCtx7w>jQS7!qAc=%E=hnuFEj*VhNnN`AP)unC ziMQ%)kX@d^$n=6rDw`R2T?H*%C29DbbZWf{PF2Ud`Z><$(`z`-fYmc5E4cNxFkrhQ zD{PkY?O~CT(2e2HGZ9lvF#YdqEtK8x^4TbRhl?Z{G@GyZ0@(vd448ceZm;dithrr0 zEoV!y3!H6_IJ~Sj%E7eE7O+v6JUvd^~!!#CxmB2R(==$3SsiAul zt#@H))0!k!iH^+q_`C_Ii6aGoGV;J~A|G6SX3h|pG?^scItV-bg5rZP*eFwHTAepBUfD$yc(u!#!A`%8GEmTXg)ZTS+i+7|~X8N#xJ{QY7f>R}B0U?XVA1RfWyHB<6 zzQr~#ieG!G97Erns#|`aTfCcHpIr7j?||_|AUU}iA&xEZ355gWR4clxi=_u(te>U| zTH;mjSk}w6cqMY#NutAL{3S&DjWv;pdrkuA*z>8>y>-#+uWr-VRSyT{mo|R-bp0d| z1*Un=L#S1;a6r*}<3SrQ_`Gf^cY!7~P$=&b^78%Lf`JU~*T%bzux{(V*nPBU>&qRS z8IWEt$*Hr&(&XoB&FFwt5CDzVikrs~MT_~;cpk|n=Y-aJNl2Ou6``YCU_ukP5@oY< zrOc3MEaT624+_-)~nlz$wP;!Tdt zfh#AI&87NIz%H!`_Ud2*%f46Fe!4v+79Q4!6@Oqq{)(@)Ee!c+`WC4J;+Rs-y6&HG z5NW)oPZDS~J_;ujWAJq3w}i*oiDg*p$? z$t})-UJ{Sn3-Z1Nwg&dV7GG^wXo+nYyF!6QL$IpPPlT76gd;X08Zz&fGdY?~cLc>9 zvX^*TUR?I|8Bn_})x09O+e7cZX7+xDFQKvT6T&A#eW4Dp9;R3}8vpKK$ zFXQ?io<};xaGkopv2bu_2L)B+VG+lk!(tnyC~0h-M*-R*l3*{sOOToL=e&l**IV(G z#AT(qL5)-r#$&r4E%Ny9ZSIUl#zrQ!yE$HMM2w7x$YkE+XYP%b3sPq0zb##$Wz3lC znHv2=u7Kot_-9QZ0%yOcw%{FSj4VR*^2|JImOE>9yc}j8uQk`ebj(+&qYua6Ca1St z>ilDNj6*7ivA^INjPmceb;J)2xH}na((Iez%Qn1DZS~NVQUcyN(gql3XaU7rx9+%_ zBDEI|3cL;b#L+0-cGpq-eZrPS)7mz{#GbLlE#Eg-tEKAX!Rb*-R9nV;-TnxsJ27F% zXLZF6=73}z^G)fVsGaq3FVM~!&}w1T_eMUI4`9#taS_op2J;U>?`C&yA{wn(r_c>T zToHg=fT+wdaQi@H-=AkVGmJz1@1}?%M@t58F&BScs-nkj0XH>rcXr4AsGL>;q~SDv z;Loczs+7S|HK^<4Cr?+8jNAfsFvaRDf?lCcmK|ooUV$~RV-xzd8{fm6-*>Bfd=7Kx zE{f;bHiBsQ^R3tzH!AM1!s2`g!V}C1xC+7<&0A@0b?}y`bL@$upWV7SQWwIT( zS#l?5+`%fe838vDfc$0%T9Cxn|@eCPX@(a(w*R^sTJt4MZ(bv@MP%%xnK_2PpVWWRE|0Is~06l&cxR2 znY^dK00JpIJ=E^sQrm3>#1k6z4;*|Mor+@y!Qof&*%v8t+3bi_=>w?B1VFvdi3S~3dG}@dg>zSD1lFLX(6bzlMRH7!XHJV*mb@G@P9Rc*`7inp{e`82nX{pauBW7RbtIgNTan3n;f8bAb^%}Drs$n>P(!cP1Vw9+ zGE^p1S_(HI@iW_Pvv+l&0{YHp)L4Esq#M%e+0IJ_iA``>7wm^jZ>(3l>)@u37a}t9 z1txLhp5&k8qv_mK!8qTKH{*v@7mY?wR3f4(g}%O8(>t>c#$A_n$Gb_3xnHb+SuQ}g zkK5>S-NXHI<;b8>%b_2ZeV?gG7+jPha34@*2vlg>_JZ9^G#U@fF-~D2A|lc~l7?Jy z{d3R*{+sEf#A%^|fWsxMZh|hHYjmD*JmyHmi>iZM%d*U)cP!$ZZFY~Y2+3h(oai^X zC(YB9OzYUPCkR=EDihw{E**Pd;gt8X?+p`kl8SOEX3?>iCq?&1vq}+{NzI$KQAa6|@L3be&1q*0nM)#`QICz=I}Z0?+#IK?@kV|D?TpbRO)3&mQTvhO(uYwkya4+Z#McH2g#MD z8=R%TR-2RE?kB9Yv0b;5NU6? z!Pq$oL#LM%K;Y+(KE+o(=|(fg0BDTmz##Z6>Rx`dpUOTf#~A}wegxe<9;}2Jwm>(SPtu$>MjBcuapCkG`vSv-KgYgSxGlWHsV22-cAHU>iR6;$<(f{1Mm>4M_7YJy08$>u zU#?v4uW13JU=g0D^9GB>N=!1jj39JI&_~kqw(6KO^f@EQ0YhK z4Hl2MurO;HlPOaSK0i?5EQvW#Dvgf`-VAc-2QjC;;+cPkCEB zsv$LP;GV6MB=T&k4urYMuuKpU(~8eX2!QZ<9FV5(@`uT+svY+Kos}XCZ7r@Fd=yr% zf=4eQOyw@Og06K~U@QgeK<`FCH- z^w8M$AazYw2mk>IGhPK@-&#kKPNnN@07&fff35pBZ(>45uE3PcK?Y)IQ=aVwS-dUx z03EL%;CXcUzB@oQ*{%e9`CRi;s+u*M8xDlAD>iC1D(D-=);@S^1Ii)>nc3d|^pz+* zhajB}mbQOhZYZ|9+L)M{hT|VY{b4$P{;|M!BfQ3+xs@rK2k-cd%kWyTTAoF!Ri_e_ zbQu>s11omZ|4HI{v5sk}pQ&qnbm(gFz<;~n_j33A*?v_d92irzane`yK%HlOBT+UB z*SViGMShst2bIJ-n@g>#3LH`NW(Hg_V;W20k#&_NI@Nir9*;&$w~FKLv8yGc)dXUu zoYs*dVHpk81&7Imve*3~H)TLeu-{7vF-c}PmnUh+D#jNa1jxs$mFNzi3`N|7CWuC+ z7A>7Pb*TO{tTRwVkazZP!Be+c^Vs26oxVA~r0~_oGrJ?v|6SQ8%pze7y18F@*H^kaox9MH5_(_x4OJA19#oxuJ%z`WAV+(D4Mn@3T>zS^tr3-1g2OygdgxSLI8U5foAXF}16-G#CD22D z%y@T4)5F-rVqteiVp?sm!r<_N-QswZBTLV6Y0-Al|L;pU&1KkdYlVP|94L53$*;;8^NgK~vx1 z^W*Q|6Nd6l(tQxB?1l5c6PTxH(U_e)heiC}t|mj}^}Ob^@&J`mI&c^QhRUz_Bsx)e zcM*2X(ubF_9sKj*sI7=dcFvU&P}2PgLfwQfsL}#yD3#_sG+TL?c8sATBNyM>BqV^U zgPe~#b3t|vVra#?^oU?c`od-o$d~&Z3|Bl{UF+&fRmu{QV2Z2}GBHx+^=e1czuICj zwCshp#LqzHU!qrfbAR}>y6Hxg>+5;RCSqAkcr@KT954K;uCx+t>@1b1N5c+mv|8G3 zYO=W=9mWr5+|pg%Q`CW*j5og1sI)!5fF3|?q9iIv9dMCSQ)Ld-1H^?EBkO9ota!ghc5 z#IOlC3IX2H{e4}B{}%gb|Lv;n+$q4m-g{sG_BTG5{0t(TyBrueX#YsSp|-5b};r0FdH4oJU-gTxKxj7aBJr=)8~*N*=QV zQ|WQ;b3@*bk|P>F5xdJURqV8;IiETwNT>FB4ZXZS238SlqxkfDNKoT^H~s7hWA7Pu8!tR@Vn3oe$v9j0C;aZ+Y5EM9(GPm;GcSYD zIOxKkEwT}F>lDC+ILJax$og-y_F1_sk)jc(WrQ5})33=M@a|N;F0OgIl zYz~1c{Zy$u8GlmJxfnoT3v;4?KJD5G1YQWFS>MwPT)_(E+KxNT^TE>Q+=kumcJa!+ zM>;B~^h^JZ+F6eZ`VCDhJKtIMm-W6o?~XkcW|yrF$258%>;3NRyLS;wef z#=@-ar({Eg&NmdXFeyMMCnwLlvi(Qa2Z)+()$2> zU47*FH-q^L7<~H=Ed(zGQaeE(B*TTv{aS%@ZAKf~WO8axqwx)eXwa(Wh@__*i6MTT zy0D0q6%%Ei2LFgU$d)a=*5{4wWFEfvz}{#sM?2pXZXRV3IAgB3p|-m364|w;magwI zK&>cil_mI>?&ka*d*{~dTvJVLYEX1A+1ziW4C9)I%n$&f zax^{nHVrHK*j?CkOK=HT?v+5r0P$A9$L%?h*DE(iCj*An|P;J*%Ue0l&4n= zr>ZJ_Z!-^oSwxuxlUNp>sr}fLQtB8cWP(2n8F!`44ZhH&LU!PT~UPiKcz5qN}h4OCy z7E#x-P9-%ER47=CRA1VWRF5*PIhn!MKi&Nv5D|`g4PXHGT{sdc^WbB`f@>5O7&2hi zISxYIyKnnCU#zN{xlQDDe>3KP(*aMrY`@ZrdbwBTIEPE`)Xwj7N#ikv+VnLy5e&q? z*Lg1`)4K5^$w-&4nSwSfVMQ=T!yBECBUU(H`;Kj>w*+>9ucn%809ZKX&MMA3A>> z(|X5vLCE*DyPSY^RTZAJXhWtE*2h$vw8vrFph)OJghTksW$TmU`7&hR3`XRdj(4ab zpT~6P1XFW!VrFLKtF9-!SDy7FCH$_9KD?k5o4-HWD3}fofAm0zirQT^7`@zJUUU3K z%hbNTvvz7E5$Y*1X}`azeiRk~`fw3JN0&3)l6}NcK+!h&!=|ihFnyjTN;57wE&U`o_86UUpDur zQC;1whKUKMVug`ply@l@lF`J7V~bN%y9&D1&7!fp&mYSdYmwj?$wf;5<%Gd(0z)Q~ z3srKhsZhv>CHqeZT09cDMdaUCnA8 z&HJk@d|`Y);2TItu#YbEpvC|;$-uwxU>ecTHGrafr)co^V;qDNSxYF`q16o-QC>{(jeX4 z4gdDu|Gx3S1Dvz>nsbgh#<#v&7pXzRdwv$VC2B@0vX0A=FU?-o%}q&?2pR zsuWhsKuMtc$)_s}HLEnsaD@QwYf40c{NwiggXPCE>d*bL?hC_SMo}J=G)_-3(^ZvX zB`kUVR~9}zZggkoBN{NOfGh$!d4u4;&jM!EXY{`>ypA;=^jwzmKApMue!7HwqvX9r z(=e#m`=r}P`MZ5!;llf7qB=leyyCS9eQ&C%jYhbIQQR^C7LD0XKHrLuP_NwM zQRcyx%d|==t4Fq{2)}Zec!|8F${}+KibZ;+geDTC5S1w)}sW07U3^m_{r-yAH8wlTID6+?; zSc5GOdn5V9X7|RUGZM(btW|J!ioa&|&6jJ_-x}t9Sg&`?buB1P|>r-;XQc?Vt3r1QFz=f?SsOD6TD}ebc!7qDcx0pRf$eFnTE$;@=;-2 z7@T-HG*rh1nkcX793 zW4w^jUIQ-!1o=0c zFeR-;;i)u$SSK4uPN@VZN+YitCzH$r1qKNl6|fU7=0}r)Z45W~i~Fc2t0*Id>W^@` zIvj$xCp>H7&-??kr>8CKZe)tL|=#ObV|(MNc6wpnv|6kFL$)x0-8~d&qc@}9UKuy0KPK^ca>=D}(bjVR zb?y`^7aI1L%wazD#Y#|IHcIKXlUt##d;L?YUH@y`ybcC!I+T#ZvDwl2J0OYI3W^m( zwPZ9JZW+*Rc?LwDm9DCAxAl4muE#j#IX{gFd?qv>ZczjKy zUwjZ$6C;sad{tCC+1g(u&-N4eLL(Udw&QIVrvx01MB~o9QRuFLuvV0UD}cuZ@gS;H zr5Jf20_Urx&*G_5@?nkhy*1WnNqPDE`dr5h&Yuu~^*K@N0a&Xf)@H*%nY_y&&->eW z0>dajD(!5A33*q&(b#>y_Bj?-X}b?euN>&ItwI)JVq1uNQ>%_CV?)4 zK^u%j6mj@fY?{wPG`|ZS;XJsi;H--j(Hm$IF?;LmsJW=5?hY&4o~W!XSFlTk%={pP zH9eL6J&DKcp(4EH4etXj>KsSWVexr1Ad)F8{g^n)kkH%ab2&>AgAxLPN7`D0)c=H%9l1k537%N;8RAj4jK)Ju~Wq4 zE`r<29aDPhc{kR-T#%T9I~DWug*k+W#cusf*+9by#>7eshvJh*l1+O`B7F$Yr6x#?%<~G8&Z_m zc`hEFjw^OtQlL{#j(OQX(qXT;4OQosy!|ZZuhctOjo#iHjDKc4+ox5i{cdWLq|?kh z3SYbA59xl3yl&FKGkAk%{uuWg)#GZo5R=KlJmS35p!*XnK7&FCl^hT^7oA4rCa z>cMZ-3#^uEqg{yL03aI4Sj5AF=ZMw(7dN+qz)Hgp6Q7MwHOd;6hGq{yqIi$WkVt6g zMp5v_z4ecuXeZs>Tn6D+9urNTrDh~9_VUlIy<{d|!63I@q_n~3!=cscU?px;uBj@{ z@O*BNgRwVFNp!5ye$Es0-Ag-f>D0(VjJ7WYHNfHk_Rm0AtPsOqeK8=fXBfEx4P>40 z9#RL}&v!uDL$e$G+ zKg68Im}0|%b=hoH)#!ZY=ou&H+_pQIB6>K8m9I?pJ9TQ_x&PB>LjX^}7bc7IE}}HU zcCyww$Ue(VOsoX)@c?s1Mr$Mm%f$@L!A4WmqRg!Hi-X#(H2wsArn)qooA7XM_+1dJ z185z1@jS2}bq~t+1DiG%GBWZ-f1*Cn`W2Y377@+N%o?zm!{a~wArTAfx=_~} zc9b9V&C*JCt z5%PTs`VXK4>cA;n7#kLenaO1ifZaRyo_m*FfC~Z(4V|3Svp*%|PwQ$pn>qRg)xzV< z57FvXE7y%V58HT8hP|P)G1tw>FX;D6^Zbj*%Xl`?p^Tt)f__ zC)wLKA=>WWo|~FgOMCFSV~~#3qqY-aRPMKdTgNh7JSYaju#P$RsH~hYAV7AH(JL0i z8$std$F-D>#uRfWSzVKWx9oDIVE4z-F94JQ7#%+Eg|_EWSG{-cV9n zx)+d%Lltw^N3S0`xsP_htQKB;!Ia(78kus~ zfrP{IHKa$l|Ew!?l~XnC@yrbSGoV>-F{sCyR$@C8gKp^3W#R=K6dsWvXx@m4V;*L% zQO^S5Toefre9824ijtY-dQxgg5uG&gZGD}tk_M5i?@Fu7@9BJZMSdf-f2I0-5nLoG zyrzmfI@&PywmZZ9OtbA_hGDuh2xAX3rfznWLPs~$ZHh_eI-FrFgB4|s;DGKv=x#k> zS70SDo*_qE+0~==r%1@B$igK|^7phFBLZ@|wct8fZsK0qj5MsFWja8`L`L44K0Ir^ z9Qx&BzFel+^*P473*N9&2^>nS*dFRo zDvpK7LpF#FV}{B>OGmCl3Bljwkqo;$m73H%s5>=iPu%I(Td-28m%C|p+Dh5ijP-DM zyrRv zNIwe~7cf#Kb{!h|30G*h2R{leAN%C#4bH%Ycu@b^I90CltQ3&bAnrYzu#>sv#Id-z zoFC_bd*Ml>N<(X8I?&Y{#!!D~!WoKCrQ%LVTus76iQzayG*$BP%WbSEV+~j1=|| z^3_S(DWUiflafNttnmf<7c4f*m&}M)n#pS>_d6>d#&1PD9ftV(20GYR+WoHD9S+5?4ZxaX*DGdcUfA<#!|(l7KBE?Ks=ENII@1=Ti(w2cC$WmL z#|Wl2ikBLuvi*sQ@9n{O>0Z%^{57K>OeXYzmL6QDG)MEL z>WkZ)f`D!ODmnY1`{&E`&Q5Twxu+#HE)YmV+Pqoa7CPKw#ALoeM@>Y|DzUB!+Sfh~ zsh+y$ijN7nH~Y~yaw?urn#3qm+AOp_XIh(WwZ!CdkR9~brl?Y`_Nt_-uAPnMlu1Y9 zXT$tgTyN&u_`i0iS(NoqrVvgppW@%)Ng$RN*Q1mNE0PKk?2>E7oLo<6CPZ~HZgnG+ z%fneW+|7Sbo6q6Jh9+j5^qb{t`>{0wYC1L&uQBe+F}>At9n$eaxv-KFGT?kA1;dZa zjy`o7Wiy2EgO!WwOWbo`Fq3xKhAJsEXeyzHI-}$}8~0H3&?J7tO7n7b(8}QW3)Sl34(l7Z)+{y%e_5Yx3|94w5Q9pk!MyP z7X$NJw?ifvU-OUMuQ%HNJ#gkQ6qdZ7;f-GziAlt)(U!*H1q+03g|GTibw7~eA>5z( zRd&3QFI?AspEc!KY;SENhuv~fm;y}%&F+c}E9GCl_5~NImYQ}knN4Q&K2&xNByJB3 ze~4SklPqoLuu592+=q4xhDE$XbN&ca95IV8B(H-j@5552lWCO9a>$ZJy`%#EWORZm{`r1(_ToP#5+BHJ#d>LD!jD=pTV1{QN$6)=9cTdCO!I?2~$ z*?6i*ht%-jrOR~Rk2)Dr4jUDFX_npGuxRdo-x*SLY0~fP!AFnjaYNKPt!gv>O#9rM zwjT1=h;KaTMV?=Iz}bB`F@S?mFLK;sVnQw<@PSf*UB-uX)gMos{;wtCVj(#6%EmQs z&WaOXX+Zp(&y(TX!M22qOqo{UfBzQ(GrPChdo=5huZR0mtlvX-5YjxA z#hi13*}sJ9=6quqkth-o{rY02i_{7*sS+auhZk)RF>|yC=$xH4oIIvOb?!ur*1ngDjha@#tRHBn+#D;kpV&_|lK+wP57whx#dF)Y zVI^2R9*ubzB2G-MKgtDiqM@l;s5{iNCyOgtoV`Fd9+EOKvoip;o(y}1(eluVtRhX?Sxw3ThSW@h z(!?_tP5ga0zExgQvusU#f@HN!RxHa(iVFU1C^ypRck8*-E?88CK zIvR}FUV2gvC5)#s z{2Y*>(P~2cdta%eSdq2=l2u^0dDKtV;pFY{F5A}r&XR<2L9U%0o*Y;H1c(Uy5FGU)!yM_nMSG)v$jWCgB!od?$~2K;A=rw!d(|Mz`Vg)qmpw)ef_X zxEy&-JxWQ+3a2l#GQOokDHZatPh@b0qq8?e`M}s*+C!T<96J$^%O={k}bJ~|%#p16LQ1a$RC-lrm-bxlppBK1zb zg2@z0Gf|9R{QmVm1tgPz{Z9oJnN3Y&F<*x=93u|y{_4VTXlU%_x8Tgvi%gL6-D%@* zd6DyZRz=;gS*IZBFi!B-*K}noMqAX8e6=r#QQwQg+nX!3qrrRNBqr^Rk4j#XYCIAj z;NdyXTn2GtR9>!1D`BXEMZr4>u5QlVB(RST6<``|7T|$xJkqvOT^bJ(+V^g=$a>MG zCeSJwKkqiBq*%qOBX*^{CdmMCkPF`o6SgFBObzBb9`6$Y|G7($mN}E2KFmsgwo?_cnM1*k0LQ?FYPe8^i~%OW6Ws4*x?j_{Gk7yx*H~!s0}xRw(yp7w^QVObj)A% zI)z19D8h>0(@X2J75w!=;2yt7t6WPU`tpTP{JtTNlt%A`+DorWU_@Kd>5~bZ!c;G{ zpeU6Rs)22D(Ls|hrX`2efLM->2P%+@RHUNCE^ieMPd@?TPpi}xi#rLi+H8$I8- zwlC6}>OO$N)(8uMbx{a}l;qR&pI%4Z$?p0{mJ&6bCEf5TE$9dC%)PPhZ`05O-0MA`!( z_rWVguNlA>Sf)FizkL8?OahaUgz=x9e?vnF?DbJChbpyxSsx@8D(<%izt7s&b;`GO zy6sA7lH>!zYZ9|}$8S;nb~jdZ`X{t@e77&EC2CNvys!jpu=)|tpQ;%dm7pzwVQph> zL67>NUY^Tpwh6`nvjCLk&}^eP<3 zgCW-Js-ne7Unt}A=UT5K*_-Firvj5V1SG6A1K+&cw{7Ht#aPX|t|K*(&`Dz8GY7x^ zY$QC)x(gFHpM4OF(ID`8K*B$m&SeM+s3GaVX!xL&9v_qq-g<4a7j}3+*?@wCMA<3s zmH_s;JlC6b=NO%FC@|rswd@=b!eHD#q3q&$WpQb>9TQ6|k--SW4?LfE!lKV3gn)G5 z`(g2)EmyhR%OluzwZF2}^|{Y~`~(JJjRl49KQ6DVZ2<5L6cHTF|2kWn*3@VM*Jdj( zOc|OF@%z(l$ek%VFEF7w$^HQu_2gOxMIMBV_5C~9AY->ghwYUMa9$;CPikf*r^2d zTQW>Mex@1}37^Q!YGO+)Gb?*<>NZ3Jd+s2oo2~J=nWv3jkha8Y;%&SY7-9;Xp4u%zH zQ({i%NKEmm9mZ;k$_S9T=Bxs?7-5IZW)O9}wi_SLEW8V0O`~HEmiG0#VCXw88tGPdcD}97HpAS7 z91B^ipX?(5&>WM|R3HO2*>kqF0%)bg8~BFJLtoq(RKJzeUKkXKO9g^UlMN{iPJ z<}h8jY*;TgvaH5ptuU3klS&l_61~^9$nwk;5lQL&W=opo737RK2g&KXJ}N3kz3<-g z3-lF?*?5U zKUU`pSk)>uVJ!1hO}$Y=L;B48R!z8>{1Upw@Y{3U9;b2TeM99wqBRPF7Xbgi2?4*lFM z9nHb}YV&J-NK0kNYvXukn8Z{LU%r}w4=ZcPh^bI2!?Mp)1p(}iEc;?}4O$3!B4yfA z;qgFvf#^;v6+==1`=8JOT9BX2rXl7|he|7;O_CJmC0o`4dd+65u7|)+_`HyU(V3a5_n45k(Wc&`#eoa~Vjmj4UKR|< zSF^F9MRQ)S+9gee?NaY}{zsMVbk47azfK$y&u1bgVj*kirxQ){nY`ik4wqv5pLSGg}c_e7TGD0Fk>Ma zI39@2YPoqDZL_^%(*b})P)!+RX(+^{2q{H?YE_e=%Xk-D{kwnD44%NCKSoZC0 zaU0QkCPsU;?*h8ek+r|l&UTtIUk3R+I=?~AFqt>xeH4TKM)AiZwCxiF_Dw}&0^~5q z^m-mvh6WP^9Cc!kY`s+OyrUhc1~dN!jnhNLW=m8LS=rS_u2I#~c+#B{Iu5d&n?o)} zm`-GUtdlr1R&!9hITch(H6+Tnahjx^5e^H4+ctk(Ib*J*v9lI?- zy-d87rf>jh1;qs_nu%y{Ae`O%E5b&H^_oJBO0keG4_zV553O~8*!70GAlkGFZ{qxS z+b5k!AJlDdQ~!E3T6r-dO;5zbgG(lr&^H;1p8ajud+)c~?XLR8;t} zWtZJKb?6$3LzDLIM*d!gM9^`-t1lu7^c!8=>td@qeVJCZkg2iK<^|>@y-5eF#czd% zWOiq|Kv*wW3_6_~No2QS`<7kI=^8oL8*614$C1JB$-ZYNU0tnaC-6=$7<%K>=3}Fb zABh+)=tG0gdHnztptl({wX9M!voJ3&%WhjNiDy@wGS#)1133 z#7ly@7X=%M$$Ro*dv1icFQc#7c;3gM(>M~TGKDE}s{wvo5|<;kR)fW@vy%ybUDhC} zVc`Rt(O=#C9peAl%F;-vDVEV|lj$D)snd?4=n^@S7BR|qLGpo8ei;}CBq`%k%p#KZ#6)b!Xwv;T)&VZRJ1RJ+ z;zI--{1v4`G2Kkl+^5WG0MPlANQ;gbHk!1i& zi)_s_wB0O+TiSg5*0TpzXgKO15eyew_y>fc+1f`Nk-tJ4nW}Bt_6<_vr=t5vR(5iC zzEq-E_|e>SPQR?VySBE@dKFTb*f#K54+Yl&j-bEF2L@4)!di>t<=}`a)8gjtb|l{b zw@o`#?Qj^?T#4ZueJ9}v_G2X7YUuFr!E!P4-Psa}i4sNa&a-5!?IT=gYF~lZ+ckZs$Y6wzg;(6%RH3|0GAmY*K@m8M`D(!vnlpQ;FQk^5_+gVR zrAczSnGgt@Fres&l?V)i0sJFawvE6TNhs+c>1S04K_@)#zey6zfuTc(zuQZXfJgmx1P}y)GCO zHKX(D>#Jn{qm*PBF`0BWxW>lT+^W`UNUdn6ktd05ZP4G<_nY>AX9gd#|0`XYQ&C{9 zczB<5Zy*slm)H}#1bL2eZ3(86J_@HFllHjwm2XHyY}#D&ZyH>_*g%r~89O#kJd7Xk z$$~=6iclqXNZ;9VlIHv$G^nNefx+%lg0xR$XlpkwM)a1i$g@HHoH9}Gl%We7iHMn9ij^(nwq4Y zE>~A>@yAlR zV-IFa6JbY|C?AwM`Ao-BR1qo57<=&d|9MhAh*DBKC{_}NQ%*5@KEcXla3Hlhoy1}N ztZ_m$5gqC3gw8z}m5QSw1N-e42s_Zm`IFIYM`F5AbX3tV4^q7CksJaZJIVN!g|4op znJlJ(oQP-DceSqgnNyj})3P(-M9msF95GS#mizO)%vpK4B@Ud{1$ZWS!8j1Ib?U zaH#dcrQ>+G7c0(eb72)fENhMmu5F+8Aty^|6e=Qnm4QWH1$G@95 z8-eJZ#~v-zJUc)e)N{Lhukt$8N*XuS=%Lku$dn%4$bC!w1{O}9`;zKQR^1;mJh=%K z6Gi&FOVID)Zpis+RjxCLU;qKIt$>ktAjym;_@KnNUzxse>T2PYL#RsSte-kgm1$9O zo^jmV3ZhnKe50_R?}Ntu^s_iQK1jwSum2aI0=XOp%{?4Hh>8T_m~{1Jm|(mYxg6$i zx@^9`$(ypG2lfWR8+PSJ8VtvfFCo4zw9V*%LBe;LZFf+N(Y;Wda2gIi&i_3blHS?G{!O<2RIQQ0M3Z-6R{_i>cz(dI z8vvCV6cUjj_hjR}7FhHJrKPd#2+G&Rzvy=tp>GLAhCv{Xt=kJs^Jn_2P#g-bW*XJG z0DSx3`xh1Zf>FpIIt2g?cl|>b?%HE#jlQ3sTBVWLhCytu5?3(vXv#E(s$&_?fo39q zxq5d)@&(xAvz>8=%d`qhd1JznH+yLp$a+l!@#@^4`*a6W*aVlFAuj1{VqqBgLa!Qu6=#zezS%_w7kNm-SM>Q@K8`t zN_-apXN1G+B+4mGPWC9_-}^t!m&7iVV9VD*uVatg`>hR3>Zgrk}nG6Zm{-6RU=YB{x!&-+WwzJ;imf^7d0=kFqgkVk@daHVA^ZCOierhPB3f%_ z@%^QQ3?v$qLh7WPo$1m?YjkUCnXlJ=t}mH5FRdlh3Qer9+c}&4X*y454}4zznKAg5 zU89Wqt(dxg)lftv54W!baGU{*reJv-Hvin%Sxe`cx*u!M#{lHDw3KOO(VT_Y{jQ9| zX^XV2EhDjsDRgqPRxI2WkYqJmsJ-7lJ#1Hw52Y

n>Nj-&;FatP5JFGMPxlQTW`Z zvUT_NuFaR+ikxhWW*TC0XQ$rK6ECmSUI6*ei}0qPS9%PT}pCZAucgD=LnB)nQLSd;?_}>Qe5biRrRGpMOC#WP$lm> z8TB{CxSy5g9l8i4AUgSG1OQ1IyNh?| zB5B^@eva?-{!9<-nNa9L`0`IMAR#@=FhUYjnaLfB!fL>oNLCHP65Fwu>3jPXLvMp@ zjGkJIx18Hoor@k`66mx8@9;XR_P0A}bMisk9!r0nxMM3|X8&Rjk6~VCI}1TE3NpH} zdEbhaG+t)qA6~8}O~&o0_CF>uI$wW(2oTviZXw$&`bZqU_t_5*-7?%xLmV@Px;*;E zRx<1XNnM8Mqfq6vK&k3zSqNBS=0+c!{;DT7tZ*D-g9kbkl4&Vn_7}ns2I58>Wh3g0 z+{f$n?*xowE#|m^5XLN2$O0eQ<)}$a)o7tesY>-FRqCJ&ksv+?i4!rM4uG{w7dCDTC{%>6+p>D4?-MJ7lyFUZ7Y8XFw8 zxb1DdBRW$i3WLjQ|JhnjuF2^ZdT$~*y!y|d!1xu z#C3#(iS2XFmeJL@f3`i^lCRKVi+=eMrY0q#Jc}W_ZWUoDc zFX>_DJY(ds5~7jN3s&l^A47(Ycgxkp(K=*y+u7=Dys+*)+9~;RadU$>nQ8v;3`xkq zAYp15g%OgP+PaDoKLZ;YHqh$IY%DU0aA|Fg@aWuTT*WhK&j>naXq{Y7#7h0_Nf%G0 zDm1EAetLM9s_^;l*kkzL2L}AV2L@pdj+h@2LmP(f{m~52FYC*+D;AEw6~j^KD;B%p z-~7-)52$S&?v$u$+|IbgNmmgN2BZh~Q2Ffd#F);km%{X}5B&KS~K_Hx4Z-+BT&Aa`?fmrhh-b4|^Zf)4P1?NvfJHdMo6NL%cd{1LBO202 zCyqr)t^N}7ecdbcc)_Nte@=8*q}o)11H{H&qVoB)v@`SsA6`nc%mty*-*hjScUE=M zQb=nnAx-96gby_RQz4j=hwY4|-A)TV`Z))^v{Szfmx89H-7u_ttz^hKld!VKSA|m6 z>T_ju^KU9FX}C8JH@!j!O0A!H(lZm=rD$+e>7DEc>0x>I-@$+^B0uv;mS&3s*0Q%D z^YeBxh>KY6n(QAxkqv>x*{8pYAJZ9z1J zf>I-%)$BOI3al1% zMKV6sytrRq$o5|En5p&ci&U_SJpNPrm0UI>F7H7w4CgrfhjxPm;N490Up3A2rmOuR znMN2H72jD=)%@^p_ZI+#OCe0gp<${v^)ocX)$(31dUBrj>v_oQ z?6qvTzu5ldyBgC6Ef7IX z^;N6D>YXzAe*E*>7pTaXSXv6^SgAzThZ|*gIiHUPm;ZzT{%AG*>i}=VqCr%|mXa*{ zb~sa>O2c~zkP$|(9_Z*QY@MctndH}PxPtKt&$C2#bBeTxzw)Ht+AH*!-|kjL@C?mh zgpgnHnDii;os+ebBJ&03T>wh%#Xgo}Z} z22yYq34)QJvVcfy8Oz8@j7)=P!lrk!?xudli9Q7-?ToD^X%;%j)O9Y#XwB&N;ZDl? z--%~q{1{4Mg|Xio3a;55$pLVsMS8h`EIppXQB9j*WTSpk0;hpYmaKFtIHXj~;ZuZK zJ<082#&Nh8xhW@5#j2&`T#kofk3aW%dS_AgC(^pdu$UR=-K|=1Ro2`bFW(?{?Y0&f zH8U*VJ3J3oDl5z9-o6@<=-md%mY6U-yBqwVMJ;!maZO)bPDSOD0U_%`_BX2|_YRCoAsp+GX&LeNr-MzRL zAV0g9vc@fhoFhjA*7?92qv~z~;)MTB7J8b0yOPvi0i=Er4=c;=g7MT`fo@-=&zyDu z!=WfHP>gz1Ubpid7G>cfTL4~Og*q8B{?B-@(9-J0Sy}8G79%qcTJ6QdZqC8iM@N4# zk?r|jgS3v_AQE-_t&w&!C4*@#Q3Ul;PRbvCBLPtdn|pgy;Z@XXWgtKn$^~5COkjeQ zv%>jmpAnKNvs6DL_Ky;OH(!~a7JHmE4@+|PlAlnau`b}Z$Q6zBR z^XaztfHC*S*{=~TR*O~4&T?HaK+vP-a!%NSywr@Hta6^j*W|i5OXqI#I^~i|r2JtV zN=ePDTOxyHwRi)`W~~uvx7}v<_9EKU(gfU+lP((migC7aGXB+EuO3rNmG%?DB`iW? z2-Ku=u~e0Jd_Czmo!p!K^Y*EU&rZbErJ9Y>!2vr4w*z(*@Uc)lSi{+{pI{o_s0`t}B?OfKI8j8jO+$TYl| zMWm>3_&hGyVY}Y?T{h2^go%mN(0dmG-BxEq$xGm86A`xamU&r7KWYeP%!SNFP(8qU zZLcL6fEY{Ps~HiHSP@G}r_OIM3JDO$2?v3~qOkDK+wbxJV&wl%jrTg8d{WUWteqaI$1td3eypVlUC4#DwzCFTAoa$`92 ziv)UviE%=W!I5KiKa$?8fG%HrZ_5|wXe3$mOrrHjqig)*CF#zKlta%EBdSdr$Kry& zD|Se0_Gp)*~4$=9y!-VY(p$rr@Pk%$D8Ta`3T>#evR8tR~U;Pan2Do0KO+pu`KURAq zF*DJ)Zz`Kl6DW>PGS~ zO75Uru50Kdqtl7G)!Wb7v7|gRP7|F!Zm7SeJMl$snI5MOx3^rrCI*dFWkJD$v?r(v z$g0T-em(dGin_V>|ETC!i>1A6BpOxLLe1wt)7whemTLOAT)3J}RdILO)_K4^m;rNd zQcQn^1A{SHi@;w7T6MizJZkBDu>bq%V+P7j{rx`n#G4nVDo%7`9n?3H~Z!L)AMzW32+atehLmA;s!k=6x8=sX+E-s$l0+( zu3m=VDT-$H#1ON|i)`V(TJf*a`q2-J4i6Wop#;M@N@Puj`67!|d2Wp=TvzvwI8}Fz z>xyNI+*eDMVQf8$Je`NlFO!Gb52oGLG>cwH*@5PlG7BSD@lf~QgBdX+c{4aV`#7=& zrD3Z{|5&TG#mCQWb5>I41d=sOB6B;H-Ur>bH~GT+2z}|pe*!p#kF8toAfI}Z9bIzBFrygzcKF?sWetkaI<#4HW+Bm-eQrcr&wX1*!A0&I`wQ_p&O$$5q1>0FKg&CoNBN)`I(=6>1*k0{n& zD%=GvpEX7{lh8+y$h1ll90rO|Y{d!t?93XI)d`lX!IJ)+{5;Cec)(zGk3Zi$L90Tq zgZNdeh!i{CdN_f$v|Lpv+a(Y9Gy4Ki|B!lCslBv($_+#a(yL5#?ivC~gyHgHdp_Ms zE{O5C-^nDP#d)c2C5vY$-9>9ah>SdzNuvBNQ$_jd_3*J4$PO}hn$4Jv&PgH&$012O zXY`)^be?Vyv-7yp)8jZ+1%a6QsUyvUl^3K;6#J3vw(1!5PD@3We@I>giQe`|gBlyC zx<^Ntsn|%!eAuC0B~7^BIo!}XJ{s2iHdRqU4MC+0ljr|oUYa_jeN3$Xm-+$Q`(II@ zBlVs7(q)0|2Koh z9AL9{aAl%CmdXoheTLs;`^IA`Q>dh|tu&{x49pnM*|Uf7KBYOLn*c)GlJ!asYC}5B zFzIt#mbiwIO&XUYwDDkA^zPjOpE(02gZ-Gf$Lw>egH7MktQjI{M!Jgch$IijVTWld zNAFug9Y5b{|EufH0i*e!9PoiioFL%(*O3Ka%-lRG>ILgWlzBX*Xh?4gxMK~?o#9@} zpKH3=tTJ`(i%YE`MdUOZQ6!_Wxm_*orApHnAB|r?VN@(6Q&BVA0XGr3T{R$W0FI8$ zqS=k7ZNe8|q8zg)>LDS%?8m^1<_wjc{@z-?|Nl`C^1p^{To9>Vqzv`a(1K0i4VE#P zh;eEIHhzF9Idc*--w?1=5i=h*eo^wK3tc2Niod;Am#x7fBo*VO7c{Ddm(e^y7XW#^ zLK>`Rcs6-FBJ1erR$C3r7wOePSj?4tUwBfl(1|yxfJUeJ)%mvU%UmeeGu^G2pz~bh z=IG8QxFyb^{|D%$3Du40#ZrMW-0M?MA8+89=BA+`CL@<|AA-?!ruWD*4ewVNR4V@* zCn&;dd5xkOA{f#@=g`Ei5?0IV-OA35Q(g!l&YuvAhI_+x(BJ+JG&oHzg9!1`J7T3J z=Ns+5$@wAKUx@6$gZ2+If=!Gy)~f)W(IKr$znjtCjju4vf6F_9PIa7(f!ix#JCoNa@h40$B4 zi%V0ldyk8zSRf$+(m6n?+6g`_Q5j977k`!K6AUeotu`4|dttCl7{g~06DKjN&;c-2 z)qqQPdo;x`Nkl^B`(m>(Bs>8ZX@4Ye7h|2p3VQqV%|sN$OZB1r$yzPs#8xsU7FMtp zfj2A$hM9Xt*`#;LOs8%pn-!?t{oeTL=6g+=p@Biv*xOI1DM|gx_WiS*_bpz`=B+Ps z4-bN+iqesY5ap3Rw;1%idtm^s9cMerj~m zue`QXggZmYvue%?344qkI{y?VqW{Cj-*Ehc55P?}yb3_Xm9FlYAsm!j&~e??RLX)R zH>3hd<=%sM--Dmoiy2Bd)=lc>7Y@EQTXJjpc`a!Bi4~@mby}9MkPs0KVLNAkk#sKO z_tV?%kXHLJJ$yxP!C7##+S&i9meM3+Ypz69biYEE@ji%PWAiZhSiK@=P<`!kdn;fl zgH}7|7|2r~3q!&M>J|E}EAv;ss56oDcXuNR`g}ZKH~4V1Gj2S2c7H)O&LBff%60X+ zU%+p`l>DtgyF#a#!S*5xcIgpF@NM!s)v=%#mc`O&*8W9_4p-!=^^b9eT}#wfenRIB zT8;9R44t5(!z4WGmQ7_H1U4nWMLbl8s#{xIQ~`)?=qH@+kU?~R#EU;^DmHq2RPp%A zUDM1>g|KWs9kj$z1#+HAx4CE-9Ehw zn)lx^Wgmo0Mo{Gw9%?O=mF>K`x_mgCZYbn%xgpq{opFIHXvR}n`a#jT3We5qlns4k zKq6x(_A7#ir>6}w3KZe-&E7&L7r{CX!w_ya< zXF2n?;2$2>8P7rWN*&RKiS)~zOO#|ZEL2S3{CLhapWfNW0d~|~R+4px4TRfdRIVI? zA_Z|}8dVBJG&*&d`W~0y1Fr7I_Ze$jUge3Ns3iVrm#$&TeDYDfqi6)E!+{~^J0h1n z$x;2iNbp+q9_C5?_T;t5N)kawt}}r=q^c*qWCIAK^NTw9QVLAe)sdI|VMtf>oF3yC z%HI6s0q*H?Bz)>%fRx~KZaVf$E4SM5p)fnH{2w?=H^tjP*_tZ0Hb%P?}N zUBp>)yhNLsLRu$cC2rD-HqxkWy2GOPAtQMipYO#G1;;^MjYrNBYPe=?hd2<%IOROC z`N8}3->ISXAITmtV6?8HPY-foPGN^2DnZZ>f`xgom_zJYAc<$kH5knVfp-3o*4iNp zY$bH%bd#l&r(r{*(fP-hs^?C!uWwv*3)jrI&kKgu7RqlwOdBg${#LqSzz&yccQrFh z#uC~!EW$%I%+A*6w8oPP!%C0Qjdib%1f4&Um|+f#r2EtJ++O>2BSN+N`Q6Ztq_W$z zoL#IwULP!1qu{T0()UMZWf2}eGn&1%x%k@H=gnM^nAU3(FM~9Qjaoo8luKWNg?=p8 z3%^3ZRaq@5(dgBE0puS)vDHFJ*y)h_dZyAI->3_Tv<@Vn*aiIIFocng{}J`oQB}R) z(;`ZDcgLlqOS-$er9qJHlt3F7p1t?X>=^*^ zT|YSrrag%q%pCgI+_n@=SzCLzjLyl-+0~FlCV~_5k|Bn zv{5``(6g?UTzij}8%{yx75$w6ncx#MpJtt<`NaAQ-3EJy^xw-i1omx|0c5tTLA}A) zBqm{Z{JljaU-^-RmZr@KT<`h?_%5K>MV!Wc6;lHtWm~2M}RGC!58EQ7GuKPR%0aKVpfc2 zlxMs0q`#li*&}(NHCv zFeWKMl8EHSYq&YWHtMkjiKpxdR$6YjHxJ!aujgaVUK?c6=$6o^zrE{I(Eny&g2B7T zDps>Q@~mJxdEppm5j3P2DSueBp0oVI2Apg-VLmilm0nv=2dVM_b$TmjkA&*G9Jfo& z3=9Y%w2jD`fS`Z^^P&oaR=*%P(MN>iYCtG=w9pR8J6|ECPu_pnGdl(kBugdK=Haq^ z^|vmP?K?=ISwA^J5Tm4&#^D3wwBPPF&0=kEZe;m+Yv?;KzCdhyoEmIM;uOLGRd9vd z!(fdNA0cjnZpn9`yiBui(gG8L&=S-vK)N|B96sN;bf zhkx)FUc1oYJIW77E{7oa6gikR23`PTB-$*fp+MV6$<(}OtO{l9q+aF)`Wyj+;6^9A zeAUy|Ill2kr`N=Bkd5-lgp-$_HPQ=>%3#?m?vD8F$Mxf1cPj>IZuNhm3yr8azDMG%cFjii8%~g1k8U?a$HF!i^k!)9ctF!IdPcY6eW^5@8 z4rgDs24ld{X}ppbDT>Q?P020fQ`k{9+4zyAKAlr_GgQ*0h$z?Vw$2L2H}F~*K-KbU zooHmqVP+?5Dh29eB5$KwG00_dZ@g^yoSiY)(uZ~f+>Ly}SM;T(bw8iyM_`wCWwzMI zw_&uT-s_!%3}Ig7b@3onHvKh*rj~{mlnOp8wJliklmd)2w6A0g?=76Py9;~f^^qo! zE?%?01%;WSCn#uFeIagfI5at3k4EB6pr?OBF7#3SKK_jo(>KV5i+N|Uw0`39O+wXS zx|mgdpp-c`)=>%C$Cu$DfIdoD2lj?soNaan)N4 zP-9G&a>h3cXA-k$HeiJ6pRw|)VC~fVF!8vB+;zLPQv`&u+6f^`Xlhs+73RMjr*`s# zq0uVK!{93q@2`5l#H5(4z<8np&;V|oi z!Q~XL3wtG|W>R0Ihl*R6TFSH|xv&$Km<8 z)3@Fa_)Guu{lABQG)<(Y1CttkBi^kVp+SQ-IMR#NP^j5%yZ5NseyYOJ;=_jz;!&}W z&ZjxfmAdNHUlT@gB*gGU9MGmdNV+By{?w3!yZo_FYk;G;r-6Likhs*TW&ZPdbFtp` zXb`!{-DT}pNF0aTU9fgo4J(L-j01!P=F?ERh0p7NwcO$$@a4;wvb(7!3DnUPcFghd z5_CT05Iory!P_Pgk{5qPk|QbPar5P3zdX_!MWeA$l!6Udv3O_{6g)UWLc(+&cL*^A z!hYc5u-)v3*YK6jQ;fWN6cQ z(tPbGJFb7%$jOQ+&4^FQdm^0^6_?FYGUQGGF{*;(=6_$)?mtKc?$RX2k`DL~EI1K( zAC%>XR!2>0%a0$zIARncDz0sT%nc?D7$S-|2{&KMg(pfNX(}PcQw2X%;DOR(kzrJ- z=wrNe8Qd-q{VJK5CP@ytOErkpF2COWyUmeivEf_X(Suf_WnWT8>tL4~PIysx%!F2b zcY3q^+SXQbVS|S59ZgRF(uIsUS#C!#Dg9wjVR#e@xzu{;$#S*TGXx&59h${lg-9cy zawqcky1$oiE?YxF?jmMV@*iepvz~h2dV3@Qq&DVEE$U?ZG7(EW-DS}K-GA1%?E06g z_l7>dLGDh%bGX%l_k;jkzD|-FmL1c*E?)zhPH;M2Tt8WMPiFP}ytK3=+_bq{AQi(U zM{srWEF*fY=7gLke1&$-oW%=wshGX!gv#tjIW;wv%xaIZGoDE|!nE(`2KW?^qskT} zVnemQ0%QsSKtYfWz#al?UGP#~56~8Bm5GO392|oJ4|CuCeCaRKn3S>(t;>}k4CMGh0a_2{dPD(#yru0 z46U;$!6W5w{){2wKimd*_B4bkZYhkt&8Wc1R9~wSyJ~pOL`gl#Dm-Wm@Z-BiF!rB4 zZST(XT`ukzRX@F=6A+x(HC+Fah>NCC`@~|sLYwz6D$$DqG8jZ`c!<_dRu)2szzN2p z%T*UW*<0@s!{RjpHCQdb$Hc_cFql9xkH!Iq?r^Yny*Wx@;n!n$6^nQ8#0$lsgHdyK z=5~KTOQP57e}lZR(4a6)O_Td%;%ZPnI~)a@&lC+E7r_1y)~#x*oA8sQu&RPc8IBX1 zE+V<;7>#@5U0H!QBt~>_u)r^v&ZFet_xz7geEXhcX<&lygJmnDl-|>*-0=^6xYrf- z1~CU`%pAU>kV^>A--Ia>GDt0576^JDc4elrT8Vb4!42RW5pHl6m>iG5d<^l3O{xYZkzGyo? zxEC3cx)F@{=r2Q+uR%+Zp=R*L-^((C7fDu7W5oP<>mm6AyX|+zgwj;YZSFTjnwnaM z!3I~_-Sn>)>p`kV_zN#Qt+!vs4rT$z2acyqUXl2&AJ4&lQwNS`!|B+7Id)PSRubz-cKBmr$JP|c_U{_7Hw*G0-XF|OO4;t*0NAtnoiRI`nW-)TlLih>t{y>M3e~vHwV(V)i`C#L_&k(1J>Woo?KQdZ6VRoYfY*mHja)$ zKE5B%B$ivuW(!#XWg@1vr`~E27ONc@+qd6DBFZhM@}kM2r9B{PYmZBr%HN~#^_l^N zW2w1beh(ZDdq}{#Mp)SH1Staus?aR1N$wz;PKzxbkl)txzNkNW$gR*Q2}qllXb;il zOKvsJ`$Hj{mRJ8;^3E*XEiN@1RCvfYel$)Re(!|2IJYq2s32ANq1P}|-fUg$Ae^h+;wddtD2I+PEz ziS$il%aUrp&0 zM71Z1%JoKOjA&GpJP6x}3`hHWEO`w@;twwI+*?QzYOO5X1?De$lp+p|yr=)V1x5IOn!2}_);~B{^2A+x`Qcir zc9{WG`%P(t1DPdto|l|vwparkU_awh2ueJD60TDC@ z7iZ6x;NJE}#HzgubgWvRMf z->s8aX&9DXvkt=%Bl}B|%^@pLL~Oz-=Y~n5d1dvRqWpa$!!PK<|EZ#Z0t_;{I^l>H zD7-R4L=#%7<5#ME6{MDqF7o7pU!6!M4nXuZ@!h3~ChP>5sQ_3?&Ssn_0-kPQQmcNs zT{Z59@@y+H}3s2+-0hwTJL-0k4G9VW2yDYOtvHhVHWYj zTG)9J0Mc`J))RVHW{w(9uScL!V-oY;XSLRp!~TKg zOguDd7Id?FKIXoDe=#515T|k$2}iEx9&h*MW{Dkpht2$z49Fe8;{)$q#&^GIkHIEt z$VSX3LnHS0$QxAarTh5Y+V2**yfG5-Hn${S`TpP6rv*K3BIb9#tKq?KKxVdQ?|Tn5 z2G!VG4O7@9JG_;Ry*30*#A(0N+jf81%M`%qd7x~bEiE`0zCVMEh4md8m2#0;TvCI^ zi{#;QzmFkAa66Nt8zGAjg`6@x>pT46+>oMDg_RYPA*tBS5!Ppe51RE>@DUV1NOQ$f zvpk?_^_V(`wOnq2Ck;dp`NE$~YfE_wO`X8OQRZuFqfNv~`QGMz5FGhJxVlabv&x zhb;jh0s*XugO7oD8Uc3z(}Yg+}!!0Hp%~ic^JV`^fwSc7cF<)2qr$ z77MLxBp5g(k^Rmn7LOg7^wgA%vwcsjNEiTVBCbx{gIQIu@uWTqP@Q%c?!jH+DH37y zj88jxKi7X;G3;LhAWj>5`y>rQVq#*zZUKx!I`un{@b_m)G`@?dmTV*RL;Sr$wIcZw zgYzdKm_2RIkVM9JR4f+7-t5Z@M7)42N*W@`zM?eaA4wGIg#y~_(9St;!q1Y!2kOS~ zf)TsMJtSTIJAbF9wh#Y+0zfZ$=|W@>9Xz{V*Iq($l0VZRS?CZ@uGK(9MD)(e%F4#U zCZ1xT(Rw+4+m2eTl)@AID95lUaxk4dj75sV&q&kyk}&OTbQKX6lTH*UK$hPOKA<5R zp=24r`IX5J_jnpu2zYyYOJ}lZz@*^R<5-=XK*7QXsO^lN5%3XYe0C0H{VW$cImr-y zdD9=d-T70XGQKT0)+zp3pnsdwZbuUF+%K7a0}@bPZTTzq50jA~4S#?3w7@$4jRC(V zM&8KZ@pQkIJxj#FAs*UBT~9st^i0=l**@@(aBXAxwe<1doM=rJUp)oR2C;hd{h)k8 zdcdi`#sA``4|vTE-`K^cXI<>4nhQ1MAKKX878?h;`@)PgXxzmQ~3&pPc@b)v>GDaBH}hs zKa@)Y9n;uyrRG1e^+n;bdrTf&PMnWS7ueX@1*%&1e7Szj7Jk2Ya^n5!6E!h*)nt8x zZi^qPhYV;{Fc{@}B|#d5TYUO;_U;a^*K$@qm7OP%Jz`P%z)B2AF~5of5B3*MJ(`nc z_QuTLOlT~M;6db?iZBU;*dP1M*m-QFhq~pmc>CVQ^C22)ooj&r7|_i) z*Y7HG(w)%^a5=78z70TghF+#w3lRW=9-BgRa&ppSbHcsY@HGOJQf{#p8V9NT=i8Ug z4KldWVQdZ%6cl2#Dq{!Od&DeU-ZPt9eqrGcEI9C@k=PNeozHFdn9@NUsobjy%Nk z-Yz-vY8VKy;MWXIxhNqZ_7H(#9Sg)zsNx6Pmin<+fjupuSYrfTcK_@gUwKCC+smuH ztbM-r;^|;EgYo+G992F$#NZF-(X35-$;O1m#>DrQpN%1traykPFnLfn$+g#4j~9G9 zk~DCN%a(23*#Y#PogTbp>Ix>2{y{;cB;4>r&tTLB9j zdLY*+T%&ffPGe?E^;NugUS4t&Sh;v#UN}_+7bZ%h!}hf_ZDhqusRaQP6+UYB&UcSa#@8AGh6!t2II4EN40!8 zMm}h=1K%D(I3|in|6Z%oi~pg=SUa6k`K%s#8@x(&^rm8z8cacUJfjq-@87?lsb@@S zZ>w?{LV+XTKtxA~c?Mce_4`sH$QBILeKecK180MF*|Y2Eg5Ql;PDlFk~-!>Am;q1Flx%(?@o8cK?9D z9L?*4JKL_PK>#BPWIZ_F9BA6#Bo&dWT?hxtP>};_qn-gF0_K#SusTj7Geg0x!ruoJ ziz3Av)(-Pum(8$0C;;j|bW&>6pWdTUrWi%)fjPg)9j zsL&SZT9E+uCLk{l6;PZ^?$!3YG~TshFBSvj0j3b}S!`q~Dj)Doq_jiZ#A8f_gTBeK*+GcafN#&}C#xPZvcZZCL@YE5Bqo3GXN98 z?^^{l+)}UfKfkgLd!K=Yi;_Bg#(({DLwHQKO%Ie}?2-(@Iv zZ@S(>lKnais>fn_LOIkTA~=MkU)``Rc$=gmxaw^CzYoo5_CLTg8E#DrIYRh1kFk6A zmIM?WOn3kF;rjZz&si12)!hM&bP5|hki8)>-@iScp(J}wc^Y$e_BJy}*zb~^`ESJ8 zyu$A}*VmV`lyYZ5;m4zJ&1YlL@a-ruE36<_tM`h9w5ef)G6;&Uw~HL*DuHAPgTgrI zH+-QsaUDj>vt3kNerry?E->#u>sKeQZykM5W1ojJN4h@`$7Y3jeR*aFltlXBk%`*} z{c_1ra&l4emek_CgdUpA{~q7}p(YI2UK={Z#;xP?jhZ*^o#H*iT2Nm%P30rV7 z*#=uyZgupXK&~h+?uf!-&*|J{c1`f8?MfbMFjH1w*zd zs<$_VLz(w56Awn?_v@QD;SI{+oue0{=JrB*Xa)gIyz4YYBgH zS5qui!Q%Xye}$90cTC5_rLC=9W%J_k0RqBc@yguB$w^kJM>dNWK0`IkED!nq0yCPt z(UL#6TaKhAEcprNni0Nb=AG9HT3MV(uQf?(=zD#ItzXyoEC7n#oyh2^CKbzeo*W5}z{qM8xAkKyTm3G9 zO0fpq^)~2#vJV+)S>PhlSh{}Ot_-G8s?2eLpPR&&{_7<4b>F9hb^munWLrD}8juQ9 zI_HO#o!w=e_FJQu!0I%>czikjp>kJa!Or=}O}^CT3Om!05ebAaY<33#9NLEe6-IDm zq-X#lO}>$mGVfPjH0ua88CPU)65|aqIF>U$HQ~9&Babq~0%a90GEy)3o2mLzHDolj z_*Bnms0(~F`owv#uM;1T)1qO{{Xn|8AArJ*Cu)m-aOGB}+l-R*Nt=I%R^tn!R+YrD{bfji1^a%Asz(L+c3MVHg#|b(n_BsI;Bfn`i_5&Bu@nZibrQBq>6lORf7XXNz!I{hM z*(N{{t@8p0#FNylk0hH{%#{MKv7uEWy&#Zri(-IkUKgd~p`?=CV2y3$Bo~LcK=0HL zbopXkgS!@&^O0~KM3y9SpF~;dTrn~VUie~`hp&v*iy&YZulQ$_b#C*YWJf<){eR7` zzAnT_4wgevGO(z-F|R@sL$AlnDFq0j@lEBjL;)z(h%IOgpZ*aWU`<8F)0@xs)`il! zZSfG?AgPKcvn@lwK)FMNIzlf2R#$PEiqW&Xwmwgq1npD^Fd!e#Nf^n1^cfh7z# z#XmVyJMmDQ%I;+tXow-!Iq~3!b*_KhKB29~$XJ_lAzdOF+I(+8&l+H!z zwVJtS2L=X)wabI>cuOe$RmqBECm8EIH1Zx5IjD?prWaUS@8hi3Fp=rw_u`IE5Sceg zs?f2tA|+x#0vrg$l4LW0Q3cT!U(7#9iqZHfU*hh5ejB9NWb-vm{DnQEM8l)>@A7(} z{zmtIOd#B4O?Ir5pHi&>!2VU)jo|>fF^c0DMWYc~?AEzDX>-4;J;iDc=PHySMZ!A3 z^B7??Gi0eejY9)X3#EZoC_T-{A{4Z&AUpbILW%Fz~7{?dKFF+qMPM|Rg_u3rpN*Wj32p|XQis6Kc*UV|Ct8+X( zgKwQeie#na<`vw+WtgH9B}5RwMM2i{C` zM>3(xYE#tVbV|qVB0rWK(DDRtY0>`eYvJOM&^=xM`-LSZ4Z0xbDb?myR#wu=)d34P zoPJA4=;V+FLoCgPMY15BmiTl90wI2WqDTUsP-{xLz^EuhhtK2^#3o3MI*$lgn>-k9 zo~f~znF2%kzhlOq(KfFLGS{vtVdP)*WeV z_>__OV)?`<1Ox<%Utlo=b`wPN1d^{<-GDebruU5D@|ZvpuyUAANAKi)^>rsW4{m) zVdMOM1i)a5MjkC}!(CRLK`phq%O(EF>6Adr2Gfokf)k?@qxwGi#n~?q{`@(8VQ_0d zC2^BD=ewi;orGa$8%?fX@N3ARx#w{;)Q{RL)OZwGBgq`OCWENTR>O=vRGeb##kP-L z+IM*#Jf9c+KNHT2np8@wH`)prJmxd0lI9rI)nT6VqGiE-rudN|!iz#!c*Y@aL-Yzu z4StOrZ>OXDl}5hzBd8!nP;cX2RD-5|qXX#Na?Xq3tG!Qke-&Rd)))=F_kK04IYL(s z)d|#~-8?;|e~=%7%CQd?j#Vs>$}_Juxog|roo?ciPWK*&BoMp7TTsXqKF=RV9Igu~ zSx_BZod3n%oEKP&S~?GLe8tArJ&GJ^4kD(9w0=_W}MP771QO#-j!r zi~Wy;@dN%6KsIR*`t)>f>D=KK$ExJN#wB^{Kgk|2Y^zA4GqSMKh>Bn{TI@&zadUd1 zgtFt~@}(*aq4Ps&-#a#@f0n8iB{0wCs}qJN zPp;FZWD(KP44mkP`{jqz;Z8+li8){w7V;1+n|~pr4jEk6G8Upv^Gg#nI!)mYQ#LL6 z)3}xm9@YjcxnC2$Ol*SXkE#VTrc$3SN6xgL#0TM#YqO1Lu*xgVfg5yWK!C7_j!WcM z$RmX@NA#3y42ek9&h6@!&ni%|;f3|E;bNFtivfCgZ>a#**VixqT`akj>efgWA#gp$ zd!v#?dMwnZT@4c18l6uU6l>Iq8XOZBoz>5IQPiH~x2YBLi4)~Zmr%$vsflyj)^^BU z7Xop7`p1S3X}$3xL+M;jwN7K2E>YNiKfk{Nbgtb-Y!Xw|lCwXO87&G&1Bn~L?9GSs zhnhV0V_769l^j|!4PHDYI+b`~6Vk%M!~KhjC_DCkK|ep-V(u1OXr_t}6BtMHY-)l2 zy+MYs|5wS?Bz}zOBbx%dtWU0&)z%ZbobFi=)hg8W=|AOG?ak*nL*Bby>;SLr*qP&P zWr6Kww18i=-Mt;aBnsxu5s|S7n?%uSw_zC%$IBiv#t>gtlH3GCRT;YC6jR3Csg^A3 zKQ{(nqRT%#$^IPSDM5(WgS;1Jw$bD+rZK z#+lUU_EI2cg@DXFk9p&n^g0Eo?3Ga^C5oKOPFJfsI&mlZP<=nd56>A7C6Sk2Cuge9 zdkQSK*!DmIdIg0A5g~s53lA*skPt5kb`y;o@*}FnB)bwK{_Swy3SIp6$D6*rYQt#{ zc`~@sJ1gKK_(Lg0;CL|oaV(W}EcnuQSVUnC7GK(c8n!t~$?1c!ko&s8Mkwk!igcz#0yxLd#RjGx@UZE3b@F%}yb>r|vkGuf{&Bd9GHQcGH z-RXr7{%}1IBNVi@v-7F8WY2y)o|BnEHq-L*vY@OK=xWvqqoR%wAJS^LFShBw3kJY; z&GwO(%UoejN%Wd@==_`c8K?wC{;8}1YR$lGE!E^#x_5=F?2!kr349`=$n zH_qj@6>R4G4i7)$4PuN3bPy|#Z`M6V`C#a;x1A36RsF6}J>7)6J+rg$DNM%QYC5gM zFBUU}j&50)=a~x}gM56zYVs3A%L8k}XzX@}EbQ@_`1R^d-~mV? z9I%SWmYk)QpiA9#Y`c2_R&hn6@Ss;IJ8JwfvC|(h0oKwyya*@H_d>Es5x1sI}tDNNgX+@s~P02X^`=GC4^{;ISh_fell% z%uIsn)BF2-{n=1-kV+v7kY{eGW+?Hl$?5nr0iV}XxBHugu|n9W-2)!RIV%!pqUxB+f`gzSQcB$ZoyT zJ2E~>sSqxydwsNm54O=%f|ks<2;y=4>~s)b-}!2lbQdEaZyMd@3VC?ly#e`OOF;eq zdw0yiY+nd2>(0@Pxk^1m8r4csV9YNl@{uhH^2^I}>%ZFn^!#`e#()La@34elkYMSf z2ty^&k#)_(`$PMq3bjh?c44e9#9^g&Gqn_biVOuBy#mR~E9^GvpILo(Npd$t2qCa;$Q#2o&Rhr{9zVp@q)=&Gp8F;xqna_unIj}Tl-Qx z`?aaH)k3vgeSNw>X}9?M_n%~9#}X_}Zr3>D>6|pC(|^AIu-=c=S_8(CWNup$YSkb9 z6f$WBPrs{yI9bQs5yiy*XLsiUutv!`&Xe$GK)Pl)j>xyxZnr(z@(s83K_B>Lz`8p! zV8j^^TOgIAc1yrPV9L)oxvFPEE&sYTnu2#5(0zSug zWT7B~k;HNdT1>JBdL)TkdzReXqnX@2W@3GDFA5(Yrz}XL53nH0}%)XXy`(F8` z!N3rrSPX#K^%iW{XP1EwF%t>^>Bgpjze@G% z`7;TDdH}x~6_X#_68Uv=nLO?ar*U#;=Iw4xF6Vt;#gt*n97hrXsZ4^5&-&SVkJ&=o zM;ul&BEGoA4d$FtRCh_~m?Y>S4vboC*>Ty)gV@<0#kgnUcu}HwNdb{cm12ps8nN1$ zyrqtZbB4bL6|jC+W*zlJ9scSnBQ#m}R{8PeWvTgsS!xj9_DQoGAu}@*@Q~Ys75pQ| zN7p5$@*~%x=u>c2CkH-TqyTz3D;_K)5o5%y$b4P5qF;eQL162doYsYbviT zNLs>*LB7fz@*U5AHDo;u`_O6G|KWv|q%4n*kRWoKmf$_Vq%R~HJnn2o+cc`ex2J#T zjd~ug$E_+VaDc-DURk*ERPV@-VVLXfx5IHKK>mjtJ9JLAo~(0?w46i|JGnfq`JyqHn<8j;YKPYdFrD484>X93bWa7UGC^}zX!T|9hiQdao@vFHX z*{y(E$OYd+j&EG8ecLS{94BYS1u6M|2u@iY`x$F2Ww=VYUIegT!dy2!Mojucu?1M4 z9w-N$%U8Tl_^;vyA@t0Doc408% z1weSsrt2iy982^-J^e;(q*94xHQyM^bRKa<;c+SY3V1e{IX(6mzItlYtUMt0?Xo&d zB3Z6Bs3Z!`gc%QA_6wx5qXJ70NqSE1Df0~iy$Ya$in%bT%|H16)ei+5h<}o2xXaH% zGwVfRAWDP$V0Y|xAyZS+z-C}$+cGNq8y3MezWBbd%zl*X~>hu<4*oT3~0rm-P#ep z{b@|X24iv2D>x8SZ~Nkd*XCqr*MEPBsjL3#qn^ctTWl0(N+AdA0pN#W()T|#+so$| zh)5^15D$40a(W0O4DwxG#=V!U7#VoP&Xf?y4`H-}>x&u_Z7t zp0WMHR-qRK7+UALPh?KRl2MsypnM|RXu5LqJaSidGe7(3b4ChoYihbM0c^(h&J=l7 zk9hFeV<6yj6EQ0RU@YK9(j|N=B)UQ7fEA&j7)^ca<$CnHUdn^wk3yZ9!v54$fuR^2 zJ`2=XDoa3A)CBAwhLkduB;l+B{42Hz^sqiR%Z(8;GvRHB%5XewB-sh5Gexu-~&9Z z&I3t0ts4uqrgm!!eX}2xI-W5;!fYjJd}PV?e4L}>cDs|WxIE>1C2JOEI)G|w9)%1PA(^l_g0K!rRV?((8GR?g-petN#;v*QOg?D3L$ z4Jm3&#!~mZN@!=pPdnlkNR>}YOv*KrnH)p4<%(wX7cREdA4VpM#=N%_c>5VUl(`>8ma_7V~ou9ipop_+B#C@dGc zWo3I`zy83SxRS z>h0gB3>&dSGxTSPEah({zFZ!iIR;Gos8vcTZ8C03+uxjR=ni-FTvoo`v;o`uM`WI? zO;l{`5_}$eNDF@!X08txV&Tjd>q7R4WZ}-pxFO}tic-wG$55x@DBHzo66xZG9+uLz z59ZoiX%o<~u*h~fJRicZ=GHpkmbAGj*^7R2HbsG}N&UvEbbRqZiEz8sS-1sUW((QA z4QDRxbP({J{00)rx%Xdx&B%>7>F$JQciCrie2M6}~#O^CO^Kb6` z@dT16?yD*?A{U9`SQib3%%6?X+xaXtHNQ|{gMMMz*&QnVo_W3OVs3Q1WjwEVom@sfK zv4*l493sFVn#WeIH8ic|dfzt?job5TdsjvFheJc<_k{6rl7;z9e}u#8^Q}_Pptwf2 zwBENe7v_iluXqG*clyJF;z<*t5!gbP7^9SWgjucU&v(fCA@DD}X$2cH=t3&tYK%cw zt@0AXDTIQ&VuMk`TaQCPs9ST^sqbhAjft(t%hL~`2gsE?(?^e1sz%0!d*R& z7{MMv_4bJy_|0?k^fXO_7Q zPgB&Sg_}>UdC9_K;%Rg#YI9QHna9-FSV?vq-rPy|m&-LT=Q@Q{P>IhuB2@HomN%PD zA_$kmEZPI#?!y1Hbq~dmmTI3HpW7umJwwOrC0FF?VRHUj^u{@GMA@yxMM~t87aACF zhCg4a$@t$6Gn;y|2HMJw;apaBx<V8Ob+&Fbd_POcz#z9| zSm34mn?_qKkkK7z^5Z!@J)Jy7@yiju0?@nNb91+W%_2f4n*64{x2sWBb#Ym;ta#q1 z%$ioiWgA4%3P`}xjyO9w6xs)JdFU=Vn?j9y&(<9{?`z0dn-)p3O=K<@+2pJjevosv zHceJ!aBWZQPS_tp$TXniu-fH&@E)yNPo}%t8((D5$R8aYfnK&k4CbYz80YmAq?+P@Of)6I&exRv8{T%~r;EDl~Ef!YG z-5;5`iNYdNQ+zMkMUOWHH^+qSxPZk%=^E|0=9A0YA%1^#6#xEqi2RNWqJ1j@Co&(#g#vaKub)G zdJz(`OV+%8yiK0fSy|C)IfQbsm5Tf7xJ=6mOwtbnD85;NZdU}LEbXwWAceh7k zrR5w>MS-BeqVQ4aR1Pm+W!k61draVJ5u+$`Wm@i6&3d=HLfo_J5f(d6uGpB#V}3?c zImpQoLKHVI@&o7L`jq}P)*CSHyxJVk00d>yF%cx@6PfK-r}IIQ(;H)rK_mV=^q##^ z<{~U#mCKlNivbm;VrPe^d0$O|V&BDYR2>=ACsp!D*Y&=nz3zZZ7N=iWpDzaVFK%y> zLgN7%Kb6Uxi4_X52nYjIzmefiB2!@qKMhDarH;?c6p+H8r=X#cQp&Tbm=5N0N^h`Q zk*yL?y#F0ib028+~C{F7uSqQhY-L2ll!bBXgp9J0Uc@iF6^c+XXI| zemIw(9S>9c-7k726t6F)N5D%=_`kbZyT+28ozrE$yLVVDa-d^Pz`3|EWOEZFmBKfj z9HkGeH|T>2)o4%c#%0SFJxIo5O>8TQ1K@45xo~U;VB!5>p)@H|oe?Xaso2bMa%O^C z$m^>IrA)H;p9U*ZcXzI@E4cwI-h|vX*=>2YsFZ{AsGWu)-=kxl$=^=<%o!;3Z$Btg zrYSop$EYu$+8Fp!_H#ZxU4>kk6M9PXovz44IUVr>Y(-w#sPxQBzzAOiHcz0}VtW`4 zySZQ-giP?{o1a0l@CHg%!Gp>pB zTB6mEh>F5Sq@JU25E7rtUN59HD9V&}KcS(ZkUU~+?Z%j_2}cL8zyN(8k*kY~;w^z2 zJu15zX0w`X{_o%FY5nnW5RYDeDB;KNk?%6jI*#%X`C^@?bCf9E_6sntzoN^sX+(1? z<)DwKO%}o*mc+Qx8}>(%!_vS?#OCWZ3$oW#CgIHFiEWwz!XKlOe)prh^ItV87BlLL z*fcs`FZ-scJQf%{cauU_2a`F4!?B~`4w7=63y9oA*%T2jw>pae=6d|J4q0-rP~*zX zv(Vm3W>e^SlhPJdXJP(uS<3h%VY>G^m)^BN?(90V9%;H;<`G z`CQ-we!Arzm=<5BR1L?+`*zf8rx4IcZ$A`Uc`2L+hdw88Ht7rdOY_^;_s!C%nLoE& zvlu=&?9-gD#FuRC?FqZyyDEx&$%%O?eI{3s%2(`~pOB-dcMU20`I86+3M$&(micUR zAPT*8JX%e!00Ey%!AiD5x}QEGG&guqJoLp5-f?eI;6cSEAtazWr#@qOte^o<74tLm zWl13Noe{M^@1)gym|pq_Yqo!3ytS?3Cn)G!00|+NNl8W~uQ=UoFi!x)SOu_$NB;n~ zx)>V~cRXE)GngwcD3nP}zG-#3{vq9FkK&J;YhUnw^99S^bRv;F3!;r%K5>e~FwV*f z?R0NV{P|^S)qz0wAq16+$%NX@&c1m0`MB6z=~+{o91yLMgkW^+c9U0O&})MvVzL+O zBhWDt;}bIl4u5f_@Yqw#A|e!?$59N|XnMV{Mo5`!h60pzQ= z5XZa2`6L9znWf@4=j-)TXTBtvSo>~xIGkqTiah|XmII*_FQ5gDh4{3j(p&8H>Y<^S z6=ELugCXJ*#EqSkPkON0-;|n`e%HzI#;j0!X1a>5IFr*Uo=1oF+*QBbJl%TnmA^JqPQj5t+vG9`_LeVeg;4m{HN!4u5)Mkz<%gV!}03mLj-Oy zAUM3>RFgzwJJ<=a)|EX328fbJ*OU{BnZW)CY#H5^mAe1e-E;r5-9=6NJXVdTG}TtE z+Chz)wQIDYgh-@9=}@DwS8Zz4gQ`)bh&^l8EUi)0imHkk5=HEyH5xnKukpN}&-*XD z`RV4HPrmoubI-Zw+%qM?kxdlOPw@N;H2zV9SD#>=-3j&omHzZA`NL#OtGJzkgf zA3tY81)I#HZMt2%k?W8`XJhZ3l*R8FMOq5<)jmT{2jU-yUBCV+0O+3v1cBRPX}P~A zIyGhWj@RPaVwCMamQe^dxtixGJ5X28;nXy@*0zxmZqX+3tvx3w@N=qNKca(4r>MjAXmy@{=>9tMTpd2}9$8`dNgpsQ_dng)K{v@Z zR5QnTekZSt+w6)-tzm`>ABLJJWhR<58{8MabAW2=y}!3S(5IU=zqvSo(h6}d&5tQJ z>G@&lyP@Xvw3)JAe36ZlZya6cYbzy%{yNdt!IUZ!=waTNIfiN+^Qflb%}NQ6Djt?B zc`j!?XuC4mqKOL7&`9q4y+U@H^$K8a>Wfj`zoYa%uvre>A%^EdsofhdrC|>j z785BkSHgjGD{O7|>xlu(GH12t)-?QT!L~Y`k>N2^VCDRsw77IOqZ2^`0u4% z%v{YW^SP+z#9jK61hoZRWbNe3`|CWtz1^nh!>*jM{<_Dg)WlMmXEyAYMdg6FhtmA= zW`bTPnRBR-TiA0yj_>yDE@f$7qVae3aFs7h@5GpnZxPaI1!&bG|7-Tsui2eO6|^ni z1Q+i(3|3})*1``$4qSLnTeAU~k4p0${hpN)6_Rt6RFdw$J>C}OAFwtpP};82JB!~| z3}@uZULjT?8{48$J=VQL6$WF|+EHI$t%aRquNI7pp8feQzdXZSO@%LKRCPdg2fpF% zF>q^XXhcvSQzDDT!QI?EhZ7|%vk2W8s_>CJ?qc%d&bX==uTlLMFGx}_lUoX81zPdROKk5UKO^&N6#W}A-LrP2erH9LZ z7|yv!_4mj7O#&r(GHX9hZ1&}&?dIp+Qbf{LuX4SVT0+x;2>q2bZIqPwt( z;8vrGvVdtdkjnuZ0VH2JK{Q5G=q+aDYW2f%7SS~Wa`CguszD_Y8PBixfbG*}6*2H6 zqkdU5*39&XlH-%4&8Q;ANsB@frezn%IE2|<=yym8xF*{H5{@5aHp zIckB9C8b7Mq5NR;p+AaO?d=5=tFtj$?KNmSRL`9F4AJZ3$0S{@iqKH4Qiv6wYzNow z&QKG8qz}^FF%odE>3M2^dybeWyC_tb4G{VkW zTx3zc(_8c_wOSXNwXik?D8-K zb5w(S#3pS$Cs0>BJDNidH#^g_Wd3ci!P{-Aze>p4s}8xa-5!-=yBo2R0-l27JT>IZs4r;3S- z>)uCCGY zaHZSJIGh$Y+_D#zjE&Y0W8-E=l)$C*wON}EjwEPiQANkG&P4UrFE2YM(iT)B>K4rO zQ_k>PG{?;3g7BNmuU;_+_NHB#rzq~UL{Rzq`rh2$`}Jg{m)Hy~qN@)%q^)yoz&!3| z2@VMnpm2au$*u*!7967c+&|oV2V^&NJ_OxHU<@me?OdRD+qJa7tU*OsR?TBf7=A4W zbD30Zc(RyROrJwlJ5%F1lAct)uiozwTz0UxpV`M)O+`il60|>pt#gr}SaleyW~OZe z%7CxC%ELF2Ys^i`6xW@Oy74BXev|eaxf0K6!eaN2ULFKyKG6q*aNi0Sa;NoiN%SA{ z_-?<#<*tzgcput5 zt&|~;b#?b<0Va{y4>9s96OErr+=x#59u1M6V7Y`p%DK=oZulC*BI2wz6gxhVZwAfZ zP~qm?c)h8tH6GoU0qa=9c=_nHqrqhfZkz!xARSwSgO{QanM)`1+#CLSYYSh zJ$k-|?`hkTg=-^mY*)iZt`toBlSY*vTqSM2BvI-kduA~=G}>vwtGtc0z4IMz_PMwS zX)b6PY+9Gu0LLjj-;fmjcrDK47G9Ebo%Brf@s+=71PWfG3UGd@0HD{onma^#|k|XIr-*Ta!H~4++<9@pQpee`} z+MWvM+%#{d;C}D=c*==euxeYDm_s1*@wR))+3Fw`itvJH0_la4|&7tT2YhwzM^4^P7NqUdw@yLQA|8VFIRI z$6%o(_Ik7E^^XN>*MB=FAt08^zwlTEo&CE~U<1VDLH(r++1Bm73#3cj`P1}*0qo}D zE%bDjINyA$OPwL2B62W1Bz4`3-Mf!qlvZp&k+D!q#Fo)bSCp1#(=0-S0@Q>StwAxn zw_fv~`{Be1s_oct{Tn;dv35i^RE3Er<_xOBw}*w>g)<#rzG(SOS9C78x=K5YRfYlA z*i=C%M(Y(b^UU0;!FX+;CWS%~U?I^vr87zte)c$f2YT^>ncmMN%YeKBUp4KE7q#$s ze6{Nz@Ghy#X!im3!q}gUKG=EK8DyICn=d<`l&@oWCi$6#Z0oLsB!yy&ul>TX31AHG zl;7$*Hd`AyJfIgl0xigl)O|obrwW8P@TLK^0n(R;Qh|VdUeKkI&xY!&TwF6tOV+EB z7Ab|9!6S1^pH!85uaK7&D#}= zP!VU!uywcY1RTvnwJ**~edcK3jE*U!6Rlq()Voy+3chIY_gk2439%Zlsg|)ba0E`i z@J~vLii#;pmaPuvsl{Mj@tB$E>AP~n!#MXerKg0tIL(JltzG!;WFQI+Ib5GIi8y|* zy2q&%;d7~qog*pbt*kqF({5=n@0_e7;a+WCe!i~TI$(M(x?kXEIN-0zrctxF z`OY}OM|Ozd{dCIX|H7@la}6;lQZFS(mOOCTmekhKfsOl)V{1jk~|xnhb!#n(hL z{T&{f=<$v8!J8!ytYh!s(AC@fhJlgBf;!68ai)t5B;&)dZ$uOP6!8S_U_ecHb2>@T ziHSvhrxkH8flvp8o$Ko9<#=xWfRf4NN^ziFjR;_q^7M3f&fNX8l&r)pKh)%$x)p2X zn3G|tk7J~%xA62#v_Dsfhyns(43e%N*scDv+O_%;$#Ar*R72FK*qSYNaD2R+rD^44 z1KlD9HrtJdZLsrGw<0bFP$(BJU9eg;w4f|`vhj$_$k<4I}~k_lVy z5)v3K!@wr0hu%4uRr?dk0`0qE<=~)iipS3}Po;6L=^o!lGjE>ya5DW2 z1mtJfXN*0`9_yRy*Pu|A0Wzs`+DZ|usX<+1J5*G%aR7_(ofLSF({+4lPk0NYE6=8g zi1@_)o7SjedJh#J7KYz&uDC;OA##iiIPJ+*mnuQx!wik6sAy$PMVzI$c&U|{g@tOG zvP-;JsaQ9@Jq##v^?23Xe5ay-b?Y;IEDXT|s4OBfVlNpO7#4v1&q{GVas47gKR>@7 zpG27k*zwy7PpzX=!av$!ff2Ruc`Vf|KVmRsDuj6_P-05 zAas~GjCEBSS5#E2&vOS7AR{p2JnCIz=oT*;E$SA2ka_J>{8mLfp`*z^Bkw)Ul)E;u zXCaPHOCn?w^!aV_=cSSu~U<#Rlc3~yg^za;M}ja?}mNcw2{^> zM~V0L)vsqG%O{?sp^2P?PDhZ7fV_|QP-dUax7^>qUsTT)mv^-gGXqO58NPWe9>t6waOXV0ku>EAgDpm$%*@;k8Bv=r?Kmg7xvlgzulV_-q&xU zJ;6!nF$1egZnb0tQXrkvuZ(g!qN8N3C4xnvsMuuw6Y5q+oMPs4X*5zQe@2J$X%pz| zBjV#BQ}0{XFRJ;%5O6B=-0bWD&k?8m>*6QQ@n^GkenU$AQ_gz4>Y{V}>c<1e(pQm| z2(Q#VNqPCCl9CdBth0Li0epwTtzCnxNZ!OIMBYR<1h85h+eWG2>L8M;y*Rb z%*NN_xp%-X28fV=_fC-VnXd9l$~!Pc`}Cw$mkl}P_4d2Q=Zzys9r5Yab*YJk3q{u` z7xy?#TF|a5Uw)oFf+lE*M(@EfH^4DDk$GSrgmd63hxD361NSq~A-vyATX?bO5z)}) zZaaHNS1bDTPjsg&IsUlx(Z7-B!TZ=zo94(ka1%v>$cFUvjZLTOHgeGqqb@%|U(t=z z#e+NbwB(86HxNJXgy+!Iqvb)g4YbN`JqZ3EXNG0R literal 0 HcmV?d00001 From 4c1362bac14a3d6fc2cebd56eddcaf440228a4e9 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 23 Oct 2020 07:14:58 +0400 Subject: [PATCH 50/57] fix(schema): CloudFormation Updates (#329) Co-authored-by: Paul Maddox --- cloudformation/all.go | 126 ++ .../amazonmq/aws-amazonmq-broker.go | 5 - cloudformation/appsync/aws-appsync-apikey.go | 5 + .../aws-appsync-functionconfiguration.go | 5 + ...nfiguration_lambdaconflicthandlerconfig.go | 35 + ...ppsync-functionconfiguration_syncconfig.go | 45 + .../athena/aws-athena-namedquery.go | 5 + .../aws-autoscaling-autoscalinggroup.go | 5 + ...utoscalinggroup_launchtemplateoverrides.go | 5 + .../aws-autoscaling-launchconfiguration.go | 5 + ...ling-launchconfiguration_metadataoption.go | 45 + .../batch/aws-batch-computeenvironment.go | 5 + .../batch/aws-batch-jobdefinition.go | 5 + cloudformation/batch/aws-batch-jobqueue.go | 5 + .../aws-cloudfront-distribution_origin.go | 5 + ...ws-cloudfront-distribution_originshield.go | 40 + cloudformation/ec2/aws-ec2-route.go | 15 + cloudformation/ec2/aws-ec2-subnet.go | 5 + .../aws-elasticache-replicationgroup.go | 5 + .../aws-elasticloadbalancingv2-listener.go | 6 +- ...dbalancingv2-loadbalancer_subnetmapping.go | 5 + ...sticloadbalancingv2-targetgroup_matcher.go | 2 +- ...earch-domain_elasticsearchclusterconfig.go | 15 + cloudformation/emr/aws-emr-cluster.go | 15 + .../emr/aws-emr-cluster_computelimits.go | 55 + ...instancefleetprovisioningspecifications.go | 7 +- .../aws-emr-cluster_managedscalingpolicy.go | 35 + ...uster_ondemandprovisioningspecification.go | 35 + ...r-cluster_spotprovisioningspecification.go | 5 + ...instancefleetprovisioningspecifications.go | 7 +- ...onfig_ondemandprovisioningspecification.go | 35 + ...eetconfig_spotprovisioningspecification.go | 5 + .../aws-events-rule_deadletterconfig.go | 35 + .../aws-events-rule_redshiftdataparameters.go | 60 + .../events/aws-events-rule_retrypolicy.go | 40 + .../events/aws-events-rule_target.go | 15 + .../aws-gamelift-matchmakingconfiguration.go | 7 +- .../aws-kinesisfirehose-deliverystream.go | 11 + ...iverystreamencryptionconfigurationinput.go | 40 + .../lambda/aws-lambda-eventsourcemapping.go | 10 + ...sourcemapping_sourceaccessconfiguration.go | 40 + cloudformation/logs/aws-logs-loggroup.go | 9 +- .../mediapackage/aws-mediapackage-asset.go | 137 ++ .../aws-mediapackage-asset_egressendpoint.go | 40 + .../mediapackage/aws-mediapackage-channel.go | 117 + .../aws-mediapackage-channel_hlsingest.go | 35 + ...aws-mediapackage-channel_ingestendpoint.go | 50 + .../aws-mediapackage-originendpoint.go | 172 ++ ...-mediapackage-originendpoint_adtriggers.go | 35 + ...diapackage-originendpoint_authorization.go | 40 + ...iapackage-originendpoint_cmafencryption.go | 40 + ...mediapackage-originendpoint_cmafpackage.go | 55 + ...iapackage-originendpoint_dashencryption.go | 40 + ...mediapackage-originendpoint_dashpackage.go | 95 + ...diapackage-originendpoint_hlsencryption.go | 55 + ...mediapackage-originendpoint_hlsmanifest.go | 80 + ...-mediapackage-originendpoint_hlspackage.go | 85 + ...diapackage-originendpoint_mssencryption.go | 35 + ...-mediapackage-originendpoint_msspackage.go | 50 + ...package-originendpoint_spekekeyprovider.go | 55 + ...apackage-originendpoint_streamselection.go | 45 + ...aws-mediapackage-packagingconfiguration.go | 137 ++ ...e-packagingconfiguration_cmafencryption.go | 35 + ...kage-packagingconfiguration_cmafpackage.go | 45 + ...e-packagingconfiguration_dashencryption.go | 35 + ...age-packagingconfiguration_dashmanifest.go | 55 + ...kage-packagingconfiguration_dashpackage.go | 55 + ...ge-packagingconfiguration_hlsencryption.go | 45 + ...kage-packagingconfiguration_hlsmanifest.go | 60 + ...ckage-packagingconfiguration_hlspackage.go | 50 + ...ge-packagingconfiguration_mssencryption.go | 35 + ...kage-packagingconfiguration_mssmanifest.go | 40 + ...ckage-packagingconfiguration_msspackage.go | 45 + ...packagingconfiguration_spekekeyprovider.go | 45 + ...-packagingconfiguration_streamselection.go | 45 + .../aws-mediapackage-packaginggroup.go | 117 + ...diapackage-packaginggroup_authorization.go | 40 + cloudformation/rds/aws-rds-dbcluster.go | 5 + cloudformation/s3/aws-s3-bucket_metrics.go | 2 +- .../s3/aws-s3-bucket_replicamodifications.go | 35 + .../aws-s3-bucket_sourceselectioncriteria.go | 7 +- ...aws-sagemaker-model_containerdefinition.go | 5 + .../aws-sagemaker-model_imageconfig.go | 35 + cloudformation/sns/aws-sns-subscription.go | 5 + cloudformation/sns/aws-sns-topic.go | 5 + .../aws-transfer-server_endpointdetails.go | 5 + .../aws-transfer-server_securitygroupid.go | 30 + schema/cloudformation.go | 1958 ++++++++++++++--- schema/cloudformation.schema.json | 1958 ++++++++++++++--- schema/sam.go | 1958 ++++++++++++++--- schema/sam.schema.json | 1958 ++++++++++++++--- 91 files changed, 9652 insertions(+), 1324 deletions(-) create mode 100644 cloudformation/appsync/aws-appsync-functionconfiguration_lambdaconflicthandlerconfig.go create mode 100644 cloudformation/appsync/aws-appsync-functionconfiguration_syncconfig.go create mode 100644 cloudformation/autoscaling/aws-autoscaling-launchconfiguration_metadataoption.go create mode 100644 cloudformation/cloudfront/aws-cloudfront-distribution_originshield.go create mode 100644 cloudformation/emr/aws-emr-cluster_computelimits.go create mode 100644 cloudformation/emr/aws-emr-cluster_managedscalingpolicy.go create mode 100644 cloudformation/emr/aws-emr-cluster_ondemandprovisioningspecification.go create mode 100644 cloudformation/emr/aws-emr-instancefleetconfig_ondemandprovisioningspecification.go create mode 100644 cloudformation/events/aws-events-rule_deadletterconfig.go create mode 100644 cloudformation/events/aws-events-rule_redshiftdataparameters.go create mode 100644 cloudformation/events/aws-events-rule_retrypolicy.go create mode 100644 cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_deliverystreamencryptionconfigurationinput.go create mode 100644 cloudformation/lambda/aws-lambda-eventsourcemapping_sourceaccessconfiguration.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-asset.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-asset_egressendpoint.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-channel.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-channel_hlsingest.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-channel_ingestendpoint.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-originendpoint.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-originendpoint_adtriggers.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-originendpoint_authorization.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-originendpoint_cmafencryption.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-originendpoint_cmafpackage.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-originendpoint_dashencryption.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-originendpoint_dashpackage.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-originendpoint_hlsencryption.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-originendpoint_hlsmanifest.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-originendpoint_hlspackage.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-originendpoint_mssencryption.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-originendpoint_msspackage.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-originendpoint_spekekeyprovider.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-originendpoint_streamselection.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-packagingconfiguration.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_cmafencryption.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_cmafpackage.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_dashencryption.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_dashmanifest.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_dashpackage.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_hlsencryption.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_hlsmanifest.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_hlspackage.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_mssencryption.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_mssmanifest.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_msspackage.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_spekekeyprovider.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_streamselection.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-packaginggroup.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-packaginggroup_authorization.go create mode 100644 cloudformation/s3/aws-s3-bucket_replicamodifications.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-model_imageconfig.go create mode 100644 cloudformation/transfer/aws-transfer-server_securitygroupid.go diff --git a/cloudformation/all.go b/cloudformation/all.go index aeeb62be04..e979c4c2a3 100644 --- a/cloudformation/all.go +++ b/cloudformation/all.go @@ -92,6 +92,7 @@ import ( "github.com/awslabs/goformation/v4/cloudformation/managedblockchain" "github.com/awslabs/goformation/v4/cloudformation/mediaconvert" "github.com/awslabs/goformation/v4/cloudformation/medialive" + "github.com/awslabs/goformation/v4/cloudformation/mediapackage" "github.com/awslabs/goformation/v4/cloudformation/mediastore" "github.com/awslabs/goformation/v4/cloudformation/msk" "github.com/awslabs/goformation/v4/cloudformation/neptune" @@ -539,6 +540,11 @@ func AllResources() map[string]Resource { "AWS::MediaLive::Channel": &medialive.Channel{}, "AWS::MediaLive::Input": &medialive.Input{}, "AWS::MediaLive::InputSecurityGroup": &medialive.InputSecurityGroup{}, + "AWS::MediaPackage::Asset": &mediapackage.Asset{}, + "AWS::MediaPackage::Channel": &mediapackage.Channel{}, + "AWS::MediaPackage::OriginEndpoint": &mediapackage.OriginEndpoint{}, + "AWS::MediaPackage::PackagingConfiguration": &mediapackage.PackagingConfiguration{}, + "AWS::MediaPackage::PackagingGroup": &mediapackage.PackagingGroup{}, "AWS::MediaStore::Container": &mediastore.Container{}, "AWS::Neptune::DBCluster": &neptune.DBCluster{}, "AWS::Neptune::DBClusterParameterGroup": &neptune.DBClusterParameterGroup{}, @@ -10436,6 +10442,126 @@ func (t *Template) GetMediaLiveInputSecurityGroupWithName(name string) (*mediali return nil, fmt.Errorf("resource %q of type medialive.InputSecurityGroup not found", name) } +// GetAllMediaPackageAssetResources retrieves all mediapackage.Asset items from an AWS CloudFormation template +func (t *Template) GetAllMediaPackageAssetResources() map[string]*mediapackage.Asset { + results := map[string]*mediapackage.Asset{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *mediapackage.Asset: + results[name] = resource + } + } + return results +} + +// GetMediaPackageAssetWithName retrieves all mediapackage.Asset items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetMediaPackageAssetWithName(name string) (*mediapackage.Asset, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *mediapackage.Asset: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type mediapackage.Asset not found", name) +} + +// GetAllMediaPackageChannelResources retrieves all mediapackage.Channel items from an AWS CloudFormation template +func (t *Template) GetAllMediaPackageChannelResources() map[string]*mediapackage.Channel { + results := map[string]*mediapackage.Channel{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *mediapackage.Channel: + results[name] = resource + } + } + return results +} + +// GetMediaPackageChannelWithName retrieves all mediapackage.Channel items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetMediaPackageChannelWithName(name string) (*mediapackage.Channel, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *mediapackage.Channel: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type mediapackage.Channel not found", name) +} + +// GetAllMediaPackageOriginEndpointResources retrieves all mediapackage.OriginEndpoint items from an AWS CloudFormation template +func (t *Template) GetAllMediaPackageOriginEndpointResources() map[string]*mediapackage.OriginEndpoint { + results := map[string]*mediapackage.OriginEndpoint{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *mediapackage.OriginEndpoint: + results[name] = resource + } + } + return results +} + +// GetMediaPackageOriginEndpointWithName retrieves all mediapackage.OriginEndpoint items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetMediaPackageOriginEndpointWithName(name string) (*mediapackage.OriginEndpoint, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *mediapackage.OriginEndpoint: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type mediapackage.OriginEndpoint not found", name) +} + +// GetAllMediaPackagePackagingConfigurationResources retrieves all mediapackage.PackagingConfiguration items from an AWS CloudFormation template +func (t *Template) GetAllMediaPackagePackagingConfigurationResources() map[string]*mediapackage.PackagingConfiguration { + results := map[string]*mediapackage.PackagingConfiguration{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *mediapackage.PackagingConfiguration: + results[name] = resource + } + } + return results +} + +// GetMediaPackagePackagingConfigurationWithName retrieves all mediapackage.PackagingConfiguration items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetMediaPackagePackagingConfigurationWithName(name string) (*mediapackage.PackagingConfiguration, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *mediapackage.PackagingConfiguration: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type mediapackage.PackagingConfiguration not found", name) +} + +// GetAllMediaPackagePackagingGroupResources retrieves all mediapackage.PackagingGroup items from an AWS CloudFormation template +func (t *Template) GetAllMediaPackagePackagingGroupResources() map[string]*mediapackage.PackagingGroup { + results := map[string]*mediapackage.PackagingGroup{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *mediapackage.PackagingGroup: + results[name] = resource + } + } + return results +} + +// GetMediaPackagePackagingGroupWithName retrieves all mediapackage.PackagingGroup items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetMediaPackagePackagingGroupWithName(name string) (*mediapackage.PackagingGroup, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *mediapackage.PackagingGroup: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type mediapackage.PackagingGroup not found", name) +} + // GetAllMediaStoreContainerResources retrieves all mediastore.Container items from an AWS CloudFormation template func (t *Template) GetAllMediaStoreContainerResources() map[string]*mediastore.Container { results := map[string]*mediastore.Container{} diff --git a/cloudformation/amazonmq/aws-amazonmq-broker.go b/cloudformation/amazonmq/aws-amazonmq-broker.go index 015c8619b0..eab54b3fe6 100644 --- a/cloudformation/amazonmq/aws-amazonmq-broker.go +++ b/cloudformation/amazonmq/aws-amazonmq-broker.go @@ -57,11 +57,6 @@ type Broker struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-hostinstancetype HostInstanceType string `json:"HostInstanceType,omitempty"` - // LdapMetadata AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-ldapmetadata - LdapMetadata *Broker_LdapMetadata `json:"LdapMetadata,omitempty"` - // LdapServerMetadata AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-ldapservermetadata diff --git a/cloudformation/appsync/aws-appsync-apikey.go b/cloudformation/appsync/aws-appsync-apikey.go index b01cac4cc1..41e21a67ac 100644 --- a/cloudformation/appsync/aws-appsync-apikey.go +++ b/cloudformation/appsync/aws-appsync-apikey.go @@ -17,6 +17,11 @@ type ApiKey struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html#cfn-appsync-apikey-apiid ApiId string `json:"ApiId,omitempty"` + // ApiKeyId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html#cfn-appsync-apikey-apikeyid + ApiKeyId string `json:"ApiKeyId,omitempty"` + // Description AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html#cfn-appsync-apikey-description diff --git a/cloudformation/appsync/aws-appsync-functionconfiguration.go b/cloudformation/appsync/aws-appsync-functionconfiguration.go index e4383610cc..39f3d0836f 100644 --- a/cloudformation/appsync/aws-appsync-functionconfiguration.go +++ b/cloudformation/appsync/aws-appsync-functionconfiguration.go @@ -57,6 +57,11 @@ type FunctionConfiguration struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-responsemappingtemplates3location ResponseMappingTemplateS3Location string `json:"ResponseMappingTemplateS3Location,omitempty"` + // SyncConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-syncconfig + SyncConfig *FunctionConfiguration_SyncConfig `json:"SyncConfig,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/appsync/aws-appsync-functionconfiguration_lambdaconflicthandlerconfig.go b/cloudformation/appsync/aws-appsync-functionconfiguration_lambdaconflicthandlerconfig.go new file mode 100644 index 0000000000..d682787c8f --- /dev/null +++ b/cloudformation/appsync/aws-appsync-functionconfiguration_lambdaconflicthandlerconfig.go @@ -0,0 +1,35 @@ +package appsync + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// FunctionConfiguration_LambdaConflictHandlerConfig AWS CloudFormation Resource (AWS::AppSync::FunctionConfiguration.LambdaConflictHandlerConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-functionconfiguration-lambdaconflicthandlerconfig.html +type FunctionConfiguration_LambdaConflictHandlerConfig struct { + + // LambdaConflictHandlerArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-functionconfiguration-lambdaconflicthandlerconfig.html#cfn-appsync-functionconfiguration-lambdaconflicthandlerconfig-lambdaconflicthandlerarn + LambdaConflictHandlerArn string `json:"LambdaConflictHandlerArn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *FunctionConfiguration_LambdaConflictHandlerConfig) AWSCloudFormationType() string { + return "AWS::AppSync::FunctionConfiguration.LambdaConflictHandlerConfig" +} diff --git a/cloudformation/appsync/aws-appsync-functionconfiguration_syncconfig.go b/cloudformation/appsync/aws-appsync-functionconfiguration_syncconfig.go new file mode 100644 index 0000000000..b9674b9220 --- /dev/null +++ b/cloudformation/appsync/aws-appsync-functionconfiguration_syncconfig.go @@ -0,0 +1,45 @@ +package appsync + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// FunctionConfiguration_SyncConfig AWS CloudFormation Resource (AWS::AppSync::FunctionConfiguration.SyncConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-functionconfiguration-syncconfig.html +type FunctionConfiguration_SyncConfig struct { + + // ConflictDetection AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-functionconfiguration-syncconfig.html#cfn-appsync-functionconfiguration-syncconfig-conflictdetection + ConflictDetection string `json:"ConflictDetection,omitempty"` + + // ConflictHandler AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-functionconfiguration-syncconfig.html#cfn-appsync-functionconfiguration-syncconfig-conflicthandler + ConflictHandler string `json:"ConflictHandler,omitempty"` + + // LambdaConflictHandlerConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-functionconfiguration-syncconfig.html#cfn-appsync-functionconfiguration-syncconfig-lambdaconflicthandlerconfig + LambdaConflictHandlerConfig *FunctionConfiguration_LambdaConflictHandlerConfig `json:"LambdaConflictHandlerConfig,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *FunctionConfiguration_SyncConfig) AWSCloudFormationType() string { + return "AWS::AppSync::FunctionConfiguration.SyncConfig" +} diff --git a/cloudformation/athena/aws-athena-namedquery.go b/cloudformation/athena/aws-athena-namedquery.go index cbd9e558c1..b227060486 100644 --- a/cloudformation/athena/aws-athena-namedquery.go +++ b/cloudformation/athena/aws-athena-namedquery.go @@ -32,6 +32,11 @@ type NamedQuery struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-namedquery.html#cfn-athena-namedquery-querystring QueryString string `json:"QueryString,omitempty"` + // WorkGroup AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-namedquery.html#cfn-athena-namedquery-workgroup + WorkGroup string `json:"WorkGroup,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup.go b/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup.go index 4f389adab7..ad175182a6 100644 --- a/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup.go +++ b/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup.go @@ -22,6 +22,11 @@ type AutoScalingGroup struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-availabilityzones AvailabilityZones []string `json:"AvailabilityZones,omitempty"` + // CapacityRebalance AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-capacityrebalance + CapacityRebalance bool `json:"CapacityRebalance,omitempty"` + // Cooldown AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-cooldown diff --git a/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_launchtemplateoverrides.go b/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_launchtemplateoverrides.go index e0e3d36a6a..987d4bb746 100644 --- a/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_launchtemplateoverrides.go +++ b/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_launchtemplateoverrides.go @@ -13,6 +13,11 @@ type AutoScalingGroup_LaunchTemplateOverrides struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-mixedinstancespolicy-launchtemplateoverrides.html#cfn-autoscaling-autoscalinggroup-launchtemplateoverrides-instancetype InstanceType string `json:"InstanceType,omitempty"` + // LaunchTemplateSpecification AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-mixedinstancespolicy-launchtemplateoverrides.html#cfn-autoscaling-autoscalinggroup-launchtemplateoverrides-launchtemplatespecification + LaunchTemplateSpecification *AutoScalingGroup_LaunchTemplateSpecification `json:"LaunchTemplateSpecification,omitempty"` + // WeightedCapacity AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-mixedinstancespolicy-launchtemplateoverrides.html#cfn-autoscaling-autoscalinggroup-launchtemplateoverrides-weightedcapacity diff --git a/cloudformation/autoscaling/aws-autoscaling-launchconfiguration.go b/cloudformation/autoscaling/aws-autoscaling-launchconfiguration.go index 97775cf9fd..a9929c9348 100644 --- a/cloudformation/autoscaling/aws-autoscaling-launchconfiguration.go +++ b/cloudformation/autoscaling/aws-autoscaling-launchconfiguration.go @@ -77,6 +77,11 @@ type LaunchConfiguration struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig.html#cfn-autoscaling-launchconfig-launchconfigurationname LaunchConfigurationName string `json:"LaunchConfigurationName,omitempty"` + // MetadataOptions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig.html#cfn-autoscaling-launchconfig-metadataoptions + MetadataOptions *LaunchConfiguration_MetadataOption `json:"MetadataOptions,omitempty"` + // PlacementTenancy AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig.html#cfn-as-launchconfig-placementtenancy diff --git a/cloudformation/autoscaling/aws-autoscaling-launchconfiguration_metadataoption.go b/cloudformation/autoscaling/aws-autoscaling-launchconfiguration_metadataoption.go new file mode 100644 index 0000000000..8df455e7fa --- /dev/null +++ b/cloudformation/autoscaling/aws-autoscaling-launchconfiguration_metadataoption.go @@ -0,0 +1,45 @@ +package autoscaling + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// LaunchConfiguration_MetadataOption AWS CloudFormation Resource (AWS::AutoScaling::LaunchConfiguration.MetadataOption) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-launchconfig-metadataoption.html +type LaunchConfiguration_MetadataOption struct { + + // HttpEndpoint AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-launchconfig-metadataoption.html#cfn-autoscaling-launchconfig-metadataoption-httpendpoint + HttpEndpoint string `json:"HttpEndpoint,omitempty"` + + // HttpPutResponseHopLimit AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-launchconfig-metadataoption.html#cfn-autoscaling-launchconfig-metadataoption-httpputresponsehoplimit + HttpPutResponseHopLimit int `json:"HttpPutResponseHopLimit,omitempty"` + + // HttpTokens AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-launchconfig-metadataoption.html#cfn-autoscaling-launchconfig-metadataoption-httptokens + HttpTokens string `json:"HttpTokens,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *LaunchConfiguration_MetadataOption) AWSCloudFormationType() string { + return "AWS::AutoScaling::LaunchConfiguration.MetadataOption" +} diff --git a/cloudformation/batch/aws-batch-computeenvironment.go b/cloudformation/batch/aws-batch-computeenvironment.go index 34d1fda226..71ee0a2d12 100644 --- a/cloudformation/batch/aws-batch-computeenvironment.go +++ b/cloudformation/batch/aws-batch-computeenvironment.go @@ -32,6 +32,11 @@ type ComputeEnvironment struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-computeenvironment.html#cfn-batch-computeenvironment-state State string `json:"State,omitempty"` + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-computeenvironment.html#cfn-batch-computeenvironment-tags + Tags interface{} `json:"Tags,omitempty"` + // Type AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-computeenvironment.html#cfn-batch-computeenvironment-type diff --git a/cloudformation/batch/aws-batch-jobdefinition.go b/cloudformation/batch/aws-batch-jobdefinition.go index 82d22af29a..82f41c3f42 100644 --- a/cloudformation/batch/aws-batch-jobdefinition.go +++ b/cloudformation/batch/aws-batch-jobdefinition.go @@ -37,6 +37,11 @@ type JobDefinition struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobdefinition.html#cfn-batch-jobdefinition-retrystrategy RetryStrategy *JobDefinition_RetryStrategy `json:"RetryStrategy,omitempty"` + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobdefinition.html#cfn-batch-jobdefinition-tags + Tags interface{} `json:"Tags,omitempty"` + // Timeout AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobdefinition.html#cfn-batch-jobdefinition-timeout diff --git a/cloudformation/batch/aws-batch-jobqueue.go b/cloudformation/batch/aws-batch-jobqueue.go index e0413c85c1..9635519a15 100644 --- a/cloudformation/batch/aws-batch-jobqueue.go +++ b/cloudformation/batch/aws-batch-jobqueue.go @@ -32,6 +32,11 @@ type JobQueue struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobqueue.html#cfn-batch-jobqueue-state State string `json:"State,omitempty"` + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobqueue.html#cfn-batch-jobqueue-tags + Tags interface{} `json:"Tags,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/cloudfront/aws-cloudfront-distribution_origin.go b/cloudformation/cloudfront/aws-cloudfront-distribution_origin.go index 330de03ade..c22e94f43d 100644 --- a/cloudformation/cloudfront/aws-cloudfront-distribution_origin.go +++ b/cloudformation/cloudfront/aws-cloudfront-distribution_origin.go @@ -43,6 +43,11 @@ type Distribution_Origin struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-originpath OriginPath string `json:"OriginPath,omitempty"` + // OriginShield AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-originshield + OriginShield *Distribution_OriginShield `json:"OriginShield,omitempty"` + // S3OriginConfig AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-s3originconfig diff --git a/cloudformation/cloudfront/aws-cloudfront-distribution_originshield.go b/cloudformation/cloudfront/aws-cloudfront-distribution_originshield.go new file mode 100644 index 0000000000..701bc0eb20 --- /dev/null +++ b/cloudformation/cloudfront/aws-cloudfront-distribution_originshield.go @@ -0,0 +1,40 @@ +package cloudfront + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Distribution_OriginShield AWS CloudFormation Resource (AWS::CloudFront::Distribution.OriginShield) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-originshield.html +type Distribution_OriginShield struct { + + // Enabled AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-originshield.html#cfn-cloudfront-distribution-originshield-enabled + Enabled bool `json:"Enabled"` + + // OriginShieldRegion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-originshield.html#cfn-cloudfront-distribution-originshield-originshieldregion + OriginShieldRegion string `json:"OriginShieldRegion,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Distribution_OriginShield) AWSCloudFormationType() string { + return "AWS::CloudFront::Distribution.OriginShield" +} diff --git a/cloudformation/ec2/aws-ec2-route.go b/cloudformation/ec2/aws-ec2-route.go index d7c9d43eee..6862aff5b2 100644 --- a/cloudformation/ec2/aws-ec2-route.go +++ b/cloudformation/ec2/aws-ec2-route.go @@ -12,6 +12,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html type Route struct { + // CarrierGatewayId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-carriergatewayid + CarrierGatewayId string `json:"CarrierGatewayId,omitempty"` + // DestinationCidrBlock AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-destinationcidrblock @@ -37,6 +42,11 @@ type Route struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-instanceid InstanceId string `json:"InstanceId,omitempty"` + // LocalGatewayId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-localgatewayid + LocalGatewayId string `json:"LocalGatewayId,omitempty"` + // NatGatewayId AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-natgatewayid @@ -57,6 +67,11 @@ type Route struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-transitgatewayid TransitGatewayId string `json:"TransitGatewayId,omitempty"` + // VpcEndpointId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-vpcendpointid + VpcEndpointId string `json:"VpcEndpointId,omitempty"` + // VpcPeeringConnectionId AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-vpcpeeringconnectionid diff --git a/cloudformation/ec2/aws-ec2-subnet.go b/cloudformation/ec2/aws-ec2-subnet.go index 287f1ac5de..c6f6c64dfd 100644 --- a/cloudformation/ec2/aws-ec2-subnet.go +++ b/cloudformation/ec2/aws-ec2-subnet.go @@ -38,6 +38,11 @@ type Subnet struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#cfn-ec2-subnet-mappubliciponlaunch MapPublicIpOnLaunch bool `json:"MapPublicIpOnLaunch,omitempty"` + // OutpostArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#cfn-ec2-subnet-outpostarn + OutpostArn string `json:"OutpostArn,omitempty"` + // Tags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#cfn-ec2-subnet-tags diff --git a/cloudformation/elasticache/aws-elasticache-replicationgroup.go b/cloudformation/elasticache/aws-elasticache-replicationgroup.go index b248d37ebe..e4bc0c4a49 100644 --- a/cloudformation/elasticache/aws-elasticache-replicationgroup.go +++ b/cloudformation/elasticache/aws-elasticache-replicationgroup.go @@ -63,6 +63,11 @@ type ReplicationGroup struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-engineversion EngineVersion string `json:"EngineVersion,omitempty"` + // GlobalReplicationGroupId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-globalreplicationgroupid + GlobalReplicationGroupId string `json:"GlobalReplicationGroupId,omitempty"` + // KmsKeyId AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-kmskeyid diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener.go index f43bf028e3..ef0b68b0b1 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener.go @@ -33,12 +33,12 @@ type Listener struct { LoadBalancerArn string `json:"LoadBalancerArn,omitempty"` // Port AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listener.html#cfn-elasticloadbalancingv2-listener-port - Port int `json:"Port"` + Port int `json:"Port,omitempty"` // Protocol AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listener.html#cfn-elasticloadbalancingv2-listener-protocol Protocol string `json:"Protocol,omitempty"` diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-loadbalancer_subnetmapping.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-loadbalancer_subnetmapping.go index 84901f5fab..6c87f0c345 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-loadbalancer_subnetmapping.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-loadbalancer_subnetmapping.go @@ -13,6 +13,11 @@ type LoadBalancer_SubnetMapping struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-loadbalancer-subnetmapping.html#cfn-elasticloadbalancingv2-loadbalancer-subnetmapping-allocationid AllocationId string `json:"AllocationId,omitempty"` + // IPv6Address AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-loadbalancer-subnetmapping.html#cfn-elasticloadbalancingv2-loadbalancer-subnetmapping-ipv6address + IPv6Address string `json:"IPv6Address,omitempty"` + // PrivateIPv4Address AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-loadbalancer-subnetmapping.html#cfn-elasticloadbalancingv2-loadbalancer-subnetmapping-privateipv4address diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-targetgroup_matcher.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-targetgroup_matcher.go index 31ca47e891..58aa3062d5 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-targetgroup_matcher.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-targetgroup_matcher.go @@ -9,7 +9,7 @@ import ( type TargetGroup_Matcher struct { // HttpCode AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-targetgroup-matcher.html#cfn-elasticloadbalancingv2-targetgroup-matcher-httpcode HttpCode string `json:"HttpCode,omitempty"` diff --git a/cloudformation/elasticsearch/aws-elasticsearch-domain_elasticsearchclusterconfig.go b/cloudformation/elasticsearch/aws-elasticsearch-domain_elasticsearchclusterconfig.go index 4a553a54e6..52ab1a80c4 100644 --- a/cloudformation/elasticsearch/aws-elasticsearch-domain_elasticsearchclusterconfig.go +++ b/cloudformation/elasticsearch/aws-elasticsearch-domain_elasticsearchclusterconfig.go @@ -33,6 +33,21 @@ type Domain_ElasticsearchClusterConfig struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-elasticsearchclusterconfig.html#cfn-elasticsearch-domain-elasticseachclusterconfig-instnacetype InstanceType string `json:"InstanceType,omitempty"` + // WarmCount AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-elasticsearchclusterconfig.html#cfn-elasticsearch-domain-elasticsearchclusterconfig-warmcount + WarmCount int `json:"WarmCount,omitempty"` + + // WarmEnabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-elasticsearchclusterconfig.html#cfn-elasticsearch-domain-elasticsearchclusterconfig-warmenabled + WarmEnabled bool `json:"WarmEnabled,omitempty"` + + // WarmType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-elasticsearchclusterconfig.html#cfn-elasticsearch-domain-elasticsearchclusterconfig-warmtype + WarmType string `json:"WarmType,omitempty"` + // ZoneAwarenessConfig AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-elasticsearchclusterconfig.html#cfn-elasticsearch-domain-elasticsearchclusterconfig-zoneawarenessconfig diff --git a/cloudformation/emr/aws-emr-cluster.go b/cloudformation/emr/aws-emr-cluster.go index 428d98ebbf..9f6db4a8d1 100644 --- a/cloudformation/emr/aws-emr-cluster.go +++ b/cloudformation/emr/aws-emr-cluster.go @@ -63,11 +63,21 @@ type Cluster struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-kerberosattributes KerberosAttributes *Cluster_KerberosAttributes `json:"KerberosAttributes,omitempty"` + // LogEncryptionKmsKeyId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-logencryptionkmskeyid + LogEncryptionKmsKeyId string `json:"LogEncryptionKmsKeyId,omitempty"` + // LogUri AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-loguri LogUri string `json:"LogUri,omitempty"` + // ManagedScalingPolicy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-managedscalingpolicy + ManagedScalingPolicy *Cluster_ManagedScalingPolicy `json:"ManagedScalingPolicy,omitempty"` + // Name AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-name @@ -93,6 +103,11 @@ type Cluster struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-servicerole ServiceRole string `json:"ServiceRole,omitempty"` + // StepConcurrencyLevel AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-stepconcurrencylevel + StepConcurrencyLevel int `json:"StepConcurrencyLevel,omitempty"` + // Steps AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-steps diff --git a/cloudformation/emr/aws-emr-cluster_computelimits.go b/cloudformation/emr/aws-emr-cluster_computelimits.go new file mode 100644 index 0000000000..e1d5f1c543 --- /dev/null +++ b/cloudformation/emr/aws-emr-cluster_computelimits.go @@ -0,0 +1,55 @@ +package emr + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Cluster_ComputeLimits AWS CloudFormation Resource (AWS::EMR::Cluster.ComputeLimits) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-computelimits.html +type Cluster_ComputeLimits struct { + + // MaximumCapacityUnits AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-computelimits.html#cfn-elasticmapreduce-cluster-computelimits-maximumcapacityunits + MaximumCapacityUnits int `json:"MaximumCapacityUnits"` + + // MaximumCoreCapacityUnits AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-computelimits.html#cfn-elasticmapreduce-cluster-computelimits-maximumcorecapacityunits + MaximumCoreCapacityUnits int `json:"MaximumCoreCapacityUnits,omitempty"` + + // MaximumOnDemandCapacityUnits AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-computelimits.html#cfn-elasticmapreduce-cluster-computelimits-maximumondemandcapacityunits + MaximumOnDemandCapacityUnits int `json:"MaximumOnDemandCapacityUnits,omitempty"` + + // MinimumCapacityUnits AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-computelimits.html#cfn-elasticmapreduce-cluster-computelimits-minimumcapacityunits + MinimumCapacityUnits int `json:"MinimumCapacityUnits"` + + // UnitType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-computelimits.html#cfn-elasticmapreduce-cluster-computelimits-unittype + UnitType string `json:"UnitType,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Cluster_ComputeLimits) AWSCloudFormationType() string { + return "AWS::EMR::Cluster.ComputeLimits" +} diff --git a/cloudformation/emr/aws-emr-cluster_instancefleetprovisioningspecifications.go b/cloudformation/emr/aws-emr-cluster_instancefleetprovisioningspecifications.go index 5f94e7187f..2a7cb3d32e 100644 --- a/cloudformation/emr/aws-emr-cluster_instancefleetprovisioningspecifications.go +++ b/cloudformation/emr/aws-emr-cluster_instancefleetprovisioningspecifications.go @@ -8,8 +8,13 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancefleetprovisioningspecifications.html type Cluster_InstanceFleetProvisioningSpecifications struct { + // OnDemandSpecification AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancefleetprovisioningspecifications.html#cfn-elasticmapreduce-cluster-instancefleetprovisioningspecifications-ondemandspecification + OnDemandSpecification *Cluster_OnDemandProvisioningSpecification `json:"OnDemandSpecification,omitempty"` + // SpotSpecification AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancefleetprovisioningspecifications.html#cfn-elasticmapreduce-cluster-instancefleetprovisioningspecifications-spotspecification SpotSpecification *Cluster_SpotProvisioningSpecification `json:"SpotSpecification,omitempty"` diff --git a/cloudformation/emr/aws-emr-cluster_managedscalingpolicy.go b/cloudformation/emr/aws-emr-cluster_managedscalingpolicy.go new file mode 100644 index 0000000000..1714663fd6 --- /dev/null +++ b/cloudformation/emr/aws-emr-cluster_managedscalingpolicy.go @@ -0,0 +1,35 @@ +package emr + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Cluster_ManagedScalingPolicy AWS CloudFormation Resource (AWS::EMR::Cluster.ManagedScalingPolicy) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-managedscalingpolicy.html +type Cluster_ManagedScalingPolicy struct { + + // ComputeLimits AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-managedscalingpolicy.html#cfn-elasticmapreduce-cluster-managedscalingpolicy-computelimits + ComputeLimits *Cluster_ComputeLimits `json:"ComputeLimits,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Cluster_ManagedScalingPolicy) AWSCloudFormationType() string { + return "AWS::EMR::Cluster.ManagedScalingPolicy" +} diff --git a/cloudformation/emr/aws-emr-cluster_ondemandprovisioningspecification.go b/cloudformation/emr/aws-emr-cluster_ondemandprovisioningspecification.go new file mode 100644 index 0000000000..dcec9ed026 --- /dev/null +++ b/cloudformation/emr/aws-emr-cluster_ondemandprovisioningspecification.go @@ -0,0 +1,35 @@ +package emr + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Cluster_OnDemandProvisioningSpecification AWS CloudFormation Resource (AWS::EMR::Cluster.OnDemandProvisioningSpecification) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-ondemandprovisioningspecification.html +type Cluster_OnDemandProvisioningSpecification struct { + + // AllocationStrategy AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-ondemandprovisioningspecification.html#cfn-elasticmapreduce-cluster-ondemandprovisioningspecification-allocationstrategy + AllocationStrategy string `json:"AllocationStrategy,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Cluster_OnDemandProvisioningSpecification) AWSCloudFormationType() string { + return "AWS::EMR::Cluster.OnDemandProvisioningSpecification" +} diff --git a/cloudformation/emr/aws-emr-cluster_spotprovisioningspecification.go b/cloudformation/emr/aws-emr-cluster_spotprovisioningspecification.go index ae4139a24f..f373285b9d 100644 --- a/cloudformation/emr/aws-emr-cluster_spotprovisioningspecification.go +++ b/cloudformation/emr/aws-emr-cluster_spotprovisioningspecification.go @@ -8,6 +8,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-spotprovisioningspecification.html type Cluster_SpotProvisioningSpecification struct { + // AllocationStrategy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-spotprovisioningspecification.html#cfn-elasticmapreduce-cluster-spotprovisioningspecification-allocationstrategy + AllocationStrategy string `json:"AllocationStrategy,omitempty"` + // BlockDurationMinutes AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-spotprovisioningspecification.html#cfn-elasticmapreduce-cluster-spotprovisioningspecification-blockdurationminutes diff --git a/cloudformation/emr/aws-emr-instancefleetconfig_instancefleetprovisioningspecifications.go b/cloudformation/emr/aws-emr-instancefleetconfig_instancefleetprovisioningspecifications.go index 4886bd2411..ceb925809f 100644 --- a/cloudformation/emr/aws-emr-instancefleetconfig_instancefleetprovisioningspecifications.go +++ b/cloudformation/emr/aws-emr-instancefleetconfig_instancefleetprovisioningspecifications.go @@ -8,8 +8,13 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-instancefleetprovisioningspecifications.html type InstanceFleetConfig_InstanceFleetProvisioningSpecifications struct { + // OnDemandSpecification AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-instancefleetprovisioningspecifications.html#cfn-elasticmapreduce-instancefleetconfig-instancefleetprovisioningspecifications-ondemandspecification + OnDemandSpecification *InstanceFleetConfig_OnDemandProvisioningSpecification `json:"OnDemandSpecification,omitempty"` + // SpotSpecification AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-instancefleetprovisioningspecifications.html#cfn-elasticmapreduce-instancefleetconfig-instancefleetprovisioningspecifications-spotspecification SpotSpecification *InstanceFleetConfig_SpotProvisioningSpecification `json:"SpotSpecification,omitempty"` diff --git a/cloudformation/emr/aws-emr-instancefleetconfig_ondemandprovisioningspecification.go b/cloudformation/emr/aws-emr-instancefleetconfig_ondemandprovisioningspecification.go new file mode 100644 index 0000000000..fd87837140 --- /dev/null +++ b/cloudformation/emr/aws-emr-instancefleetconfig_ondemandprovisioningspecification.go @@ -0,0 +1,35 @@ +package emr + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// InstanceFleetConfig_OnDemandProvisioningSpecification AWS CloudFormation Resource (AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-ondemandprovisioningspecification.html +type InstanceFleetConfig_OnDemandProvisioningSpecification struct { + + // AllocationStrategy AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-ondemandprovisioningspecification.html#cfn-elasticmapreduce-instancefleetconfig-ondemandprovisioningspecification-allocationstrategy + AllocationStrategy string `json:"AllocationStrategy,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *InstanceFleetConfig_OnDemandProvisioningSpecification) AWSCloudFormationType() string { + return "AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification" +} diff --git a/cloudformation/emr/aws-emr-instancefleetconfig_spotprovisioningspecification.go b/cloudformation/emr/aws-emr-instancefleetconfig_spotprovisioningspecification.go index faa41e4fc0..2066652670 100644 --- a/cloudformation/emr/aws-emr-instancefleetconfig_spotprovisioningspecification.go +++ b/cloudformation/emr/aws-emr-instancefleetconfig_spotprovisioningspecification.go @@ -8,6 +8,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-spotprovisioningspecification.html type InstanceFleetConfig_SpotProvisioningSpecification struct { + // AllocationStrategy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-spotprovisioningspecification.html#cfn-elasticmapreduce-instancefleetconfig-spotprovisioningspecification-allocationstrategy + AllocationStrategy string `json:"AllocationStrategy,omitempty"` + // BlockDurationMinutes AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-spotprovisioningspecification.html#cfn-elasticmapreduce-instancefleetconfig-spotprovisioningspecification-blockdurationminutes diff --git a/cloudformation/events/aws-events-rule_deadletterconfig.go b/cloudformation/events/aws-events-rule_deadletterconfig.go new file mode 100644 index 0000000000..b08fce55bf --- /dev/null +++ b/cloudformation/events/aws-events-rule_deadletterconfig.go @@ -0,0 +1,35 @@ +package events + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Rule_DeadLetterConfig AWS CloudFormation Resource (AWS::Events::Rule.DeadLetterConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-deadletterconfig.html +type Rule_DeadLetterConfig struct { + + // Arn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-deadletterconfig.html#cfn-events-rule-deadletterconfig-arn + Arn string `json:"Arn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Rule_DeadLetterConfig) AWSCloudFormationType() string { + return "AWS::Events::Rule.DeadLetterConfig" +} diff --git a/cloudformation/events/aws-events-rule_redshiftdataparameters.go b/cloudformation/events/aws-events-rule_redshiftdataparameters.go new file mode 100644 index 0000000000..f269efaa63 --- /dev/null +++ b/cloudformation/events/aws-events-rule_redshiftdataparameters.go @@ -0,0 +1,60 @@ +package events + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Rule_RedshiftDataParameters AWS CloudFormation Resource (AWS::Events::Rule.RedshiftDataParameters) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-redshiftdataparameters.html +type Rule_RedshiftDataParameters struct { + + // Database AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-redshiftdataparameters.html#cfn-events-rule-redshiftdataparameters-database + Database string `json:"Database,omitempty"` + + // DbUser AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-redshiftdataparameters.html#cfn-events-rule-redshiftdataparameters-dbuser + DbUser string `json:"DbUser,omitempty"` + + // SecretManagerArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-redshiftdataparameters.html#cfn-events-rule-redshiftdataparameters-secretmanagerarn + SecretManagerArn string `json:"SecretManagerArn,omitempty"` + + // Sql AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-redshiftdataparameters.html#cfn-events-rule-redshiftdataparameters-sql + Sql string `json:"Sql,omitempty"` + + // StatementName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-redshiftdataparameters.html#cfn-events-rule-redshiftdataparameters-statementname + StatementName string `json:"StatementName,omitempty"` + + // WithEvent AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-redshiftdataparameters.html#cfn-events-rule-redshiftdataparameters-withevent + WithEvent bool `json:"WithEvent,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Rule_RedshiftDataParameters) AWSCloudFormationType() string { + return "AWS::Events::Rule.RedshiftDataParameters" +} diff --git a/cloudformation/events/aws-events-rule_retrypolicy.go b/cloudformation/events/aws-events-rule_retrypolicy.go new file mode 100644 index 0000000000..d70a1c3a3b --- /dev/null +++ b/cloudformation/events/aws-events-rule_retrypolicy.go @@ -0,0 +1,40 @@ +package events + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Rule_RetryPolicy AWS CloudFormation Resource (AWS::Events::Rule.RetryPolicy) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-retrypolicy.html +type Rule_RetryPolicy struct { + + // MaximumEventAgeInSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-retrypolicy.html#cfn-events-rule-retrypolicy-maximumeventageinseconds + MaximumEventAgeInSeconds int `json:"MaximumEventAgeInSeconds,omitempty"` + + // MaximumRetryAttempts AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-retrypolicy.html#cfn-events-rule-retrypolicy-maximumretryattempts + MaximumRetryAttempts int `json:"MaximumRetryAttempts,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Rule_RetryPolicy) AWSCloudFormationType() string { + return "AWS::Events::Rule.RetryPolicy" +} diff --git a/cloudformation/events/aws-events-rule_target.go b/cloudformation/events/aws-events-rule_target.go index 9bf42ff368..3b28285daf 100644 --- a/cloudformation/events/aws-events-rule_target.go +++ b/cloudformation/events/aws-events-rule_target.go @@ -18,6 +18,11 @@ type Rule_Target struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-batchparameters BatchParameters *Rule_BatchParameters `json:"BatchParameters,omitempty"` + // DeadLetterConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-deadletterconfig + DeadLetterConfig *Rule_DeadLetterConfig `json:"DeadLetterConfig,omitempty"` + // EcsParameters AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-ecsparameters @@ -53,6 +58,16 @@ type Rule_Target struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-kinesisparameters KinesisParameters *Rule_KinesisParameters `json:"KinesisParameters,omitempty"` + // RedshiftDataParameters AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-redshiftdataparameters + RedshiftDataParameters *Rule_RedshiftDataParameters `json:"RedshiftDataParameters,omitempty"` + + // RetryPolicy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-retrypolicy + RetryPolicy *Rule_RetryPolicy `json:"RetryPolicy,omitempty"` + // RoleArn AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-rolearn diff --git a/cloudformation/gamelift/aws-gamelift-matchmakingconfiguration.go b/cloudformation/gamelift/aws-gamelift-matchmakingconfiguration.go index 4327aefe7e..3b6b55317e 100644 --- a/cloudformation/gamelift/aws-gamelift-matchmakingconfiguration.go +++ b/cloudformation/gamelift/aws-gamelift-matchmakingconfiguration.go @@ -42,6 +42,11 @@ type MatchmakingConfiguration struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-description Description string `json:"Description,omitempty"` + // FlexMatchMode AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-flexmatchmode + FlexMatchMode string `json:"FlexMatchMode,omitempty"` + // GameProperties AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-gameproperties @@ -53,7 +58,7 @@ type MatchmakingConfiguration struct { GameSessionData string `json:"GameSessionData,omitempty"` // GameSessionQueueArns AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-gamesessionqueuearns GameSessionQueueArns []string `json:"GameSessionQueueArns,omitempty"` diff --git a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream.go b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream.go index c7327201c8..da735dbcdd 100644 --- a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream.go +++ b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream.go @@ -6,12 +6,18 @@ import ( "fmt" "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" ) // DeliveryStream AWS CloudFormation Resource (AWS::KinesisFirehose::DeliveryStream) // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html type DeliveryStream struct { + // DeliveryStreamEncryptionConfigurationInput AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html#cfn-kinesisfirehose-deliverystream-deliverystreamencryptionconfigurationinput + DeliveryStreamEncryptionConfigurationInput *DeliveryStream_DeliveryStreamEncryptionConfigurationInput `json:"DeliveryStreamEncryptionConfigurationInput,omitempty"` + // DeliveryStreamName AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html#cfn-kinesisfirehose-deliverystream-deliverystreamname @@ -57,6 +63,11 @@ type DeliveryStream struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html#cfn-kinesisfirehose-deliverystream-splunkdestinationconfiguration SplunkDestinationConfiguration *DeliveryStream_SplunkDestinationConfiguration `json:"SplunkDestinationConfiguration,omitempty"` + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html#cfn-kinesisfirehose-deliverystream-tags + Tags []tags.Tag `json:"Tags,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_deliverystreamencryptionconfigurationinput.go b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_deliverystreamencryptionconfigurationinput.go new file mode 100644 index 0000000000..5feb61596b --- /dev/null +++ b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_deliverystreamencryptionconfigurationinput.go @@ -0,0 +1,40 @@ +package kinesisfirehose + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DeliveryStream_DeliveryStreamEncryptionConfigurationInput AWS CloudFormation Resource (AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-deliverystreamencryptionconfigurationinput.html +type DeliveryStream_DeliveryStreamEncryptionConfigurationInput struct { + + // KeyARN AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-deliverystreamencryptionconfigurationinput.html#cfn-kinesisfirehose-deliverystream-deliverystreamencryptionconfigurationinput-keyarn + KeyARN string `json:"KeyARN,omitempty"` + + // KeyType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-deliverystreamencryptionconfigurationinput.html#cfn-kinesisfirehose-deliverystream-deliverystreamencryptionconfigurationinput-keytype + KeyType string `json:"KeyType,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DeliveryStream_DeliveryStreamEncryptionConfigurationInput) AWSCloudFormationType() string { + return "AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput" +} diff --git a/cloudformation/lambda/aws-lambda-eventsourcemapping.go b/cloudformation/lambda/aws-lambda-eventsourcemapping.go index 8a716fb965..6ca5e2816b 100644 --- a/cloudformation/lambda/aws-lambda-eventsourcemapping.go +++ b/cloudformation/lambda/aws-lambda-eventsourcemapping.go @@ -62,6 +62,16 @@ type EventSourceMapping struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-parallelizationfactor ParallelizationFactor int `json:"ParallelizationFactor,omitempty"` + // Queues AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-queues + Queues []string `json:"Queues,omitempty"` + + // SourceAccessConfigurations AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-sourceaccessconfigurations + SourceAccessConfigurations []EventSourceMapping_SourceAccessConfiguration `json:"SourceAccessConfigurations,omitempty"` + // StartingPosition AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-startingposition diff --git a/cloudformation/lambda/aws-lambda-eventsourcemapping_sourceaccessconfiguration.go b/cloudformation/lambda/aws-lambda-eventsourcemapping_sourceaccessconfiguration.go new file mode 100644 index 0000000000..c5335c860f --- /dev/null +++ b/cloudformation/lambda/aws-lambda-eventsourcemapping_sourceaccessconfiguration.go @@ -0,0 +1,40 @@ +package lambda + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// EventSourceMapping_SourceAccessConfiguration AWS CloudFormation Resource (AWS::Lambda::EventSourceMapping.SourceAccessConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-sourceaccessconfiguration.html +type EventSourceMapping_SourceAccessConfiguration struct { + + // Type AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-sourceaccessconfiguration.html#cfn-lambda-eventsourcemapping-sourceaccessconfiguration-type + Type string `json:"Type,omitempty"` + + // URI AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-sourceaccessconfiguration.html#cfn-lambda-eventsourcemapping-sourceaccessconfiguration-uri + URI string `json:"URI,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *EventSourceMapping_SourceAccessConfiguration) AWSCloudFormationType() string { + return "AWS::Lambda::EventSourceMapping.SourceAccessConfiguration" +} diff --git a/cloudformation/logs/aws-logs-loggroup.go b/cloudformation/logs/aws-logs-loggroup.go index ab3c8d05b1..c887b3e5c4 100644 --- a/cloudformation/logs/aws-logs-loggroup.go +++ b/cloudformation/logs/aws-logs-loggroup.go @@ -12,14 +12,19 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html type LogGroup struct { + // KmsKeyId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html#cfn-logs-loggroup-kmskeyid + KmsKeyId string `json:"KmsKeyId,omitempty"` + // LogGroupName AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html#cfn-cwl-loggroup-loggroupname + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html#cfn-logs-loggroup-loggroupname LogGroupName string `json:"LogGroupName,omitempty"` // RetentionInDays AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html#cfn-cwl-loggroup-retentionindays + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html#cfn-logs-loggroup-retentionindays RetentionInDays int `json:"RetentionInDays,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy diff --git a/cloudformation/mediapackage/aws-mediapackage-asset.go b/cloudformation/mediapackage/aws-mediapackage-asset.go new file mode 100644 index 0000000000..1435e5d47f --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-asset.go @@ -0,0 +1,137 @@ +package mediapackage + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// Asset AWS CloudFormation Resource (AWS::MediaPackage::Asset) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-asset.html +type Asset struct { + + // EgressEndpoints AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-asset.html#cfn-mediapackage-asset-egressendpoints + EgressEndpoints []Asset_EgressEndpoint `json:"EgressEndpoints,omitempty"` + + // Id AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-asset.html#cfn-mediapackage-asset-id + Id string `json:"Id,omitempty"` + + // PackagingGroupId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-asset.html#cfn-mediapackage-asset-packaginggroupid + PackagingGroupId string `json:"PackagingGroupId,omitempty"` + + // ResourceId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-asset.html#cfn-mediapackage-asset-resourceid + ResourceId string `json:"ResourceId,omitempty"` + + // SourceArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-asset.html#cfn-mediapackage-asset-sourcearn + SourceArn string `json:"SourceArn,omitempty"` + + // SourceRoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-asset.html#cfn-mediapackage-asset-sourcerolearn + SourceRoleArn string `json:"SourceRoleArn,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-asset.html#cfn-mediapackage-asset-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Asset) AWSCloudFormationType() string { + return "AWS::MediaPackage::Asset" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r Asset) MarshalJSON() ([]byte, error) { + type Properties Asset + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *Asset) UnmarshalJSON(b []byte) error { + type Properties Asset + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = Asset(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/mediapackage/aws-mediapackage-asset_egressendpoint.go b/cloudformation/mediapackage/aws-mediapackage-asset_egressendpoint.go new file mode 100644 index 0000000000..cec4039073 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-asset_egressendpoint.go @@ -0,0 +1,40 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Asset_EgressEndpoint AWS CloudFormation Resource (AWS::MediaPackage::Asset.EgressEndpoint) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-asset-egressendpoint.html +type Asset_EgressEndpoint struct { + + // PackagingConfigurationId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-asset-egressendpoint.html#cfn-mediapackage-asset-egressendpoint-packagingconfigurationid + PackagingConfigurationId string `json:"PackagingConfigurationId,omitempty"` + + // Url AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-asset-egressendpoint.html#cfn-mediapackage-asset-egressendpoint-url + Url string `json:"Url,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Asset_EgressEndpoint) AWSCloudFormationType() string { + return "AWS::MediaPackage::Asset.EgressEndpoint" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-channel.go b/cloudformation/mediapackage/aws-mediapackage-channel.go new file mode 100644 index 0000000000..9a3c1901fa --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-channel.go @@ -0,0 +1,117 @@ +package mediapackage + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// Channel AWS CloudFormation Resource (AWS::MediaPackage::Channel) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-channel.html +type Channel struct { + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-channel.html#cfn-mediapackage-channel-description + Description string `json:"Description,omitempty"` + + // Id AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-channel.html#cfn-mediapackage-channel-id + Id string `json:"Id,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-channel.html#cfn-mediapackage-channel-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Channel) AWSCloudFormationType() string { + return "AWS::MediaPackage::Channel" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r Channel) MarshalJSON() ([]byte, error) { + type Properties Channel + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *Channel) UnmarshalJSON(b []byte) error { + type Properties Channel + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = Channel(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/mediapackage/aws-mediapackage-channel_hlsingest.go b/cloudformation/mediapackage/aws-mediapackage-channel_hlsingest.go new file mode 100644 index 0000000000..d7af1eaa46 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-channel_hlsingest.go @@ -0,0 +1,35 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Channel_HlsIngest AWS CloudFormation Resource (AWS::MediaPackage::Channel.HlsIngest) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-channel-hlsingest.html +type Channel_HlsIngest struct { + + // ingestEndpoints AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-channel-hlsingest.html#cfn-mediapackage-channel-hlsingest-ingestendpoints + ingestEndpoints []Channel_IngestEndpoint `json:"ingestEndpoints,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Channel_HlsIngest) AWSCloudFormationType() string { + return "AWS::MediaPackage::Channel.HlsIngest" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-channel_ingestendpoint.go b/cloudformation/mediapackage/aws-mediapackage-channel_ingestendpoint.go new file mode 100644 index 0000000000..bd2dd2f69d --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-channel_ingestendpoint.go @@ -0,0 +1,50 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Channel_IngestEndpoint AWS CloudFormation Resource (AWS::MediaPackage::Channel.IngestEndpoint) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-channel-ingestendpoint.html +type Channel_IngestEndpoint struct { + + // Id AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-channel-ingestendpoint.html#cfn-mediapackage-channel-ingestendpoint-id + Id string `json:"Id,omitempty"` + + // Password AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-channel-ingestendpoint.html#cfn-mediapackage-channel-ingestendpoint-password + Password string `json:"Password,omitempty"` + + // Url AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-channel-ingestendpoint.html#cfn-mediapackage-channel-ingestendpoint-url + Url string `json:"Url,omitempty"` + + // Username AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-channel-ingestendpoint.html#cfn-mediapackage-channel-ingestendpoint-username + Username string `json:"Username,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Channel_IngestEndpoint) AWSCloudFormationType() string { + return "AWS::MediaPackage::Channel.IngestEndpoint" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-originendpoint.go b/cloudformation/mediapackage/aws-mediapackage-originendpoint.go new file mode 100644 index 0000000000..44913477e9 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-originendpoint.go @@ -0,0 +1,172 @@ +package mediapackage + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// OriginEndpoint AWS CloudFormation Resource (AWS::MediaPackage::OriginEndpoint) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html +type OriginEndpoint struct { + + // Authorization AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html#cfn-mediapackage-originendpoint-authorization + Authorization *OriginEndpoint_Authorization `json:"Authorization,omitempty"` + + // ChannelId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html#cfn-mediapackage-originendpoint-channelid + ChannelId string `json:"ChannelId,omitempty"` + + // CmafPackage AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html#cfn-mediapackage-originendpoint-cmafpackage + CmafPackage *OriginEndpoint_CmafPackage `json:"CmafPackage,omitempty"` + + // DashPackage AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html#cfn-mediapackage-originendpoint-dashpackage + DashPackage *OriginEndpoint_DashPackage `json:"DashPackage,omitempty"` + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html#cfn-mediapackage-originendpoint-description + Description string `json:"Description,omitempty"` + + // HlsPackage AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html#cfn-mediapackage-originendpoint-hlspackage + HlsPackage *OriginEndpoint_HlsPackage `json:"HlsPackage,omitempty"` + + // Id AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html#cfn-mediapackage-originendpoint-id + Id string `json:"Id,omitempty"` + + // ManifestName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html#cfn-mediapackage-originendpoint-manifestname + ManifestName string `json:"ManifestName,omitempty"` + + // MssPackage AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html#cfn-mediapackage-originendpoint-msspackage + MssPackage *OriginEndpoint_MssPackage `json:"MssPackage,omitempty"` + + // Origination AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html#cfn-mediapackage-originendpoint-origination + Origination string `json:"Origination,omitempty"` + + // StartoverWindowSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html#cfn-mediapackage-originendpoint-startoverwindowseconds + StartoverWindowSeconds int `json:"StartoverWindowSeconds,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html#cfn-mediapackage-originendpoint-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // TimeDelaySeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html#cfn-mediapackage-originendpoint-timedelayseconds + TimeDelaySeconds int `json:"TimeDelaySeconds,omitempty"` + + // Whitelist AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html#cfn-mediapackage-originendpoint-whitelist + Whitelist []string `json:"Whitelist,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *OriginEndpoint) AWSCloudFormationType() string { + return "AWS::MediaPackage::OriginEndpoint" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r OriginEndpoint) MarshalJSON() ([]byte, error) { + type Properties OriginEndpoint + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *OriginEndpoint) UnmarshalJSON(b []byte) error { + type Properties OriginEndpoint + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = OriginEndpoint(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/mediapackage/aws-mediapackage-originendpoint_adtriggers.go b/cloudformation/mediapackage/aws-mediapackage-originendpoint_adtriggers.go new file mode 100644 index 0000000000..f9992713d2 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-originendpoint_adtriggers.go @@ -0,0 +1,35 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// OriginEndpoint_AdTriggers AWS CloudFormation Resource (AWS::MediaPackage::OriginEndpoint.AdTriggers) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-adtriggers.html +type OriginEndpoint_AdTriggers struct { + + // AdTriggers AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-adtriggers.html#cfn-mediapackage-originendpoint-adtriggers-adtriggers + AdTriggers []string `json:"AdTriggers,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *OriginEndpoint_AdTriggers) AWSCloudFormationType() string { + return "AWS::MediaPackage::OriginEndpoint.AdTriggers" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-originendpoint_authorization.go b/cloudformation/mediapackage/aws-mediapackage-originendpoint_authorization.go new file mode 100644 index 0000000000..38734293d5 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-originendpoint_authorization.go @@ -0,0 +1,40 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// OriginEndpoint_Authorization AWS CloudFormation Resource (AWS::MediaPackage::OriginEndpoint.Authorization) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-authorization.html +type OriginEndpoint_Authorization struct { + + // CdnIdentifierSecret AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-authorization.html#cfn-mediapackage-originendpoint-authorization-cdnidentifiersecret + CdnIdentifierSecret string `json:"CdnIdentifierSecret,omitempty"` + + // SecretsRoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-authorization.html#cfn-mediapackage-originendpoint-authorization-secretsrolearn + SecretsRoleArn string `json:"SecretsRoleArn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *OriginEndpoint_Authorization) AWSCloudFormationType() string { + return "AWS::MediaPackage::OriginEndpoint.Authorization" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-originendpoint_cmafencryption.go b/cloudformation/mediapackage/aws-mediapackage-originendpoint_cmafencryption.go new file mode 100644 index 0000000000..1920609b06 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-originendpoint_cmafencryption.go @@ -0,0 +1,40 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// OriginEndpoint_CmafEncryption AWS CloudFormation Resource (AWS::MediaPackage::OriginEndpoint.CmafEncryption) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-cmafencryption.html +type OriginEndpoint_CmafEncryption struct { + + // KeyRotationIntervalSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-cmafencryption.html#cfn-mediapackage-originendpoint-cmafencryption-keyrotationintervalseconds + KeyRotationIntervalSeconds int `json:"KeyRotationIntervalSeconds,omitempty"` + + // SpekeKeyProvider AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-cmafencryption.html#cfn-mediapackage-originendpoint-cmafencryption-spekekeyprovider + SpekeKeyProvider *OriginEndpoint_SpekeKeyProvider `json:"SpekeKeyProvider,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *OriginEndpoint_CmafEncryption) AWSCloudFormationType() string { + return "AWS::MediaPackage::OriginEndpoint.CmafEncryption" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-originendpoint_cmafpackage.go b/cloudformation/mediapackage/aws-mediapackage-originendpoint_cmafpackage.go new file mode 100644 index 0000000000..953f6fe5aa --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-originendpoint_cmafpackage.go @@ -0,0 +1,55 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// OriginEndpoint_CmafPackage AWS CloudFormation Resource (AWS::MediaPackage::OriginEndpoint.CmafPackage) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-cmafpackage.html +type OriginEndpoint_CmafPackage struct { + + // Encryption AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-cmafpackage.html#cfn-mediapackage-originendpoint-cmafpackage-encryption + Encryption *OriginEndpoint_CmafEncryption `json:"Encryption,omitempty"` + + // HlsManifests AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-cmafpackage.html#cfn-mediapackage-originendpoint-cmafpackage-hlsmanifests + HlsManifests []OriginEndpoint_HlsManifest `json:"HlsManifests,omitempty"` + + // SegmentDurationSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-cmafpackage.html#cfn-mediapackage-originendpoint-cmafpackage-segmentdurationseconds + SegmentDurationSeconds int `json:"SegmentDurationSeconds,omitempty"` + + // SegmentPrefix AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-cmafpackage.html#cfn-mediapackage-originendpoint-cmafpackage-segmentprefix + SegmentPrefix string `json:"SegmentPrefix,omitempty"` + + // StreamSelection AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-cmafpackage.html#cfn-mediapackage-originendpoint-cmafpackage-streamselection + StreamSelection *OriginEndpoint_StreamSelection `json:"StreamSelection,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *OriginEndpoint_CmafPackage) AWSCloudFormationType() string { + return "AWS::MediaPackage::OriginEndpoint.CmafPackage" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-originendpoint_dashencryption.go b/cloudformation/mediapackage/aws-mediapackage-originendpoint_dashencryption.go new file mode 100644 index 0000000000..2e134d7aa8 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-originendpoint_dashencryption.go @@ -0,0 +1,40 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// OriginEndpoint_DashEncryption AWS CloudFormation Resource (AWS::MediaPackage::OriginEndpoint.DashEncryption) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashencryption.html +type OriginEndpoint_DashEncryption struct { + + // KeyRotationIntervalSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashencryption.html#cfn-mediapackage-originendpoint-dashencryption-keyrotationintervalseconds + KeyRotationIntervalSeconds int `json:"KeyRotationIntervalSeconds,omitempty"` + + // SpekeKeyProvider AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashencryption.html#cfn-mediapackage-originendpoint-dashencryption-spekekeyprovider + SpekeKeyProvider *OriginEndpoint_SpekeKeyProvider `json:"SpekeKeyProvider,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *OriginEndpoint_DashEncryption) AWSCloudFormationType() string { + return "AWS::MediaPackage::OriginEndpoint.DashEncryption" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-originendpoint_dashpackage.go b/cloudformation/mediapackage/aws-mediapackage-originendpoint_dashpackage.go new file mode 100644 index 0000000000..bfc4af26d6 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-originendpoint_dashpackage.go @@ -0,0 +1,95 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// OriginEndpoint_DashPackage AWS CloudFormation Resource (AWS::MediaPackage::OriginEndpoint.DashPackage) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashpackage.html +type OriginEndpoint_DashPackage struct { + + // AdTriggers AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashpackage.html#cfn-mediapackage-originendpoint-dashpackage-adtriggers + AdTriggers *OriginEndpoint_AdTriggers `json:"AdTriggers,omitempty"` + + // AdsOnDeliveryRestrictions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashpackage.html#cfn-mediapackage-originendpoint-dashpackage-adsondeliveryrestrictions + AdsOnDeliveryRestrictions string `json:"AdsOnDeliveryRestrictions,omitempty"` + + // Encryption AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashpackage.html#cfn-mediapackage-originendpoint-dashpackage-encryption + Encryption *OriginEndpoint_DashEncryption `json:"Encryption,omitempty"` + + // ManifestLayout AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashpackage.html#cfn-mediapackage-originendpoint-dashpackage-manifestlayout + ManifestLayout string `json:"ManifestLayout,omitempty"` + + // ManifestWindowSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashpackage.html#cfn-mediapackage-originendpoint-dashpackage-manifestwindowseconds + ManifestWindowSeconds int `json:"ManifestWindowSeconds,omitempty"` + + // MinBufferTimeSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashpackage.html#cfn-mediapackage-originendpoint-dashpackage-minbuffertimeseconds + MinBufferTimeSeconds int `json:"MinBufferTimeSeconds,omitempty"` + + // MinUpdatePeriodSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashpackage.html#cfn-mediapackage-originendpoint-dashpackage-minupdateperiodseconds + MinUpdatePeriodSeconds int `json:"MinUpdatePeriodSeconds,omitempty"` + + // PeriodTriggers AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashpackage.html#cfn-mediapackage-originendpoint-dashpackage-periodtriggers + PeriodTriggers []string `json:"PeriodTriggers,omitempty"` + + // Profile AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashpackage.html#cfn-mediapackage-originendpoint-dashpackage-profile + Profile string `json:"Profile,omitempty"` + + // SegmentDurationSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashpackage.html#cfn-mediapackage-originendpoint-dashpackage-segmentdurationseconds + SegmentDurationSeconds int `json:"SegmentDurationSeconds,omitempty"` + + // SegmentTemplateFormat AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashpackage.html#cfn-mediapackage-originendpoint-dashpackage-segmenttemplateformat + SegmentTemplateFormat string `json:"SegmentTemplateFormat,omitempty"` + + // StreamSelection AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashpackage.html#cfn-mediapackage-originendpoint-dashpackage-streamselection + StreamSelection *OriginEndpoint_StreamSelection `json:"StreamSelection,omitempty"` + + // SuggestedPresentationDelaySeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashpackage.html#cfn-mediapackage-originendpoint-dashpackage-suggestedpresentationdelayseconds + SuggestedPresentationDelaySeconds int `json:"SuggestedPresentationDelaySeconds,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *OriginEndpoint_DashPackage) AWSCloudFormationType() string { + return "AWS::MediaPackage::OriginEndpoint.DashPackage" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-originendpoint_hlsencryption.go b/cloudformation/mediapackage/aws-mediapackage-originendpoint_hlsencryption.go new file mode 100644 index 0000000000..6fe0daed8f --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-originendpoint_hlsencryption.go @@ -0,0 +1,55 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// OriginEndpoint_HlsEncryption AWS CloudFormation Resource (AWS::MediaPackage::OriginEndpoint.HlsEncryption) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsencryption.html +type OriginEndpoint_HlsEncryption struct { + + // ConstantInitializationVector AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsencryption.html#cfn-mediapackage-originendpoint-hlsencryption-constantinitializationvector + ConstantInitializationVector string `json:"ConstantInitializationVector,omitempty"` + + // EncryptionMethod AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsencryption.html#cfn-mediapackage-originendpoint-hlsencryption-encryptionmethod + EncryptionMethod string `json:"EncryptionMethod,omitempty"` + + // KeyRotationIntervalSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsencryption.html#cfn-mediapackage-originendpoint-hlsencryption-keyrotationintervalseconds + KeyRotationIntervalSeconds int `json:"KeyRotationIntervalSeconds,omitempty"` + + // RepeatExtXKey AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsencryption.html#cfn-mediapackage-originendpoint-hlsencryption-repeatextxkey + RepeatExtXKey bool `json:"RepeatExtXKey,omitempty"` + + // SpekeKeyProvider AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsencryption.html#cfn-mediapackage-originendpoint-hlsencryption-spekekeyprovider + SpekeKeyProvider *OriginEndpoint_SpekeKeyProvider `json:"SpekeKeyProvider,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *OriginEndpoint_HlsEncryption) AWSCloudFormationType() string { + return "AWS::MediaPackage::OriginEndpoint.HlsEncryption" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-originendpoint_hlsmanifest.go b/cloudformation/mediapackage/aws-mediapackage-originendpoint_hlsmanifest.go new file mode 100644 index 0000000000..1e905fd3ba --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-originendpoint_hlsmanifest.go @@ -0,0 +1,80 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// OriginEndpoint_HlsManifest AWS CloudFormation Resource (AWS::MediaPackage::OriginEndpoint.HlsManifest) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsmanifest.html +type OriginEndpoint_HlsManifest struct { + + // AdMarkers AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsmanifest.html#cfn-mediapackage-originendpoint-hlsmanifest-admarkers + AdMarkers string `json:"AdMarkers,omitempty"` + + // AdTriggers AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsmanifest.html#cfn-mediapackage-originendpoint-hlsmanifest-adtriggers + AdTriggers *OriginEndpoint_AdTriggers `json:"AdTriggers,omitempty"` + + // AdsOnDeliveryRestrictions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsmanifest.html#cfn-mediapackage-originendpoint-hlsmanifest-adsondeliveryrestrictions + AdsOnDeliveryRestrictions string `json:"AdsOnDeliveryRestrictions,omitempty"` + + // Id AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsmanifest.html#cfn-mediapackage-originendpoint-hlsmanifest-id + Id string `json:"Id,omitempty"` + + // IncludeIframeOnlyStream AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsmanifest.html#cfn-mediapackage-originendpoint-hlsmanifest-includeiframeonlystream + IncludeIframeOnlyStream bool `json:"IncludeIframeOnlyStream,omitempty"` + + // ManifestName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsmanifest.html#cfn-mediapackage-originendpoint-hlsmanifest-manifestname + ManifestName string `json:"ManifestName,omitempty"` + + // PlaylistType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsmanifest.html#cfn-mediapackage-originendpoint-hlsmanifest-playlisttype + PlaylistType string `json:"PlaylistType,omitempty"` + + // PlaylistWindowSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsmanifest.html#cfn-mediapackage-originendpoint-hlsmanifest-playlistwindowseconds + PlaylistWindowSeconds int `json:"PlaylistWindowSeconds,omitempty"` + + // ProgramDateTimeIntervalSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsmanifest.html#cfn-mediapackage-originendpoint-hlsmanifest-programdatetimeintervalseconds + ProgramDateTimeIntervalSeconds int `json:"ProgramDateTimeIntervalSeconds,omitempty"` + + // Url AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsmanifest.html#cfn-mediapackage-originendpoint-hlsmanifest-url + Url string `json:"Url,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *OriginEndpoint_HlsManifest) AWSCloudFormationType() string { + return "AWS::MediaPackage::OriginEndpoint.HlsManifest" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-originendpoint_hlspackage.go b/cloudformation/mediapackage/aws-mediapackage-originendpoint_hlspackage.go new file mode 100644 index 0000000000..4b4823e2b9 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-originendpoint_hlspackage.go @@ -0,0 +1,85 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// OriginEndpoint_HlsPackage AWS CloudFormation Resource (AWS::MediaPackage::OriginEndpoint.HlsPackage) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlspackage.html +type OriginEndpoint_HlsPackage struct { + + // AdMarkers AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlspackage.html#cfn-mediapackage-originendpoint-hlspackage-admarkers + AdMarkers string `json:"AdMarkers,omitempty"` + + // AdTriggers AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlspackage.html#cfn-mediapackage-originendpoint-hlspackage-adtriggers + AdTriggers *OriginEndpoint_AdTriggers `json:"AdTriggers,omitempty"` + + // AdsOnDeliveryRestrictions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlspackage.html#cfn-mediapackage-originendpoint-hlspackage-adsondeliveryrestrictions + AdsOnDeliveryRestrictions string `json:"AdsOnDeliveryRestrictions,omitempty"` + + // Encryption AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlspackage.html#cfn-mediapackage-originendpoint-hlspackage-encryption + Encryption *OriginEndpoint_HlsEncryption `json:"Encryption,omitempty"` + + // IncludeIframeOnlyStream AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlspackage.html#cfn-mediapackage-originendpoint-hlspackage-includeiframeonlystream + IncludeIframeOnlyStream bool `json:"IncludeIframeOnlyStream,omitempty"` + + // PlaylistType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlspackage.html#cfn-mediapackage-originendpoint-hlspackage-playlisttype + PlaylistType string `json:"PlaylistType,omitempty"` + + // PlaylistWindowSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlspackage.html#cfn-mediapackage-originendpoint-hlspackage-playlistwindowseconds + PlaylistWindowSeconds int `json:"PlaylistWindowSeconds,omitempty"` + + // ProgramDateTimeIntervalSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlspackage.html#cfn-mediapackage-originendpoint-hlspackage-programdatetimeintervalseconds + ProgramDateTimeIntervalSeconds int `json:"ProgramDateTimeIntervalSeconds,omitempty"` + + // SegmentDurationSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlspackage.html#cfn-mediapackage-originendpoint-hlspackage-segmentdurationseconds + SegmentDurationSeconds int `json:"SegmentDurationSeconds,omitempty"` + + // StreamSelection AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlspackage.html#cfn-mediapackage-originendpoint-hlspackage-streamselection + StreamSelection *OriginEndpoint_StreamSelection `json:"StreamSelection,omitempty"` + + // UseAudioRenditionGroup AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlspackage.html#cfn-mediapackage-originendpoint-hlspackage-useaudiorenditiongroup + UseAudioRenditionGroup bool `json:"UseAudioRenditionGroup,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *OriginEndpoint_HlsPackage) AWSCloudFormationType() string { + return "AWS::MediaPackage::OriginEndpoint.HlsPackage" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-originendpoint_mssencryption.go b/cloudformation/mediapackage/aws-mediapackage-originendpoint_mssencryption.go new file mode 100644 index 0000000000..0c556483be --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-originendpoint_mssencryption.go @@ -0,0 +1,35 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// OriginEndpoint_MssEncryption AWS CloudFormation Resource (AWS::MediaPackage::OriginEndpoint.MssEncryption) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-mssencryption.html +type OriginEndpoint_MssEncryption struct { + + // SpekeKeyProvider AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-mssencryption.html#cfn-mediapackage-originendpoint-mssencryption-spekekeyprovider + SpekeKeyProvider *OriginEndpoint_SpekeKeyProvider `json:"SpekeKeyProvider,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *OriginEndpoint_MssEncryption) AWSCloudFormationType() string { + return "AWS::MediaPackage::OriginEndpoint.MssEncryption" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-originendpoint_msspackage.go b/cloudformation/mediapackage/aws-mediapackage-originendpoint_msspackage.go new file mode 100644 index 0000000000..4d2e69c0b7 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-originendpoint_msspackage.go @@ -0,0 +1,50 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// OriginEndpoint_MssPackage AWS CloudFormation Resource (AWS::MediaPackage::OriginEndpoint.MssPackage) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-msspackage.html +type OriginEndpoint_MssPackage struct { + + // Encryption AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-msspackage.html#cfn-mediapackage-originendpoint-msspackage-encryption + Encryption *OriginEndpoint_MssEncryption `json:"Encryption,omitempty"` + + // ManifestWindowSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-msspackage.html#cfn-mediapackage-originendpoint-msspackage-manifestwindowseconds + ManifestWindowSeconds int `json:"ManifestWindowSeconds,omitempty"` + + // SegmentDurationSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-msspackage.html#cfn-mediapackage-originendpoint-msspackage-segmentdurationseconds + SegmentDurationSeconds int `json:"SegmentDurationSeconds,omitempty"` + + // StreamSelection AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-msspackage.html#cfn-mediapackage-originendpoint-msspackage-streamselection + StreamSelection *OriginEndpoint_StreamSelection `json:"StreamSelection,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *OriginEndpoint_MssPackage) AWSCloudFormationType() string { + return "AWS::MediaPackage::OriginEndpoint.MssPackage" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-originendpoint_spekekeyprovider.go b/cloudformation/mediapackage/aws-mediapackage-originendpoint_spekekeyprovider.go new file mode 100644 index 0000000000..342fc51fc5 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-originendpoint_spekekeyprovider.go @@ -0,0 +1,55 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// OriginEndpoint_SpekeKeyProvider AWS CloudFormation Resource (AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-spekekeyprovider.html +type OriginEndpoint_SpekeKeyProvider struct { + + // CertificateArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-spekekeyprovider.html#cfn-mediapackage-originendpoint-spekekeyprovider-certificatearn + CertificateArn string `json:"CertificateArn,omitempty"` + + // ResourceId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-spekekeyprovider.html#cfn-mediapackage-originendpoint-spekekeyprovider-resourceid + ResourceId string `json:"ResourceId,omitempty"` + + // RoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-spekekeyprovider.html#cfn-mediapackage-originendpoint-spekekeyprovider-rolearn + RoleArn string `json:"RoleArn,omitempty"` + + // SystemIds AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-spekekeyprovider.html#cfn-mediapackage-originendpoint-spekekeyprovider-systemids + SystemIds []string `json:"SystemIds,omitempty"` + + // Url AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-spekekeyprovider.html#cfn-mediapackage-originendpoint-spekekeyprovider-url + Url string `json:"Url,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *OriginEndpoint_SpekeKeyProvider) AWSCloudFormationType() string { + return "AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-originendpoint_streamselection.go b/cloudformation/mediapackage/aws-mediapackage-originendpoint_streamselection.go new file mode 100644 index 0000000000..9196ad1d70 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-originendpoint_streamselection.go @@ -0,0 +1,45 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// OriginEndpoint_StreamSelection AWS CloudFormation Resource (AWS::MediaPackage::OriginEndpoint.StreamSelection) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-streamselection.html +type OriginEndpoint_StreamSelection struct { + + // MaxVideoBitsPerSecond AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-streamselection.html#cfn-mediapackage-originendpoint-streamselection-maxvideobitspersecond + MaxVideoBitsPerSecond int `json:"MaxVideoBitsPerSecond,omitempty"` + + // MinVideoBitsPerSecond AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-streamselection.html#cfn-mediapackage-originendpoint-streamselection-minvideobitspersecond + MinVideoBitsPerSecond int `json:"MinVideoBitsPerSecond,omitempty"` + + // StreamOrder AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-streamselection.html#cfn-mediapackage-originendpoint-streamselection-streamorder + StreamOrder string `json:"StreamOrder,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *OriginEndpoint_StreamSelection) AWSCloudFormationType() string { + return "AWS::MediaPackage::OriginEndpoint.StreamSelection" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration.go b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration.go new file mode 100644 index 0000000000..4e0062c156 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration.go @@ -0,0 +1,137 @@ +package mediapackage + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// PackagingConfiguration AWS CloudFormation Resource (AWS::MediaPackage::PackagingConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packagingconfiguration.html +type PackagingConfiguration struct { + + // CmafPackage AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packagingconfiguration.html#cfn-mediapackage-packagingconfiguration-cmafpackage + CmafPackage *PackagingConfiguration_CmafPackage `json:"CmafPackage,omitempty"` + + // DashPackage AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packagingconfiguration.html#cfn-mediapackage-packagingconfiguration-dashpackage + DashPackage *PackagingConfiguration_DashPackage `json:"DashPackage,omitempty"` + + // HlsPackage AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packagingconfiguration.html#cfn-mediapackage-packagingconfiguration-hlspackage + HlsPackage *PackagingConfiguration_HlsPackage `json:"HlsPackage,omitempty"` + + // Id AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packagingconfiguration.html#cfn-mediapackage-packagingconfiguration-id + Id string `json:"Id,omitempty"` + + // MssPackage AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packagingconfiguration.html#cfn-mediapackage-packagingconfiguration-msspackage + MssPackage *PackagingConfiguration_MssPackage `json:"MssPackage,omitempty"` + + // PackagingGroupId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packagingconfiguration.html#cfn-mediapackage-packagingconfiguration-packaginggroupid + PackagingGroupId string `json:"PackagingGroupId,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packagingconfiguration.html#cfn-mediapackage-packagingconfiguration-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *PackagingConfiguration) AWSCloudFormationType() string { + return "AWS::MediaPackage::PackagingConfiguration" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r PackagingConfiguration) MarshalJSON() ([]byte, error) { + type Properties PackagingConfiguration + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *PackagingConfiguration) UnmarshalJSON(b []byte) error { + type Properties PackagingConfiguration + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = PackagingConfiguration(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_cmafencryption.go b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_cmafencryption.go new file mode 100644 index 0000000000..ba1e6b497d --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_cmafencryption.go @@ -0,0 +1,35 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// PackagingConfiguration_CmafEncryption AWS CloudFormation Resource (AWS::MediaPackage::PackagingConfiguration.CmafEncryption) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-cmafencryption.html +type PackagingConfiguration_CmafEncryption struct { + + // SpekeKeyProvider AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-cmafencryption.html#cfn-mediapackage-packagingconfiguration-cmafencryption-spekekeyprovider + SpekeKeyProvider interface{} `json:"SpekeKeyProvider,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *PackagingConfiguration_CmafEncryption) AWSCloudFormationType() string { + return "AWS::MediaPackage::PackagingConfiguration.CmafEncryption" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_cmafpackage.go b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_cmafpackage.go new file mode 100644 index 0000000000..28f90d43c5 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_cmafpackage.go @@ -0,0 +1,45 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// PackagingConfiguration_CmafPackage AWS CloudFormation Resource (AWS::MediaPackage::PackagingConfiguration.CmafPackage) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-cmafpackage.html +type PackagingConfiguration_CmafPackage struct { + + // Encryption AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-cmafpackage.html#cfn-mediapackage-packagingconfiguration-cmafpackage-encryption + Encryption *PackagingConfiguration_CmafEncryption `json:"Encryption,omitempty"` + + // HlsManifests AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-cmafpackage.html#cfn-mediapackage-packagingconfiguration-cmafpackage-hlsmanifests + HlsManifests []PackagingConfiguration_HlsManifest `json:"HlsManifests,omitempty"` + + // SegmentDurationSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-cmafpackage.html#cfn-mediapackage-packagingconfiguration-cmafpackage-segmentdurationseconds + SegmentDurationSeconds int `json:"SegmentDurationSeconds,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *PackagingConfiguration_CmafPackage) AWSCloudFormationType() string { + return "AWS::MediaPackage::PackagingConfiguration.CmafPackage" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_dashencryption.go b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_dashencryption.go new file mode 100644 index 0000000000..53e4fa3e88 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_dashencryption.go @@ -0,0 +1,35 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// PackagingConfiguration_DashEncryption AWS CloudFormation Resource (AWS::MediaPackage::PackagingConfiguration.DashEncryption) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashencryption.html +type PackagingConfiguration_DashEncryption struct { + + // SpekeKeyProvider AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashencryption.html#cfn-mediapackage-packagingconfiguration-dashencryption-spekekeyprovider + SpekeKeyProvider interface{} `json:"SpekeKeyProvider,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *PackagingConfiguration_DashEncryption) AWSCloudFormationType() string { + return "AWS::MediaPackage::PackagingConfiguration.DashEncryption" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_dashmanifest.go b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_dashmanifest.go new file mode 100644 index 0000000000..f007c1edff --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_dashmanifest.go @@ -0,0 +1,55 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// PackagingConfiguration_DashManifest AWS CloudFormation Resource (AWS::MediaPackage::PackagingConfiguration.DashManifest) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashmanifest.html +type PackagingConfiguration_DashManifest struct { + + // ManifestLayout AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashmanifest.html#cfn-mediapackage-packagingconfiguration-dashmanifest-manifestlayout + ManifestLayout string `json:"ManifestLayout,omitempty"` + + // ManifestName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashmanifest.html#cfn-mediapackage-packagingconfiguration-dashmanifest-manifestname + ManifestName string `json:"ManifestName,omitempty"` + + // MinBufferTimeSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashmanifest.html#cfn-mediapackage-packagingconfiguration-dashmanifest-minbuffertimeseconds + MinBufferTimeSeconds int `json:"MinBufferTimeSeconds,omitempty"` + + // Profile AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashmanifest.html#cfn-mediapackage-packagingconfiguration-dashmanifest-profile + Profile string `json:"Profile,omitempty"` + + // StreamSelection AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashmanifest.html#cfn-mediapackage-packagingconfiguration-dashmanifest-streamselection + StreamSelection *PackagingConfiguration_StreamSelection `json:"StreamSelection,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *PackagingConfiguration_DashManifest) AWSCloudFormationType() string { + return "AWS::MediaPackage::PackagingConfiguration.DashManifest" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_dashpackage.go b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_dashpackage.go new file mode 100644 index 0000000000..40725b1a23 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_dashpackage.go @@ -0,0 +1,55 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// PackagingConfiguration_DashPackage AWS CloudFormation Resource (AWS::MediaPackage::PackagingConfiguration.DashPackage) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashpackage.html +type PackagingConfiguration_DashPackage struct { + + // DashManifests AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashpackage.html#cfn-mediapackage-packagingconfiguration-dashpackage-dashmanifests + DashManifests []PackagingConfiguration_DashManifest `json:"DashManifests,omitempty"` + + // Encryption AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashpackage.html#cfn-mediapackage-packagingconfiguration-dashpackage-encryption + Encryption *PackagingConfiguration_DashEncryption `json:"Encryption,omitempty"` + + // PeriodTriggers AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashpackage.html#cfn-mediapackage-packagingconfiguration-dashpackage-periodtriggers + PeriodTriggers []string `json:"PeriodTriggers,omitempty"` + + // SegmentDurationSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashpackage.html#cfn-mediapackage-packagingconfiguration-dashpackage-segmentdurationseconds + SegmentDurationSeconds int `json:"SegmentDurationSeconds,omitempty"` + + // SegmentTemplateFormat AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashpackage.html#cfn-mediapackage-packagingconfiguration-dashpackage-segmenttemplateformat + SegmentTemplateFormat string `json:"SegmentTemplateFormat,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *PackagingConfiguration_DashPackage) AWSCloudFormationType() string { + return "AWS::MediaPackage::PackagingConfiguration.DashPackage" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_hlsencryption.go b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_hlsencryption.go new file mode 100644 index 0000000000..a6ee22e2f2 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_hlsencryption.go @@ -0,0 +1,45 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// PackagingConfiguration_HlsEncryption AWS CloudFormation Resource (AWS::MediaPackage::PackagingConfiguration.HlsEncryption) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlsencryption.html +type PackagingConfiguration_HlsEncryption struct { + + // ConstantInitializationVector AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlsencryption.html#cfn-mediapackage-packagingconfiguration-hlsencryption-constantinitializationvector + ConstantInitializationVector string `json:"ConstantInitializationVector,omitempty"` + + // EncryptionMethod AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlsencryption.html#cfn-mediapackage-packagingconfiguration-hlsencryption-encryptionmethod + EncryptionMethod string `json:"EncryptionMethod,omitempty"` + + // SpekeKeyProvider AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlsencryption.html#cfn-mediapackage-packagingconfiguration-hlsencryption-spekekeyprovider + SpekeKeyProvider interface{} `json:"SpekeKeyProvider,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *PackagingConfiguration_HlsEncryption) AWSCloudFormationType() string { + return "AWS::MediaPackage::PackagingConfiguration.HlsEncryption" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_hlsmanifest.go b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_hlsmanifest.go new file mode 100644 index 0000000000..2b108f3882 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_hlsmanifest.go @@ -0,0 +1,60 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// PackagingConfiguration_HlsManifest AWS CloudFormation Resource (AWS::MediaPackage::PackagingConfiguration.HlsManifest) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlsmanifest.html +type PackagingConfiguration_HlsManifest struct { + + // AdMarkers AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlsmanifest.html#cfn-mediapackage-packagingconfiguration-hlsmanifest-admarkers + AdMarkers string `json:"AdMarkers,omitempty"` + + // IncludeIframeOnlyStream AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlsmanifest.html#cfn-mediapackage-packagingconfiguration-hlsmanifest-includeiframeonlystream + IncludeIframeOnlyStream bool `json:"IncludeIframeOnlyStream,omitempty"` + + // ManifestName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlsmanifest.html#cfn-mediapackage-packagingconfiguration-hlsmanifest-manifestname + ManifestName string `json:"ManifestName,omitempty"` + + // ProgramDateTimeIntervalSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlsmanifest.html#cfn-mediapackage-packagingconfiguration-hlsmanifest-programdatetimeintervalseconds + ProgramDateTimeIntervalSeconds int `json:"ProgramDateTimeIntervalSeconds,omitempty"` + + // RepeatExtXKey AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlsmanifest.html#cfn-mediapackage-packagingconfiguration-hlsmanifest-repeatextxkey + RepeatExtXKey bool `json:"RepeatExtXKey,omitempty"` + + // StreamSelection AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlsmanifest.html#cfn-mediapackage-packagingconfiguration-hlsmanifest-streamselection + StreamSelection *PackagingConfiguration_StreamSelection `json:"StreamSelection,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *PackagingConfiguration_HlsManifest) AWSCloudFormationType() string { + return "AWS::MediaPackage::PackagingConfiguration.HlsManifest" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_hlspackage.go b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_hlspackage.go new file mode 100644 index 0000000000..35514bfb6f --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_hlspackage.go @@ -0,0 +1,50 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// PackagingConfiguration_HlsPackage AWS CloudFormation Resource (AWS::MediaPackage::PackagingConfiguration.HlsPackage) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlspackage.html +type PackagingConfiguration_HlsPackage struct { + + // Encryption AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlspackage.html#cfn-mediapackage-packagingconfiguration-hlspackage-encryption + Encryption *PackagingConfiguration_HlsEncryption `json:"Encryption,omitempty"` + + // HlsManifests AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlspackage.html#cfn-mediapackage-packagingconfiguration-hlspackage-hlsmanifests + HlsManifests []PackagingConfiguration_HlsManifest `json:"HlsManifests,omitempty"` + + // SegmentDurationSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlspackage.html#cfn-mediapackage-packagingconfiguration-hlspackage-segmentdurationseconds + SegmentDurationSeconds int `json:"SegmentDurationSeconds,omitempty"` + + // UseAudioRenditionGroup AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlspackage.html#cfn-mediapackage-packagingconfiguration-hlspackage-useaudiorenditiongroup + UseAudioRenditionGroup bool `json:"UseAudioRenditionGroup,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *PackagingConfiguration_HlsPackage) AWSCloudFormationType() string { + return "AWS::MediaPackage::PackagingConfiguration.HlsPackage" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_mssencryption.go b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_mssencryption.go new file mode 100644 index 0000000000..277e44aaa9 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_mssencryption.go @@ -0,0 +1,35 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// PackagingConfiguration_MssEncryption AWS CloudFormation Resource (AWS::MediaPackage::PackagingConfiguration.MssEncryption) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-mssencryption.html +type PackagingConfiguration_MssEncryption struct { + + // SpekeKeyProvider AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-mssencryption.html#cfn-mediapackage-packagingconfiguration-mssencryption-spekekeyprovider + SpekeKeyProvider interface{} `json:"SpekeKeyProvider,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *PackagingConfiguration_MssEncryption) AWSCloudFormationType() string { + return "AWS::MediaPackage::PackagingConfiguration.MssEncryption" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_mssmanifest.go b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_mssmanifest.go new file mode 100644 index 0000000000..abe9ccc4a6 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_mssmanifest.go @@ -0,0 +1,40 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// PackagingConfiguration_MssManifest AWS CloudFormation Resource (AWS::MediaPackage::PackagingConfiguration.MssManifest) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-mssmanifest.html +type PackagingConfiguration_MssManifest struct { + + // ManifestName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-mssmanifest.html#cfn-mediapackage-packagingconfiguration-mssmanifest-manifestname + ManifestName string `json:"ManifestName,omitempty"` + + // StreamSelection AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-mssmanifest.html#cfn-mediapackage-packagingconfiguration-mssmanifest-streamselection + StreamSelection *PackagingConfiguration_StreamSelection `json:"StreamSelection,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *PackagingConfiguration_MssManifest) AWSCloudFormationType() string { + return "AWS::MediaPackage::PackagingConfiguration.MssManifest" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_msspackage.go b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_msspackage.go new file mode 100644 index 0000000000..56ff7a8681 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_msspackage.go @@ -0,0 +1,45 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// PackagingConfiguration_MssPackage AWS CloudFormation Resource (AWS::MediaPackage::PackagingConfiguration.MssPackage) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-msspackage.html +type PackagingConfiguration_MssPackage struct { + + // Encryption AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-msspackage.html#cfn-mediapackage-packagingconfiguration-msspackage-encryption + Encryption *PackagingConfiguration_MssEncryption `json:"Encryption,omitempty"` + + // MssManifests AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-msspackage.html#cfn-mediapackage-packagingconfiguration-msspackage-mssmanifests + MssManifests []PackagingConfiguration_MssManifest `json:"MssManifests,omitempty"` + + // SegmentDurationSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-msspackage.html#cfn-mediapackage-packagingconfiguration-msspackage-segmentdurationseconds + SegmentDurationSeconds int `json:"SegmentDurationSeconds,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *PackagingConfiguration_MssPackage) AWSCloudFormationType() string { + return "AWS::MediaPackage::PackagingConfiguration.MssPackage" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_spekekeyprovider.go b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_spekekeyprovider.go new file mode 100644 index 0000000000..d6e56f6a52 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_spekekeyprovider.go @@ -0,0 +1,45 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// PackagingConfiguration_SpekeKeyProvider AWS CloudFormation Resource (AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-spekekeyprovider.html +type PackagingConfiguration_SpekeKeyProvider struct { + + // RoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-spekekeyprovider.html#cfn-mediapackage-packagingconfiguration-spekekeyprovider-rolearn + RoleArn string `json:"RoleArn,omitempty"` + + // SystemIds AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-spekekeyprovider.html#cfn-mediapackage-packagingconfiguration-spekekeyprovider-systemids + SystemIds []string `json:"SystemIds,omitempty"` + + // Url AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-spekekeyprovider.html#cfn-mediapackage-packagingconfiguration-spekekeyprovider-url + Url string `json:"Url,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *PackagingConfiguration_SpekeKeyProvider) AWSCloudFormationType() string { + return "AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_streamselection.go b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_streamselection.go new file mode 100644 index 0000000000..4e8d8b6139 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_streamselection.go @@ -0,0 +1,45 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// PackagingConfiguration_StreamSelection AWS CloudFormation Resource (AWS::MediaPackage::PackagingConfiguration.StreamSelection) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-streamselection.html +type PackagingConfiguration_StreamSelection struct { + + // MaxVideoBitsPerSecond AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-streamselection.html#cfn-mediapackage-packagingconfiguration-streamselection-maxvideobitspersecond + MaxVideoBitsPerSecond int `json:"MaxVideoBitsPerSecond,omitempty"` + + // MinVideoBitsPerSecond AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-streamselection.html#cfn-mediapackage-packagingconfiguration-streamselection-minvideobitspersecond + MinVideoBitsPerSecond int `json:"MinVideoBitsPerSecond,omitempty"` + + // StreamOrder AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-streamselection.html#cfn-mediapackage-packagingconfiguration-streamselection-streamorder + StreamOrder string `json:"StreamOrder,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *PackagingConfiguration_StreamSelection) AWSCloudFormationType() string { + return "AWS::MediaPackage::PackagingConfiguration.StreamSelection" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-packaginggroup.go b/cloudformation/mediapackage/aws-mediapackage-packaginggroup.go new file mode 100644 index 0000000000..629082413c --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-packaginggroup.go @@ -0,0 +1,117 @@ +package mediapackage + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// PackagingGroup AWS CloudFormation Resource (AWS::MediaPackage::PackagingGroup) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packaginggroup.html +type PackagingGroup struct { + + // Authorization AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packaginggroup.html#cfn-mediapackage-packaginggroup-authorization + Authorization *PackagingGroup_Authorization `json:"Authorization,omitempty"` + + // Id AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packaginggroup.html#cfn-mediapackage-packaginggroup-id + Id string `json:"Id,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packaginggroup.html#cfn-mediapackage-packaginggroup-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *PackagingGroup) AWSCloudFormationType() string { + return "AWS::MediaPackage::PackagingGroup" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r PackagingGroup) MarshalJSON() ([]byte, error) { + type Properties PackagingGroup + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *PackagingGroup) UnmarshalJSON(b []byte) error { + type Properties PackagingGroup + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = PackagingGroup(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/mediapackage/aws-mediapackage-packaginggroup_authorization.go b/cloudformation/mediapackage/aws-mediapackage-packaginggroup_authorization.go new file mode 100644 index 0000000000..ded1e1b089 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-packaginggroup_authorization.go @@ -0,0 +1,40 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// PackagingGroup_Authorization AWS CloudFormation Resource (AWS::MediaPackage::PackagingGroup.Authorization) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packaginggroup-authorization.html +type PackagingGroup_Authorization struct { + + // CdnIdentifierSecret AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packaginggroup-authorization.html#cfn-mediapackage-packaginggroup-authorization-cdnidentifiersecret + CdnIdentifierSecret string `json:"CdnIdentifierSecret,omitempty"` + + // SecretsRoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packaginggroup-authorization.html#cfn-mediapackage-packaginggroup-authorization-secretsrolearn + SecretsRoleArn string `json:"SecretsRoleArn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *PackagingGroup_Authorization) AWSCloudFormationType() string { + return "AWS::MediaPackage::PackagingGroup.Authorization" +} diff --git a/cloudformation/rds/aws-rds-dbcluster.go b/cloudformation/rds/aws-rds-dbcluster.go index e535585406..cc0115b4a7 100644 --- a/cloudformation/rds/aws-rds-dbcluster.go +++ b/cloudformation/rds/aws-rds-dbcluster.go @@ -88,6 +88,11 @@ type DBCluster struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-engineversion EngineVersion string `json:"EngineVersion,omitempty"` + // GlobalClusterIdentifier AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-globalclusteridentifier + GlobalClusterIdentifier string `json:"GlobalClusterIdentifier,omitempty"` + // KmsKeyId AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-kmskeyid diff --git a/cloudformation/s3/aws-s3-bucket_metrics.go b/cloudformation/s3/aws-s3-bucket_metrics.go index 1b0b784be3..0bcc9f0839 100644 --- a/cloudformation/s3/aws-s3-bucket_metrics.go +++ b/cloudformation/s3/aws-s3-bucket_metrics.go @@ -9,7 +9,7 @@ import ( type Bucket_Metrics struct { // EventThreshold AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metrics.html#cfn-s3-bucket-metrics-eventthreshold EventThreshold *Bucket_ReplicationTimeValue `json:"EventThreshold,omitempty"` diff --git a/cloudformation/s3/aws-s3-bucket_replicamodifications.go b/cloudformation/s3/aws-s3-bucket_replicamodifications.go new file mode 100644 index 0000000000..971d88ef36 --- /dev/null +++ b/cloudformation/s3/aws-s3-bucket_replicamodifications.go @@ -0,0 +1,35 @@ +package s3 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Bucket_ReplicaModifications AWS CloudFormation Resource (AWS::S3::Bucket.ReplicaModifications) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicamodifications.html +type Bucket_ReplicaModifications struct { + + // Status AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicamodifications.html#cfn-s3-bucket-replicamodifications-status + Status string `json:"Status,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Bucket_ReplicaModifications) AWSCloudFormationType() string { + return "AWS::S3::Bucket.ReplicaModifications" +} diff --git a/cloudformation/s3/aws-s3-bucket_sourceselectioncriteria.go b/cloudformation/s3/aws-s3-bucket_sourceselectioncriteria.go index ffde1ccce3..17817183b7 100644 --- a/cloudformation/s3/aws-s3-bucket_sourceselectioncriteria.go +++ b/cloudformation/s3/aws-s3-bucket_sourceselectioncriteria.go @@ -8,8 +8,13 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-sourceselectioncriteria.html type Bucket_SourceSelectionCriteria struct { + // ReplicaModifications AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-sourceselectioncriteria.html#cfn-s3-bucket-sourceselectioncriteria-replicamodifications + ReplicaModifications *Bucket_ReplicaModifications `json:"ReplicaModifications,omitempty"` + // SseKmsEncryptedObjects AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-sourceselectioncriteria.html#cfn-s3-bucket-sourceselectioncriteria-ssekmsencryptedobjects SseKmsEncryptedObjects *Bucket_SseKmsEncryptedObjects `json:"SseKmsEncryptedObjects,omitempty"` diff --git a/cloudformation/sagemaker/aws-sagemaker-model_containerdefinition.go b/cloudformation/sagemaker/aws-sagemaker-model_containerdefinition.go index 48d3925333..06142ba382 100644 --- a/cloudformation/sagemaker/aws-sagemaker-model_containerdefinition.go +++ b/cloudformation/sagemaker/aws-sagemaker-model_containerdefinition.go @@ -23,6 +23,11 @@ type Model_ContainerDefinition struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-containerdefinition.html#cfn-sagemaker-model-containerdefinition-image Image string `json:"Image,omitempty"` + // ImageConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-containerdefinition.html#cfn-sagemaker-model-containerdefinition-imageconfig + ImageConfig *Model_ImageConfig `json:"ImageConfig,omitempty"` + // Mode AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-containerdefinition.html#cfn-sagemaker-model-containerdefinition-mode diff --git a/cloudformation/sagemaker/aws-sagemaker-model_imageconfig.go b/cloudformation/sagemaker/aws-sagemaker-model_imageconfig.go new file mode 100644 index 0000000000..16f27415fe --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-model_imageconfig.go @@ -0,0 +1,35 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Model_ImageConfig AWS CloudFormation Resource (AWS::SageMaker::Model.ImageConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-containerdefinition-imageconfig.html +type Model_ImageConfig struct { + + // RepositoryAccessMode AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-containerdefinition-imageconfig.html#cfn-sagemaker-model-containerdefinition-imageconfig-repositoryaccessmode + RepositoryAccessMode string `json:"RepositoryAccessMode,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Model_ImageConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::Model.ImageConfig" +} diff --git a/cloudformation/sns/aws-sns-subscription.go b/cloudformation/sns/aws-sns-subscription.go index 589d75c70b..5c744e05cc 100644 --- a/cloudformation/sns/aws-sns-subscription.go +++ b/cloudformation/sns/aws-sns-subscription.go @@ -47,6 +47,11 @@ type Subscription struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-region Region string `json:"Region,omitempty"` + // SubscriptionRoleArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-subscriptionrolearn + SubscriptionRoleArn string `json:"SubscriptionRoleArn,omitempty"` + // TopicArn AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#topicarn diff --git a/cloudformation/sns/aws-sns-topic.go b/cloudformation/sns/aws-sns-topic.go index 1a7fee7f93..f6c9531119 100644 --- a/cloudformation/sns/aws-sns-topic.go +++ b/cloudformation/sns/aws-sns-topic.go @@ -23,6 +23,11 @@ type Topic struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html#cfn-sns-topic-displayname DisplayName string `json:"DisplayName,omitempty"` + // FifoTopic AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html#cfn-sns-topic-fifotopic + FifoTopic bool `json:"FifoTopic,omitempty"` + // KmsMasterKeyId AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html#cfn-sns-topic-kmsmasterkeyid diff --git a/cloudformation/transfer/aws-transfer-server_endpointdetails.go b/cloudformation/transfer/aws-transfer-server_endpointdetails.go index af089dde9f..e0f49aa2e2 100644 --- a/cloudformation/transfer/aws-transfer-server_endpointdetails.go +++ b/cloudformation/transfer/aws-transfer-server_endpointdetails.go @@ -13,6 +13,11 @@ type Server_EndpointDetails struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-server-endpointdetails.html#cfn-transfer-server-endpointdetails-addressallocationids AddressAllocationIds []string `json:"AddressAllocationIds,omitempty"` + // SecurityGroupIds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-server-endpointdetails.html#cfn-transfer-server-endpointdetails-securitygroupids + SecurityGroupIds []Server_SecurityGroupId `json:"SecurityGroupIds,omitempty"` + // SubnetIds AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-server-endpointdetails.html#cfn-transfer-server-endpointdetails-subnetids diff --git a/cloudformation/transfer/aws-transfer-server_securitygroupid.go b/cloudformation/transfer/aws-transfer-server_securitygroupid.go new file mode 100644 index 0000000000..7c8eb91e90 --- /dev/null +++ b/cloudformation/transfer/aws-transfer-server_securitygroupid.go @@ -0,0 +1,30 @@ +package transfer + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Server_SecurityGroupId AWS CloudFormation Resource (AWS::Transfer::Server.SecurityGroupId) +// See: +type Server_SecurityGroupId struct { + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Server_SecurityGroupId) AWSCloudFormationType() string { + return "AWS::Transfer::Server.SecurityGroupId" +} diff --git a/schema/cloudformation.go b/schema/cloudformation.go index 3c24f5a82b..9d261fbe21 100644 --- a/schema/cloudformation.go +++ b/schema/cloudformation.go @@ -516,9 +516,6 @@ var CloudformationSchema = `{ "HostInstanceType": { "type": "string" }, - "LdapMetadata": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.LdapMetadata" - }, "LdapServerMetadata": { "$ref": "#/definitions/AWS::AmazonMQ::Broker.LdapServerMetadata" }, @@ -623,40 +620,6 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::AmazonMQ::Broker.InterBrokerCred": { - "additionalProperties": false, - "properties": { - "Password": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "Password", - "Username" - ], - "type": "object" - }, - "AWS::AmazonMQ::Broker.LdapMetadata": { - "additionalProperties": false, - "properties": { - "InterBrokerCreds": { - "items": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.InterBrokerCred" - }, - "type": "array" - }, - "ServerMetadata": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.ServerMetadata" - } - }, - "required": [ - "ServerMetadata" - ], - "type": "object" - }, "AWS::AmazonMQ::Broker.LdapServerMetadata": { "additionalProperties": false, "properties": { @@ -740,57 +703,6 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::AmazonMQ::Broker.ServerMetadata": { - "additionalProperties": false, - "properties": { - "Hosts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RoleBase": { - "type": "string" - }, - "RoleName": { - "type": "string" - }, - "RoleSearchMatching": { - "type": "string" - }, - "RoleSearchSubtree": { - "type": "boolean" - }, - "ServiceAccountPassword": { - "type": "string" - }, - "ServiceAccountUsername": { - "type": "string" - }, - "UserBase": { - "type": "string" - }, - "UserRoleName": { - "type": "string" - }, - "UserSearchMatching": { - "type": "string" - }, - "UserSearchSubtree": { - "type": "boolean" - } - }, - "required": [ - "Hosts", - "RoleBase", - "RoleSearchMatching", - "ServiceAccountPassword", - "ServiceAccountUsername", - "UserBase", - "UserSearchMatching" - ], - "type": "object" - }, "AWS::AmazonMQ::Broker.TagsEntry": { "additionalProperties": false, "properties": { @@ -9478,6 +9390,9 @@ var CloudformationSchema = `{ "ApiId": { "type": "string" }, + "ApiKeyId": { + "type": "string" + }, "Description": { "type": "string" }, @@ -9816,6 +9731,9 @@ var CloudformationSchema = `{ }, "ResponseMappingTemplateS3Location": { "type": "string" + }, + "SyncConfig": { + "$ref": "#/definitions/AWS::AppSync::FunctionConfiguration.SyncConfig" } }, "required": [ @@ -9847,6 +9765,33 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::AppSync::FunctionConfiguration.LambdaConflictHandlerConfig": { + "additionalProperties": false, + "properties": { + "LambdaConflictHandlerArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppSync::FunctionConfiguration.SyncConfig": { + "additionalProperties": false, + "properties": { + "ConflictDetection": { + "type": "string" + }, + "ConflictHandler": { + "type": "string" + }, + "LambdaConflictHandlerConfig": { + "$ref": "#/definitions/AWS::AppSync::FunctionConfiguration.LambdaConflictHandlerConfig" + } + }, + "required": [ + "ConflictDetection" + ], + "type": "object" + }, "AWS::AppSync::GraphQLApi": { "additionalProperties": false, "properties": { @@ -11078,6 +11023,9 @@ var CloudformationSchema = `{ }, "QueryString": { "type": "string" + }, + "WorkGroup": { + "type": "string" } }, "required": [ @@ -11333,6 +11281,9 @@ var CloudformationSchema = `{ }, "type": "array" }, + "CapacityRebalance": { + "type": "boolean" + }, "Cooldown": { "type": "string" }, @@ -11502,6 +11453,9 @@ var CloudformationSchema = `{ "InstanceType": { "type": "string" }, + "LaunchTemplateSpecification": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification" + }, "WeightedCapacity": { "type": "string" } @@ -11705,6 +11659,9 @@ var CloudformationSchema = `{ "LaunchConfigurationName": { "type": "string" }, + "MetadataOptions": { + "$ref": "#/definitions/AWS::AutoScaling::LaunchConfiguration.MetadataOption" + }, "PlacementTenancy": { "type": "string" }, @@ -11796,6 +11753,21 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::AutoScaling::LaunchConfiguration.MetadataOption": { + "additionalProperties": false, + "properties": { + "HttpEndpoint": { + "type": "string" + }, + "HttpPutResponseHopLimit": { + "type": "number" + }, + "HttpTokens": { + "type": "string" + } + }, + "type": "object" + }, "AWS::AutoScaling::LifecycleHook": { "additionalProperties": false, "properties": { @@ -12867,6 +12839,9 @@ var CloudformationSchema = `{ "State": { "type": "string" }, + "Tags": { + "type": "object" + }, "Type": { "type": "string" } @@ -13031,6 +13006,9 @@ var CloudformationSchema = `{ "RetryStrategy": { "$ref": "#/definitions/AWS::Batch::JobDefinition.RetryStrategy" }, + "Tags": { + "type": "object" + }, "Timeout": { "$ref": "#/definitions/AWS::Batch::JobDefinition.Timeout" }, @@ -13437,6 +13415,9 @@ var CloudformationSchema = `{ }, "State": { "type": "string" + }, + "Tags": { + "type": "object" } }, "required": [ @@ -15532,6 +15513,9 @@ var CloudformationSchema = `{ "OriginPath": { "type": "string" }, + "OriginShield": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginShield" + }, "S3OriginConfig": { "$ref": "#/definitions/AWS::CloudFront::Distribution.S3OriginConfig" } @@ -15639,6 +15623,21 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::CloudFront::Distribution.OriginShield": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "OriginShieldRegion": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, "AWS::CloudFront::Distribution.Restrictions": { "additionalProperties": false, "properties": { @@ -27779,6 +27778,9 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "CarrierGatewayId": { + "type": "string" + }, "DestinationCidrBlock": { "type": "string" }, @@ -27794,6 +27796,9 @@ var CloudformationSchema = `{ "InstanceId": { "type": "string" }, + "LocalGatewayId": { + "type": "string" + }, "NatGatewayId": { "type": "string" }, @@ -27806,6 +27811,9 @@ var CloudformationSchema = `{ "TransitGatewayId": { "type": "string" }, + "VpcEndpointId": { + "type": "string" + }, "VpcPeeringConnectionId": { "type": "string" } @@ -28784,6 +28792,9 @@ var CloudformationSchema = `{ "MapPublicIpOnLaunch": { "type": "boolean" }, + "OutpostArn": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -33348,9 +33359,15 @@ var CloudformationSchema = `{ "KerberosAttributes": { "$ref": "#/definitions/AWS::EMR::Cluster.KerberosAttributes" }, + "LogEncryptionKmsKeyId": { + "type": "string" + }, "LogUri": { "type": "string" }, + "ManagedScalingPolicy": { + "$ref": "#/definitions/AWS::EMR::Cluster.ManagedScalingPolicy" + }, "Name": { "type": "string" }, @@ -33366,6 +33383,9 @@ var CloudformationSchema = `{ "ServiceRole": { "type": "string" }, + "StepConcurrencyLevel": { + "type": "number" + }, "Steps": { "items": { "$ref": "#/definitions/AWS::EMR::Cluster.StepConfig" @@ -33515,6 +33535,32 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::EMR::Cluster.ComputeLimits": { + "additionalProperties": false, + "properties": { + "MaximumCapacityUnits": { + "type": "number" + }, + "MaximumCoreCapacityUnits": { + "type": "number" + }, + "MaximumOnDemandCapacityUnits": { + "type": "number" + }, + "MinimumCapacityUnits": { + "type": "number" + }, + "UnitType": { + "type": "string" + } + }, + "required": [ + "MaximumCapacityUnits", + "MinimumCapacityUnits", + "UnitType" + ], + "type": "object" + }, "AWS::EMR::Cluster.Configuration": { "additionalProperties": false, "properties": { @@ -33623,13 +33669,13 @@ var CloudformationSchema = `{ "AWS::EMR::Cluster.InstanceFleetProvisioningSpecifications": { "additionalProperties": false, "properties": { + "OnDemandSpecification": { + "$ref": "#/definitions/AWS::EMR::Cluster.OnDemandProvisioningSpecification" + }, "SpotSpecification": { "$ref": "#/definitions/AWS::EMR::Cluster.SpotProvisioningSpecification" } }, - "required": [ - "SpotSpecification" - ], "type": "object" }, "AWS::EMR::Cluster.InstanceGroupConfig": { @@ -33799,6 +33845,15 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::EMR::Cluster.ManagedScalingPolicy": { + "additionalProperties": false, + "properties": { + "ComputeLimits": { + "$ref": "#/definitions/AWS::EMR::Cluster.ComputeLimits" + } + }, + "type": "object" + }, "AWS::EMR::Cluster.MetricDimension": { "additionalProperties": false, "properties": { @@ -33815,6 +33870,18 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::EMR::Cluster.OnDemandProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + } + }, + "required": [ + "AllocationStrategy" + ], + "type": "object" + }, "AWS::EMR::Cluster.PlacementType": { "additionalProperties": false, "properties": { @@ -33932,6 +33999,9 @@ var CloudformationSchema = `{ "AWS::EMR::Cluster.SpotProvisioningSpecification": { "additionalProperties": false, "properties": { + "AllocationStrategy": { + "type": "string" + }, "BlockDurationMinutes": { "type": "number" }, @@ -34127,13 +34197,13 @@ var CloudformationSchema = `{ "AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications": { "additionalProperties": false, "properties": { + "OnDemandSpecification": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification" + }, "SpotSpecification": { "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification" } }, - "required": [ - "SpotSpecification" - ], "type": "object" }, "AWS::EMR::InstanceFleetConfig.InstanceTypeConfig": { @@ -34166,9 +34236,24 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + } + }, + "required": [ + "AllocationStrategy" + ], + "type": "object" + }, "AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification": { "additionalProperties": false, "properties": { + "AllocationStrategy": { + "type": "string" + }, "BlockDurationMinutes": { "type": "number" }, @@ -34990,6 +35075,9 @@ var CloudformationSchema = `{ "EngineVersion": { "type": "string" }, + "GlobalReplicationGroupId": { + "type": "string" + }, "KmsKeyId": { "type": "string" }, @@ -36152,9 +36240,7 @@ var CloudformationSchema = `{ }, "required": [ "DefaultActions", - "LoadBalancerArn", - "Port", - "Protocol" + "LoadBalancerArn" ], "type": "object" }, @@ -37003,6 +37089,9 @@ var CloudformationSchema = `{ "AllocationId": { "type": "string" }, + "IPv6Address": { + "type": "string" + }, "PrivateIPv4Address": { "type": "string" }, @@ -37137,9 +37226,6 @@ var CloudformationSchema = `{ "type": "string" } }, - "required": [ - "HttpCode" - ], "type": "object" }, "AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription": { @@ -37368,6 +37454,15 @@ var CloudformationSchema = `{ "InstanceType": { "type": "string" }, + "WarmCount": { + "type": "number" + }, + "WarmEnabled": { + "type": "boolean" + }, + "WarmType": { + "type": "string" + }, "ZoneAwarenessConfig": { "$ref": "#/definitions/AWS::Elasticsearch::Domain.ZoneAwarenessConfig" }, @@ -38100,6 +38195,15 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::Events::Rule.DeadLetterConfig": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Events::Rule.EcsParameters": { "additionalProperties": false, "properties": { @@ -38199,6 +38303,46 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::Events::Rule.RedshiftDataParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "DbUser": { + "type": "string" + }, + "SecretManagerArn": { + "type": "string" + }, + "Sql": { + "type": "string" + }, + "StatementName": { + "type": "string" + }, + "WithEvent": { + "type": "boolean" + } + }, + "required": [ + "Database", + "Sql" + ], + "type": "object" + }, + "AWS::Events::Rule.RetryPolicy": { + "additionalProperties": false, + "properties": { + "MaximumEventAgeInSeconds": { + "type": "number" + }, + "MaximumRetryAttempts": { + "type": "number" + } + }, + "type": "object" + }, "AWS::Events::Rule.RunCommandParameters": { "additionalProperties": false, "properties": { @@ -38254,6 +38398,9 @@ var CloudformationSchema = `{ "BatchParameters": { "$ref": "#/definitions/AWS::Events::Rule.BatchParameters" }, + "DeadLetterConfig": { + "$ref": "#/definitions/AWS::Events::Rule.DeadLetterConfig" + }, "EcsParameters": { "$ref": "#/definitions/AWS::Events::Rule.EcsParameters" }, @@ -38275,6 +38422,12 @@ var CloudformationSchema = `{ "KinesisParameters": { "$ref": "#/definitions/AWS::Events::Rule.KinesisParameters" }, + "RedshiftDataParameters": { + "$ref": "#/definitions/AWS::Events::Rule.RedshiftDataParameters" + }, + "RetryPolicy": { + "$ref": "#/definitions/AWS::Events::Rule.RetryPolicy" + }, "RoleArn": { "type": "string" }, @@ -39439,6 +39592,9 @@ var CloudformationSchema = `{ "Description": { "type": "string" }, + "FlexMatchMode": { + "type": "string" + }, "GameProperties": { "items": { "$ref": "#/definitions/AWS::GameLift::MatchmakingConfiguration.GameProperty" @@ -39469,7 +39625,6 @@ var CloudformationSchema = `{ }, "required": [ "AcceptanceRequired", - "GameSessionQueueArns", "Name", "RequestTimeoutSeconds", "RuleSetName" @@ -51937,6 +52092,9 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "DeliveryStreamEncryptionConfigurationInput": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput" + }, "DeliveryStreamName": { "type": "string" }, @@ -51963,6 +52121,12 @@ var CloudformationSchema = `{ }, "SplunkDestinationConfiguration": { "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SplunkDestinationConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "type": "object" @@ -52050,6 +52214,21 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput": { + "additionalProperties": false, + "properties": { + "KeyARN": { + "type": "string" + }, + "KeyType": { + "type": "string" + } + }, + "required": [ + "KeyType" + ], + "type": "object" + }, "AWS::KinesisFirehose::DeliveryStream.Deserializer": { "additionalProperties": false, "properties": { @@ -53301,6 +53480,18 @@ var CloudformationSchema = `{ "ParallelizationFactor": { "type": "number" }, + "Queues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceAccessConfigurations": { + "items": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.SourceAccessConfiguration" + }, + "type": "array" + }, "StartingPosition": { "type": "string" }, @@ -53356,6 +53547,18 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::Lambda::EventSourceMapping.SourceAccessConfiguration": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "URI": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Lambda::Function": { "additionalProperties": false, "properties": { @@ -54004,6 +54207,9 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "KmsKeyId": { + "type": "string" + }, "LogGroupName": { "type": "string" }, @@ -58216,7 +58422,7 @@ var CloudformationSchema = `{ }, "type": "object" }, - "AWS::MediaStore::Container": { + "AWS::MediaPackage::Asset": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -58248,246 +58454,45 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AccessLoggingEnabled": { - "type": "boolean" - }, - "ContainerName": { - "type": "string" - }, - "CorsPolicy": { + "EgressEndpoints": { "items": { - "$ref": "#/definitions/AWS::MediaStore::Container.CorsRule" + "$ref": "#/definitions/AWS::MediaPackage::Asset.EgressEndpoint" }, "type": "array" }, - "LifecyclePolicy": { + "Id": { "type": "string" }, - "MetricPolicy": { - "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicy" - }, - "Policy": { + "PackagingGroupId": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ContainerName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaStore::Container" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaStore::Container.CorsRule": { - "additionalProperties": false, - "properties": { - "AllowedHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedMethods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedOrigins": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ExposeHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaxAgeSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaStore::Container.MetricPolicy": { - "additionalProperties": false, - "properties": { - "ContainerLevelMetrics": { - "type": "string" - }, - "MetricPolicyRules": { - "items": { - "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicyRule" - }, - "type": "array" - } - }, - "required": [ - "ContainerLevelMetrics" - ], - "type": "object" - }, - "AWS::MediaStore::Container.MetricPolicyRule": { - "additionalProperties": false, - "properties": { - "ObjectGroup": { - "type": "string" - }, - "ObjectGroupName": { - "type": "string" - } - }, - "required": [ - "ObjectGroup", - "ObjectGroupName" - ], - "type": "object" - }, - "AWS::Neptune::DBCluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/AWS::Neptune::DBCluster.DBClusterRole" - }, - "type": "array" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BackupRetentionPeriod": { - "type": "number" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBClusterParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EngineVersion": { - "type": "string" - }, - "IamAuthEnabled": { - "type": "boolean" - }, - "KmsKeyId": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "RestoreToTime": { - "type": "string" - }, - "RestoreType": { + "ResourceId": { "type": "string" }, - "SnapshotIdentifier": { + "SourceArn": { "type": "string" }, - "SourceDBClusterIdentifier": { + "SourceRoleArn": { "type": "string" }, - "StorageEncrypted": { - "type": "boolean" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" } }, + "required": [ + "Id", + "PackagingGroupId", + "SourceArn", + "SourceRoleArn" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Neptune::DBCluster" + "AWS::MediaPackage::Asset" ], "type": "string" }, @@ -58501,26 +58506,1264 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Neptune::DBCluster.DBClusterRole": { + "AWS::MediaPackage::Asset.EgressEndpoint": { "additionalProperties": false, "properties": { - "FeatureName": { + "PackagingConfigurationId": { "type": "string" }, - "RoleArn": { + "Url": { "type": "string" } }, "required": [ - "RoleArn" + "PackagingConfigurationId", + "Url" ], "type": "object" }, - "AWS::Neptune::DBClusterParameterGroup": { + "AWS::MediaPackage::Channel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::Channel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::Channel.HlsIngest": { + "additionalProperties": false, + "properties": { + "ingestEndpoints": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::Channel.IngestEndpoint" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaPackage::Channel.IngestEndpoint": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Password": { + "type": "string" + }, + "Url": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Authorization": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.Authorization" + }, + "ChannelId": { + "type": "string" + }, + "CmafPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafPackage" + }, + "DashPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashPackage" + }, + "Description": { + "type": "string" + }, + "HlsPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsPackage" + }, + "Id": { + "type": "string" + }, + "ManifestName": { + "type": "string" + }, + "MssPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssPackage" + }, + "Origination": { + "type": "string" + }, + "StartoverWindowSeconds": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TimeDelaySeconds": { + "type": "number" + }, + "Whitelist": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ChannelId", + "Id" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::OriginEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.AdTriggers": { + "additionalProperties": false, + "properties": { + "AdTriggers": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.Authorization": { + "additionalProperties": false, + "properties": { + "CdnIdentifierSecret": { + "type": "string" + }, + "SecretsRoleArn": { + "type": "string" + } + }, + "required": [ + "CdnIdentifierSecret", + "SecretsRoleArn" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.CmafEncryption": { + "additionalProperties": false, + "properties": { + "KeyRotationIntervalSeconds": { + "type": "number" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.CmafPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "SegmentPrefix": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.DashEncryption": { + "additionalProperties": false, + "properties": { + "KeyRotationIntervalSeconds": { + "type": "number" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.DashPackage": { + "additionalProperties": false, + "properties": { + "AdTriggers": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.AdTriggers" + }, + "AdsOnDeliveryRestrictions": { + "type": "string" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashEncryption" + }, + "ManifestLayout": { + "type": "string" + }, + "ManifestWindowSeconds": { + "type": "number" + }, + "MinBufferTimeSeconds": { + "type": "number" + }, + "MinUpdatePeriodSeconds": { + "type": "number" + }, + "PeriodTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Profile": { + "type": "string" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "SegmentTemplateFormat": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + }, + "SuggestedPresentationDelaySeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.HlsEncryption": { + "additionalProperties": false, + "properties": { + "ConstantInitializationVector": { + "type": "string" + }, + "EncryptionMethod": { + "type": "string" + }, + "KeyRotationIntervalSeconds": { + "type": "number" + }, + "RepeatExtXKey": { + "type": "boolean" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.HlsManifest": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "type": "string" + }, + "AdTriggers": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.AdTriggers" + }, + "AdsOnDeliveryRestrictions": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "ManifestName": { + "type": "string" + }, + "PlaylistType": { + "type": "string" + }, + "PlaylistWindowSeconds": { + "type": "number" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "number" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.HlsPackage": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "type": "string" + }, + "AdTriggers": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.AdTriggers" + }, + "AdsOnDeliveryRestrictions": { + "type": "string" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsEncryption" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "PlaylistType": { + "type": "string" + }, + "PlaylistWindowSeconds": { + "type": "number" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "number" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + }, + "UseAudioRenditionGroup": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.MssEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.MssPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssEncryption" + }, + "ManifestWindowSeconds": { + "type": "number" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SystemIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "ResourceId", + "RoleArn", + "SystemIds", + "Url" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.StreamSelection": { + "additionalProperties": false, + "properties": { + "MaxVideoBitsPerSecond": { + "type": "number" + }, + "MinVideoBitsPerSecond": { + "type": "number" + }, + "StreamOrder": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CmafPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafPackage" + }, + "DashPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashPackage" + }, + "HlsPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsPackage" + }, + "Id": { + "type": "string" + }, + "MssPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssPackage" + }, + "PackagingGroupId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id", + "PackagingGroupId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::PackagingConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.CmafEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "type": "object" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.CmafPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + } + }, + "required": [ + "HlsManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.DashEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "type": "object" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.DashManifest": { + "additionalProperties": false, + "properties": { + "ManifestLayout": { + "type": "string" + }, + "ManifestName": { + "type": "string" + }, + "MinBufferTimeSeconds": { + "type": "number" + }, + "Profile": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.DashPackage": { + "additionalProperties": false, + "properties": { + "DashManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashManifest" + }, + "type": "array" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashEncryption" + }, + "PeriodTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "SegmentTemplateFormat": { + "type": "string" + } + }, + "required": [ + "DashManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.HlsEncryption": { + "additionalProperties": false, + "properties": { + "ConstantInitializationVector": { + "type": "string" + }, + "EncryptionMethod": { + "type": "string" + }, + "SpekeKeyProvider": { + "type": "object" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.HlsManifest": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "type": "string" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "ManifestName": { + "type": "string" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "number" + }, + "RepeatExtXKey": { + "type": "boolean" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.HlsPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "UseAudioRenditionGroup": { + "type": "boolean" + } + }, + "required": [ + "HlsManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.MssEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "type": "object" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.MssManifest": { + "additionalProperties": false, + "properties": { + "ManifestName": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.MssPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssEncryption" + }, + "MssManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + } + }, + "required": [ + "MssManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "SystemIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "SystemIds", + "Url" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.StreamSelection": { + "additionalProperties": false, + "properties": { + "MaxVideoBitsPerSecond": { + "type": "number" + }, + "MinVideoBitsPerSecond": { + "type": "number" + }, + "StreamOrder": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Authorization": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup.Authorization" + }, + "Id": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::PackagingGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingGroup.Authorization": { + "additionalProperties": false, + "properties": { + "CdnIdentifierSecret": { + "type": "string" + }, + "SecretsRoleArn": { + "type": "string" + } + }, + "required": [ + "CdnIdentifierSecret", + "SecretsRoleArn" + ], + "type": "object" + }, + "AWS::MediaStore::Container": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessLoggingEnabled": { + "type": "boolean" + }, + "ContainerName": { + "type": "string" + }, + "CorsPolicy": { + "items": { + "$ref": "#/definitions/AWS::MediaStore::Container.CorsRule" + }, + "type": "array" + }, + "LifecyclePolicy": { + "type": "string" + }, + "MetricPolicy": { + "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicy" + }, + "Policy": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ContainerName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaStore::Container" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaStore::Container.CorsRule": { + "additionalProperties": false, + "properties": { + "AllowedHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedOrigins": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExposeHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxAgeSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaStore::Container.MetricPolicy": { + "additionalProperties": false, + "properties": { + "ContainerLevelMetrics": { + "type": "string" + }, + "MetricPolicyRules": { + "items": { + "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicyRule" + }, + "type": "array" + } + }, + "required": [ + "ContainerLevelMetrics" + ], + "type": "object" + }, + "AWS::MediaStore::Container.MetricPolicyRule": { + "additionalProperties": false, + "properties": { + "ObjectGroup": { + "type": "string" + }, + "ObjectGroupName": { + "type": "string" + } + }, + "required": [ + "ObjectGroup", + "ObjectGroupName" + ], + "type": "object" + }, + "AWS::Neptune::DBCluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/AWS::Neptune::DBCluster.DBClusterRole" + }, + "type": "array" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BackupRetentionPeriod": { + "type": "number" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBClusterParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EngineVersion": { + "type": "string" + }, + "IamAuthEnabled": { + "type": "boolean" + }, + "KmsKeyId": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "RestoreToTime": { + "type": "string" + }, + "RestoreType": { + "type": "string" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Neptune::DBCluster.DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "AWS::Neptune::DBClusterParameterGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -63519,6 +64762,9 @@ var CloudformationSchema = `{ "EngineVersion": { "type": "string" }, + "GlobalClusterIdentifier": { + "type": "string" + }, "KmsKeyId": { "type": "string" }, @@ -67351,7 +68597,6 @@ var CloudformationSchema = `{ } }, "required": [ - "EventThreshold", "Status" ], "type": "object" @@ -67523,6 +68768,18 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::S3::Bucket.ReplicaModifications": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, "AWS::S3::Bucket.ReplicationConfiguration": { "additionalProperties": false, "properties": { @@ -67787,13 +69044,13 @@ var CloudformationSchema = `{ "AWS::S3::Bucket.SourceSelectionCriteria": { "additionalProperties": false, "properties": { + "ReplicaModifications": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicaModifications" + }, "SseKmsEncryptedObjects": { "$ref": "#/definitions/AWS::S3::Bucket.SseKmsEncryptedObjects" } }, - "required": [ - "SseKmsEncryptedObjects" - ], "type": "object" }, "AWS::S3::Bucket.SseKmsEncryptedObjects": { @@ -68755,6 +70012,9 @@ var CloudformationSchema = `{ "Region": { "type": "string" }, + "SubscriptionRoleArn": { + "type": "string" + }, "TopicArn": { "type": "string" } @@ -68824,6 +70084,9 @@ var CloudformationSchema = `{ "DisplayName": { "type": "string" }, + "FifoTopic": { + "type": "boolean" + }, "KmsMasterKeyId": { "type": "string" }, @@ -70862,6 +72125,9 @@ var CloudformationSchema = `{ "Image": { "type": "string" }, + "ImageConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.ImageConfig" + }, "Mode": { "type": "string" }, @@ -70874,6 +72140,18 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::SageMaker::Model.ImageConfig": { + "additionalProperties": false, + "properties": { + "RepositoryAccessMode": { + "type": "string" + } + }, + "required": [ + "RepositoryAccessMode" + ], + "type": "object" + }, "AWS::SageMaker::Model.VpcConfig": { "additionalProperties": false, "properties": { @@ -74344,6 +75622,12 @@ var CloudformationSchema = `{ }, "type": "array" }, + "SecurityGroupIds": { + "items": { + "$ref": "#/definitions/AWS::Transfer::Server.SecurityGroupId" + }, + "type": "array" + }, "SubnetIds": { "items": { "type": "string" @@ -74380,6 +75664,11 @@ var CloudformationSchema = `{ "properties": {}, "type": "object" }, + "AWS::Transfer::Server.SecurityGroupId": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::Transfer::User": { "additionalProperties": false, "properties": { @@ -79464,6 +80753,21 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::MediaLive::InputSecurityGroup" }, + { + "$ref": "#/definitions/AWS::MediaPackage::Asset" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::Channel" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup" + }, { "$ref": "#/definitions/AWS::MediaStore::Container" }, diff --git a/schema/cloudformation.schema.json b/schema/cloudformation.schema.json index 64e89596d9..3fb8ddab46 100644 --- a/schema/cloudformation.schema.json +++ b/schema/cloudformation.schema.json @@ -513,9 +513,6 @@ "HostInstanceType": { "type": "string" }, - "LdapMetadata": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.LdapMetadata" - }, "LdapServerMetadata": { "$ref": "#/definitions/AWS::AmazonMQ::Broker.LdapServerMetadata" }, @@ -620,40 +617,6 @@ ], "type": "object" }, - "AWS::AmazonMQ::Broker.InterBrokerCred": { - "additionalProperties": false, - "properties": { - "Password": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "Password", - "Username" - ], - "type": "object" - }, - "AWS::AmazonMQ::Broker.LdapMetadata": { - "additionalProperties": false, - "properties": { - "InterBrokerCreds": { - "items": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.InterBrokerCred" - }, - "type": "array" - }, - "ServerMetadata": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.ServerMetadata" - } - }, - "required": [ - "ServerMetadata" - ], - "type": "object" - }, "AWS::AmazonMQ::Broker.LdapServerMetadata": { "additionalProperties": false, "properties": { @@ -737,57 +700,6 @@ ], "type": "object" }, - "AWS::AmazonMQ::Broker.ServerMetadata": { - "additionalProperties": false, - "properties": { - "Hosts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RoleBase": { - "type": "string" - }, - "RoleName": { - "type": "string" - }, - "RoleSearchMatching": { - "type": "string" - }, - "RoleSearchSubtree": { - "type": "boolean" - }, - "ServiceAccountPassword": { - "type": "string" - }, - "ServiceAccountUsername": { - "type": "string" - }, - "UserBase": { - "type": "string" - }, - "UserRoleName": { - "type": "string" - }, - "UserSearchMatching": { - "type": "string" - }, - "UserSearchSubtree": { - "type": "boolean" - } - }, - "required": [ - "Hosts", - "RoleBase", - "RoleSearchMatching", - "ServiceAccountPassword", - "ServiceAccountUsername", - "UserBase", - "UserSearchMatching" - ], - "type": "object" - }, "AWS::AmazonMQ::Broker.TagsEntry": { "additionalProperties": false, "properties": { @@ -9475,6 +9387,9 @@ "ApiId": { "type": "string" }, + "ApiKeyId": { + "type": "string" + }, "Description": { "type": "string" }, @@ -9813,6 +9728,9 @@ }, "ResponseMappingTemplateS3Location": { "type": "string" + }, + "SyncConfig": { + "$ref": "#/definitions/AWS::AppSync::FunctionConfiguration.SyncConfig" } }, "required": [ @@ -9844,6 +9762,33 @@ ], "type": "object" }, + "AWS::AppSync::FunctionConfiguration.LambdaConflictHandlerConfig": { + "additionalProperties": false, + "properties": { + "LambdaConflictHandlerArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppSync::FunctionConfiguration.SyncConfig": { + "additionalProperties": false, + "properties": { + "ConflictDetection": { + "type": "string" + }, + "ConflictHandler": { + "type": "string" + }, + "LambdaConflictHandlerConfig": { + "$ref": "#/definitions/AWS::AppSync::FunctionConfiguration.LambdaConflictHandlerConfig" + } + }, + "required": [ + "ConflictDetection" + ], + "type": "object" + }, "AWS::AppSync::GraphQLApi": { "additionalProperties": false, "properties": { @@ -11075,6 +11020,9 @@ }, "QueryString": { "type": "string" + }, + "WorkGroup": { + "type": "string" } }, "required": [ @@ -11330,6 +11278,9 @@ }, "type": "array" }, + "CapacityRebalance": { + "type": "boolean" + }, "Cooldown": { "type": "string" }, @@ -11499,6 +11450,9 @@ "InstanceType": { "type": "string" }, + "LaunchTemplateSpecification": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification" + }, "WeightedCapacity": { "type": "string" } @@ -11702,6 +11656,9 @@ "LaunchConfigurationName": { "type": "string" }, + "MetadataOptions": { + "$ref": "#/definitions/AWS::AutoScaling::LaunchConfiguration.MetadataOption" + }, "PlacementTenancy": { "type": "string" }, @@ -11793,6 +11750,21 @@ ], "type": "object" }, + "AWS::AutoScaling::LaunchConfiguration.MetadataOption": { + "additionalProperties": false, + "properties": { + "HttpEndpoint": { + "type": "string" + }, + "HttpPutResponseHopLimit": { + "type": "number" + }, + "HttpTokens": { + "type": "string" + } + }, + "type": "object" + }, "AWS::AutoScaling::LifecycleHook": { "additionalProperties": false, "properties": { @@ -12864,6 +12836,9 @@ "State": { "type": "string" }, + "Tags": { + "type": "object" + }, "Type": { "type": "string" } @@ -13028,6 +13003,9 @@ "RetryStrategy": { "$ref": "#/definitions/AWS::Batch::JobDefinition.RetryStrategy" }, + "Tags": { + "type": "object" + }, "Timeout": { "$ref": "#/definitions/AWS::Batch::JobDefinition.Timeout" }, @@ -13434,6 +13412,9 @@ }, "State": { "type": "string" + }, + "Tags": { + "type": "object" } }, "required": [ @@ -15529,6 +15510,9 @@ "OriginPath": { "type": "string" }, + "OriginShield": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginShield" + }, "S3OriginConfig": { "$ref": "#/definitions/AWS::CloudFront::Distribution.S3OriginConfig" } @@ -15636,6 +15620,21 @@ ], "type": "object" }, + "AWS::CloudFront::Distribution.OriginShield": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "OriginShieldRegion": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, "AWS::CloudFront::Distribution.Restrictions": { "additionalProperties": false, "properties": { @@ -27776,6 +27775,9 @@ "Properties": { "additionalProperties": false, "properties": { + "CarrierGatewayId": { + "type": "string" + }, "DestinationCidrBlock": { "type": "string" }, @@ -27791,6 +27793,9 @@ "InstanceId": { "type": "string" }, + "LocalGatewayId": { + "type": "string" + }, "NatGatewayId": { "type": "string" }, @@ -27803,6 +27808,9 @@ "TransitGatewayId": { "type": "string" }, + "VpcEndpointId": { + "type": "string" + }, "VpcPeeringConnectionId": { "type": "string" } @@ -28781,6 +28789,9 @@ "MapPublicIpOnLaunch": { "type": "boolean" }, + "OutpostArn": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -33345,9 +33356,15 @@ "KerberosAttributes": { "$ref": "#/definitions/AWS::EMR::Cluster.KerberosAttributes" }, + "LogEncryptionKmsKeyId": { + "type": "string" + }, "LogUri": { "type": "string" }, + "ManagedScalingPolicy": { + "$ref": "#/definitions/AWS::EMR::Cluster.ManagedScalingPolicy" + }, "Name": { "type": "string" }, @@ -33363,6 +33380,9 @@ "ServiceRole": { "type": "string" }, + "StepConcurrencyLevel": { + "type": "number" + }, "Steps": { "items": { "$ref": "#/definitions/AWS::EMR::Cluster.StepConfig" @@ -33512,6 +33532,32 @@ ], "type": "object" }, + "AWS::EMR::Cluster.ComputeLimits": { + "additionalProperties": false, + "properties": { + "MaximumCapacityUnits": { + "type": "number" + }, + "MaximumCoreCapacityUnits": { + "type": "number" + }, + "MaximumOnDemandCapacityUnits": { + "type": "number" + }, + "MinimumCapacityUnits": { + "type": "number" + }, + "UnitType": { + "type": "string" + } + }, + "required": [ + "MaximumCapacityUnits", + "MinimumCapacityUnits", + "UnitType" + ], + "type": "object" + }, "AWS::EMR::Cluster.Configuration": { "additionalProperties": false, "properties": { @@ -33620,13 +33666,13 @@ "AWS::EMR::Cluster.InstanceFleetProvisioningSpecifications": { "additionalProperties": false, "properties": { + "OnDemandSpecification": { + "$ref": "#/definitions/AWS::EMR::Cluster.OnDemandProvisioningSpecification" + }, "SpotSpecification": { "$ref": "#/definitions/AWS::EMR::Cluster.SpotProvisioningSpecification" } }, - "required": [ - "SpotSpecification" - ], "type": "object" }, "AWS::EMR::Cluster.InstanceGroupConfig": { @@ -33796,6 +33842,15 @@ }, "type": "object" }, + "AWS::EMR::Cluster.ManagedScalingPolicy": { + "additionalProperties": false, + "properties": { + "ComputeLimits": { + "$ref": "#/definitions/AWS::EMR::Cluster.ComputeLimits" + } + }, + "type": "object" + }, "AWS::EMR::Cluster.MetricDimension": { "additionalProperties": false, "properties": { @@ -33812,6 +33867,18 @@ ], "type": "object" }, + "AWS::EMR::Cluster.OnDemandProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + } + }, + "required": [ + "AllocationStrategy" + ], + "type": "object" + }, "AWS::EMR::Cluster.PlacementType": { "additionalProperties": false, "properties": { @@ -33929,6 +33996,9 @@ "AWS::EMR::Cluster.SpotProvisioningSpecification": { "additionalProperties": false, "properties": { + "AllocationStrategy": { + "type": "string" + }, "BlockDurationMinutes": { "type": "number" }, @@ -34124,13 +34194,13 @@ "AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications": { "additionalProperties": false, "properties": { + "OnDemandSpecification": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification" + }, "SpotSpecification": { "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification" } }, - "required": [ - "SpotSpecification" - ], "type": "object" }, "AWS::EMR::InstanceFleetConfig.InstanceTypeConfig": { @@ -34163,9 +34233,24 @@ ], "type": "object" }, + "AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + } + }, + "required": [ + "AllocationStrategy" + ], + "type": "object" + }, "AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification": { "additionalProperties": false, "properties": { + "AllocationStrategy": { + "type": "string" + }, "BlockDurationMinutes": { "type": "number" }, @@ -34987,6 +35072,9 @@ "EngineVersion": { "type": "string" }, + "GlobalReplicationGroupId": { + "type": "string" + }, "KmsKeyId": { "type": "string" }, @@ -36149,9 +36237,7 @@ }, "required": [ "DefaultActions", - "LoadBalancerArn", - "Port", - "Protocol" + "LoadBalancerArn" ], "type": "object" }, @@ -37000,6 +37086,9 @@ "AllocationId": { "type": "string" }, + "IPv6Address": { + "type": "string" + }, "PrivateIPv4Address": { "type": "string" }, @@ -37134,9 +37223,6 @@ "type": "string" } }, - "required": [ - "HttpCode" - ], "type": "object" }, "AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription": { @@ -37365,6 +37451,15 @@ "InstanceType": { "type": "string" }, + "WarmCount": { + "type": "number" + }, + "WarmEnabled": { + "type": "boolean" + }, + "WarmType": { + "type": "string" + }, "ZoneAwarenessConfig": { "$ref": "#/definitions/AWS::Elasticsearch::Domain.ZoneAwarenessConfig" }, @@ -38097,6 +38192,15 @@ }, "type": "object" }, + "AWS::Events::Rule.DeadLetterConfig": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Events::Rule.EcsParameters": { "additionalProperties": false, "properties": { @@ -38196,6 +38300,46 @@ }, "type": "object" }, + "AWS::Events::Rule.RedshiftDataParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "DbUser": { + "type": "string" + }, + "SecretManagerArn": { + "type": "string" + }, + "Sql": { + "type": "string" + }, + "StatementName": { + "type": "string" + }, + "WithEvent": { + "type": "boolean" + } + }, + "required": [ + "Database", + "Sql" + ], + "type": "object" + }, + "AWS::Events::Rule.RetryPolicy": { + "additionalProperties": false, + "properties": { + "MaximumEventAgeInSeconds": { + "type": "number" + }, + "MaximumRetryAttempts": { + "type": "number" + } + }, + "type": "object" + }, "AWS::Events::Rule.RunCommandParameters": { "additionalProperties": false, "properties": { @@ -38251,6 +38395,9 @@ "BatchParameters": { "$ref": "#/definitions/AWS::Events::Rule.BatchParameters" }, + "DeadLetterConfig": { + "$ref": "#/definitions/AWS::Events::Rule.DeadLetterConfig" + }, "EcsParameters": { "$ref": "#/definitions/AWS::Events::Rule.EcsParameters" }, @@ -38272,6 +38419,12 @@ "KinesisParameters": { "$ref": "#/definitions/AWS::Events::Rule.KinesisParameters" }, + "RedshiftDataParameters": { + "$ref": "#/definitions/AWS::Events::Rule.RedshiftDataParameters" + }, + "RetryPolicy": { + "$ref": "#/definitions/AWS::Events::Rule.RetryPolicy" + }, "RoleArn": { "type": "string" }, @@ -39436,6 +39589,9 @@ "Description": { "type": "string" }, + "FlexMatchMode": { + "type": "string" + }, "GameProperties": { "items": { "$ref": "#/definitions/AWS::GameLift::MatchmakingConfiguration.GameProperty" @@ -39466,7 +39622,6 @@ }, "required": [ "AcceptanceRequired", - "GameSessionQueueArns", "Name", "RequestTimeoutSeconds", "RuleSetName" @@ -51934,6 +52089,9 @@ "Properties": { "additionalProperties": false, "properties": { + "DeliveryStreamEncryptionConfigurationInput": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput" + }, "DeliveryStreamName": { "type": "string" }, @@ -51960,6 +52118,12 @@ }, "SplunkDestinationConfiguration": { "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SplunkDestinationConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "type": "object" @@ -52047,6 +52211,21 @@ }, "type": "object" }, + "AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput": { + "additionalProperties": false, + "properties": { + "KeyARN": { + "type": "string" + }, + "KeyType": { + "type": "string" + } + }, + "required": [ + "KeyType" + ], + "type": "object" + }, "AWS::KinesisFirehose::DeliveryStream.Deserializer": { "additionalProperties": false, "properties": { @@ -53298,6 +53477,18 @@ "ParallelizationFactor": { "type": "number" }, + "Queues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceAccessConfigurations": { + "items": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.SourceAccessConfiguration" + }, + "type": "array" + }, "StartingPosition": { "type": "string" }, @@ -53353,6 +53544,18 @@ }, "type": "object" }, + "AWS::Lambda::EventSourceMapping.SourceAccessConfiguration": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "URI": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Lambda::Function": { "additionalProperties": false, "properties": { @@ -54001,6 +54204,9 @@ "Properties": { "additionalProperties": false, "properties": { + "KmsKeyId": { + "type": "string" + }, "LogGroupName": { "type": "string" }, @@ -58213,7 +58419,7 @@ }, "type": "object" }, - "AWS::MediaStore::Container": { + "AWS::MediaPackage::Asset": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -58245,246 +58451,45 @@ "Properties": { "additionalProperties": false, "properties": { - "AccessLoggingEnabled": { - "type": "boolean" - }, - "ContainerName": { - "type": "string" - }, - "CorsPolicy": { + "EgressEndpoints": { "items": { - "$ref": "#/definitions/AWS::MediaStore::Container.CorsRule" + "$ref": "#/definitions/AWS::MediaPackage::Asset.EgressEndpoint" }, "type": "array" }, - "LifecyclePolicy": { + "Id": { "type": "string" }, - "MetricPolicy": { - "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicy" - }, - "Policy": { + "PackagingGroupId": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ContainerName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaStore::Container" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaStore::Container.CorsRule": { - "additionalProperties": false, - "properties": { - "AllowedHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedMethods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedOrigins": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ExposeHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaxAgeSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaStore::Container.MetricPolicy": { - "additionalProperties": false, - "properties": { - "ContainerLevelMetrics": { - "type": "string" - }, - "MetricPolicyRules": { - "items": { - "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicyRule" - }, - "type": "array" - } - }, - "required": [ - "ContainerLevelMetrics" - ], - "type": "object" - }, - "AWS::MediaStore::Container.MetricPolicyRule": { - "additionalProperties": false, - "properties": { - "ObjectGroup": { - "type": "string" - }, - "ObjectGroupName": { - "type": "string" - } - }, - "required": [ - "ObjectGroup", - "ObjectGroupName" - ], - "type": "object" - }, - "AWS::Neptune::DBCluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/AWS::Neptune::DBCluster.DBClusterRole" - }, - "type": "array" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BackupRetentionPeriod": { - "type": "number" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBClusterParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EngineVersion": { - "type": "string" - }, - "IamAuthEnabled": { - "type": "boolean" - }, - "KmsKeyId": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "RestoreToTime": { - "type": "string" - }, - "RestoreType": { + "ResourceId": { "type": "string" }, - "SnapshotIdentifier": { + "SourceArn": { "type": "string" }, - "SourceDBClusterIdentifier": { + "SourceRoleArn": { "type": "string" }, - "StorageEncrypted": { - "type": "boolean" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" } }, + "required": [ + "Id", + "PackagingGroupId", + "SourceArn", + "SourceRoleArn" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Neptune::DBCluster" + "AWS::MediaPackage::Asset" ], "type": "string" }, @@ -58498,26 +58503,1264 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Neptune::DBCluster.DBClusterRole": { + "AWS::MediaPackage::Asset.EgressEndpoint": { "additionalProperties": false, "properties": { - "FeatureName": { + "PackagingConfigurationId": { "type": "string" }, - "RoleArn": { + "Url": { "type": "string" } }, "required": [ - "RoleArn" + "PackagingConfigurationId", + "Url" ], "type": "object" }, - "AWS::Neptune::DBClusterParameterGroup": { + "AWS::MediaPackage::Channel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::Channel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::Channel.HlsIngest": { + "additionalProperties": false, + "properties": { + "ingestEndpoints": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::Channel.IngestEndpoint" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaPackage::Channel.IngestEndpoint": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Password": { + "type": "string" + }, + "Url": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Authorization": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.Authorization" + }, + "ChannelId": { + "type": "string" + }, + "CmafPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafPackage" + }, + "DashPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashPackage" + }, + "Description": { + "type": "string" + }, + "HlsPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsPackage" + }, + "Id": { + "type": "string" + }, + "ManifestName": { + "type": "string" + }, + "MssPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssPackage" + }, + "Origination": { + "type": "string" + }, + "StartoverWindowSeconds": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TimeDelaySeconds": { + "type": "number" + }, + "Whitelist": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ChannelId", + "Id" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::OriginEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.AdTriggers": { + "additionalProperties": false, + "properties": { + "AdTriggers": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.Authorization": { + "additionalProperties": false, + "properties": { + "CdnIdentifierSecret": { + "type": "string" + }, + "SecretsRoleArn": { + "type": "string" + } + }, + "required": [ + "CdnIdentifierSecret", + "SecretsRoleArn" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.CmafEncryption": { + "additionalProperties": false, + "properties": { + "KeyRotationIntervalSeconds": { + "type": "number" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.CmafPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "SegmentPrefix": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.DashEncryption": { + "additionalProperties": false, + "properties": { + "KeyRotationIntervalSeconds": { + "type": "number" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.DashPackage": { + "additionalProperties": false, + "properties": { + "AdTriggers": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.AdTriggers" + }, + "AdsOnDeliveryRestrictions": { + "type": "string" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashEncryption" + }, + "ManifestLayout": { + "type": "string" + }, + "ManifestWindowSeconds": { + "type": "number" + }, + "MinBufferTimeSeconds": { + "type": "number" + }, + "MinUpdatePeriodSeconds": { + "type": "number" + }, + "PeriodTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Profile": { + "type": "string" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "SegmentTemplateFormat": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + }, + "SuggestedPresentationDelaySeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.HlsEncryption": { + "additionalProperties": false, + "properties": { + "ConstantInitializationVector": { + "type": "string" + }, + "EncryptionMethod": { + "type": "string" + }, + "KeyRotationIntervalSeconds": { + "type": "number" + }, + "RepeatExtXKey": { + "type": "boolean" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.HlsManifest": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "type": "string" + }, + "AdTriggers": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.AdTriggers" + }, + "AdsOnDeliveryRestrictions": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "ManifestName": { + "type": "string" + }, + "PlaylistType": { + "type": "string" + }, + "PlaylistWindowSeconds": { + "type": "number" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "number" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.HlsPackage": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "type": "string" + }, + "AdTriggers": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.AdTriggers" + }, + "AdsOnDeliveryRestrictions": { + "type": "string" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsEncryption" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "PlaylistType": { + "type": "string" + }, + "PlaylistWindowSeconds": { + "type": "number" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "number" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + }, + "UseAudioRenditionGroup": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.MssEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.MssPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssEncryption" + }, + "ManifestWindowSeconds": { + "type": "number" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SystemIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "ResourceId", + "RoleArn", + "SystemIds", + "Url" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.StreamSelection": { + "additionalProperties": false, + "properties": { + "MaxVideoBitsPerSecond": { + "type": "number" + }, + "MinVideoBitsPerSecond": { + "type": "number" + }, + "StreamOrder": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CmafPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafPackage" + }, + "DashPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashPackage" + }, + "HlsPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsPackage" + }, + "Id": { + "type": "string" + }, + "MssPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssPackage" + }, + "PackagingGroupId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id", + "PackagingGroupId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::PackagingConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.CmafEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "type": "object" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.CmafPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + } + }, + "required": [ + "HlsManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.DashEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "type": "object" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.DashManifest": { + "additionalProperties": false, + "properties": { + "ManifestLayout": { + "type": "string" + }, + "ManifestName": { + "type": "string" + }, + "MinBufferTimeSeconds": { + "type": "number" + }, + "Profile": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.DashPackage": { + "additionalProperties": false, + "properties": { + "DashManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashManifest" + }, + "type": "array" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashEncryption" + }, + "PeriodTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "SegmentTemplateFormat": { + "type": "string" + } + }, + "required": [ + "DashManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.HlsEncryption": { + "additionalProperties": false, + "properties": { + "ConstantInitializationVector": { + "type": "string" + }, + "EncryptionMethod": { + "type": "string" + }, + "SpekeKeyProvider": { + "type": "object" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.HlsManifest": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "type": "string" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "ManifestName": { + "type": "string" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "number" + }, + "RepeatExtXKey": { + "type": "boolean" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.HlsPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "UseAudioRenditionGroup": { + "type": "boolean" + } + }, + "required": [ + "HlsManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.MssEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "type": "object" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.MssManifest": { + "additionalProperties": false, + "properties": { + "ManifestName": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.MssPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssEncryption" + }, + "MssManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + } + }, + "required": [ + "MssManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "SystemIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "SystemIds", + "Url" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.StreamSelection": { + "additionalProperties": false, + "properties": { + "MaxVideoBitsPerSecond": { + "type": "number" + }, + "MinVideoBitsPerSecond": { + "type": "number" + }, + "StreamOrder": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Authorization": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup.Authorization" + }, + "Id": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::PackagingGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingGroup.Authorization": { + "additionalProperties": false, + "properties": { + "CdnIdentifierSecret": { + "type": "string" + }, + "SecretsRoleArn": { + "type": "string" + } + }, + "required": [ + "CdnIdentifierSecret", + "SecretsRoleArn" + ], + "type": "object" + }, + "AWS::MediaStore::Container": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessLoggingEnabled": { + "type": "boolean" + }, + "ContainerName": { + "type": "string" + }, + "CorsPolicy": { + "items": { + "$ref": "#/definitions/AWS::MediaStore::Container.CorsRule" + }, + "type": "array" + }, + "LifecyclePolicy": { + "type": "string" + }, + "MetricPolicy": { + "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicy" + }, + "Policy": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ContainerName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaStore::Container" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaStore::Container.CorsRule": { + "additionalProperties": false, + "properties": { + "AllowedHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedOrigins": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExposeHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxAgeSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaStore::Container.MetricPolicy": { + "additionalProperties": false, + "properties": { + "ContainerLevelMetrics": { + "type": "string" + }, + "MetricPolicyRules": { + "items": { + "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicyRule" + }, + "type": "array" + } + }, + "required": [ + "ContainerLevelMetrics" + ], + "type": "object" + }, + "AWS::MediaStore::Container.MetricPolicyRule": { + "additionalProperties": false, + "properties": { + "ObjectGroup": { + "type": "string" + }, + "ObjectGroupName": { + "type": "string" + } + }, + "required": [ + "ObjectGroup", + "ObjectGroupName" + ], + "type": "object" + }, + "AWS::Neptune::DBCluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/AWS::Neptune::DBCluster.DBClusterRole" + }, + "type": "array" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BackupRetentionPeriod": { + "type": "number" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBClusterParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EngineVersion": { + "type": "string" + }, + "IamAuthEnabled": { + "type": "boolean" + }, + "KmsKeyId": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "RestoreToTime": { + "type": "string" + }, + "RestoreType": { + "type": "string" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Neptune::DBCluster.DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "AWS::Neptune::DBClusterParameterGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -63516,6 +64759,9 @@ "EngineVersion": { "type": "string" }, + "GlobalClusterIdentifier": { + "type": "string" + }, "KmsKeyId": { "type": "string" }, @@ -67348,7 +68594,6 @@ } }, "required": [ - "EventThreshold", "Status" ], "type": "object" @@ -67520,6 +68765,18 @@ }, "type": "object" }, + "AWS::S3::Bucket.ReplicaModifications": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, "AWS::S3::Bucket.ReplicationConfiguration": { "additionalProperties": false, "properties": { @@ -67784,13 +69041,13 @@ "AWS::S3::Bucket.SourceSelectionCriteria": { "additionalProperties": false, "properties": { + "ReplicaModifications": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicaModifications" + }, "SseKmsEncryptedObjects": { "$ref": "#/definitions/AWS::S3::Bucket.SseKmsEncryptedObjects" } }, - "required": [ - "SseKmsEncryptedObjects" - ], "type": "object" }, "AWS::S3::Bucket.SseKmsEncryptedObjects": { @@ -68752,6 +70009,9 @@ "Region": { "type": "string" }, + "SubscriptionRoleArn": { + "type": "string" + }, "TopicArn": { "type": "string" } @@ -68821,6 +70081,9 @@ "DisplayName": { "type": "string" }, + "FifoTopic": { + "type": "boolean" + }, "KmsMasterKeyId": { "type": "string" }, @@ -70859,6 +72122,9 @@ "Image": { "type": "string" }, + "ImageConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.ImageConfig" + }, "Mode": { "type": "string" }, @@ -70871,6 +72137,18 @@ }, "type": "object" }, + "AWS::SageMaker::Model.ImageConfig": { + "additionalProperties": false, + "properties": { + "RepositoryAccessMode": { + "type": "string" + } + }, + "required": [ + "RepositoryAccessMode" + ], + "type": "object" + }, "AWS::SageMaker::Model.VpcConfig": { "additionalProperties": false, "properties": { @@ -74341,6 +75619,12 @@ }, "type": "array" }, + "SecurityGroupIds": { + "items": { + "$ref": "#/definitions/AWS::Transfer::Server.SecurityGroupId" + }, + "type": "array" + }, "SubnetIds": { "items": { "type": "string" @@ -74377,6 +75661,11 @@ "properties": {}, "type": "object" }, + "AWS::Transfer::Server.SecurityGroupId": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::Transfer::User": { "additionalProperties": false, "properties": { @@ -79461,6 +80750,21 @@ { "$ref": "#/definitions/AWS::MediaLive::InputSecurityGroup" }, + { + "$ref": "#/definitions/AWS::MediaPackage::Asset" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::Channel" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup" + }, { "$ref": "#/definitions/AWS::MediaStore::Container" }, diff --git a/schema/sam.go b/schema/sam.go index b07f5d451a..7779e29d52 100644 --- a/schema/sam.go +++ b/schema/sam.go @@ -516,9 +516,6 @@ var SamSchema = `{ "HostInstanceType": { "type": "string" }, - "LdapMetadata": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.LdapMetadata" - }, "LdapServerMetadata": { "$ref": "#/definitions/AWS::AmazonMQ::Broker.LdapServerMetadata" }, @@ -623,40 +620,6 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::AmazonMQ::Broker.InterBrokerCred": { - "additionalProperties": false, - "properties": { - "Password": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "Password", - "Username" - ], - "type": "object" - }, - "AWS::AmazonMQ::Broker.LdapMetadata": { - "additionalProperties": false, - "properties": { - "InterBrokerCreds": { - "items": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.InterBrokerCred" - }, - "type": "array" - }, - "ServerMetadata": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.ServerMetadata" - } - }, - "required": [ - "ServerMetadata" - ], - "type": "object" - }, "AWS::AmazonMQ::Broker.LdapServerMetadata": { "additionalProperties": false, "properties": { @@ -740,57 +703,6 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::AmazonMQ::Broker.ServerMetadata": { - "additionalProperties": false, - "properties": { - "Hosts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RoleBase": { - "type": "string" - }, - "RoleName": { - "type": "string" - }, - "RoleSearchMatching": { - "type": "string" - }, - "RoleSearchSubtree": { - "type": "boolean" - }, - "ServiceAccountPassword": { - "type": "string" - }, - "ServiceAccountUsername": { - "type": "string" - }, - "UserBase": { - "type": "string" - }, - "UserRoleName": { - "type": "string" - }, - "UserSearchMatching": { - "type": "string" - }, - "UserSearchSubtree": { - "type": "boolean" - } - }, - "required": [ - "Hosts", - "RoleBase", - "RoleSearchMatching", - "ServiceAccountPassword", - "ServiceAccountUsername", - "UserBase", - "UserSearchMatching" - ], - "type": "object" - }, "AWS::AmazonMQ::Broker.TagsEntry": { "additionalProperties": false, "properties": { @@ -9478,6 +9390,9 @@ var SamSchema = `{ "ApiId": { "type": "string" }, + "ApiKeyId": { + "type": "string" + }, "Description": { "type": "string" }, @@ -9816,6 +9731,9 @@ var SamSchema = `{ }, "ResponseMappingTemplateS3Location": { "type": "string" + }, + "SyncConfig": { + "$ref": "#/definitions/AWS::AppSync::FunctionConfiguration.SyncConfig" } }, "required": [ @@ -9847,6 +9765,33 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::AppSync::FunctionConfiguration.LambdaConflictHandlerConfig": { + "additionalProperties": false, + "properties": { + "LambdaConflictHandlerArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppSync::FunctionConfiguration.SyncConfig": { + "additionalProperties": false, + "properties": { + "ConflictDetection": { + "type": "string" + }, + "ConflictHandler": { + "type": "string" + }, + "LambdaConflictHandlerConfig": { + "$ref": "#/definitions/AWS::AppSync::FunctionConfiguration.LambdaConflictHandlerConfig" + } + }, + "required": [ + "ConflictDetection" + ], + "type": "object" + }, "AWS::AppSync::GraphQLApi": { "additionalProperties": false, "properties": { @@ -11078,6 +11023,9 @@ var SamSchema = `{ }, "QueryString": { "type": "string" + }, + "WorkGroup": { + "type": "string" } }, "required": [ @@ -11333,6 +11281,9 @@ var SamSchema = `{ }, "type": "array" }, + "CapacityRebalance": { + "type": "boolean" + }, "Cooldown": { "type": "string" }, @@ -11502,6 +11453,9 @@ var SamSchema = `{ "InstanceType": { "type": "string" }, + "LaunchTemplateSpecification": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification" + }, "WeightedCapacity": { "type": "string" } @@ -11705,6 +11659,9 @@ var SamSchema = `{ "LaunchConfigurationName": { "type": "string" }, + "MetadataOptions": { + "$ref": "#/definitions/AWS::AutoScaling::LaunchConfiguration.MetadataOption" + }, "PlacementTenancy": { "type": "string" }, @@ -11796,6 +11753,21 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::AutoScaling::LaunchConfiguration.MetadataOption": { + "additionalProperties": false, + "properties": { + "HttpEndpoint": { + "type": "string" + }, + "HttpPutResponseHopLimit": { + "type": "number" + }, + "HttpTokens": { + "type": "string" + } + }, + "type": "object" + }, "AWS::AutoScaling::LifecycleHook": { "additionalProperties": false, "properties": { @@ -12867,6 +12839,9 @@ var SamSchema = `{ "State": { "type": "string" }, + "Tags": { + "type": "object" + }, "Type": { "type": "string" } @@ -13031,6 +13006,9 @@ var SamSchema = `{ "RetryStrategy": { "$ref": "#/definitions/AWS::Batch::JobDefinition.RetryStrategy" }, + "Tags": { + "type": "object" + }, "Timeout": { "$ref": "#/definitions/AWS::Batch::JobDefinition.Timeout" }, @@ -13437,6 +13415,9 @@ var SamSchema = `{ }, "State": { "type": "string" + }, + "Tags": { + "type": "object" } }, "required": [ @@ -15532,6 +15513,9 @@ var SamSchema = `{ "OriginPath": { "type": "string" }, + "OriginShield": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginShield" + }, "S3OriginConfig": { "$ref": "#/definitions/AWS::CloudFront::Distribution.S3OriginConfig" } @@ -15639,6 +15623,21 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::CloudFront::Distribution.OriginShield": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "OriginShieldRegion": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, "AWS::CloudFront::Distribution.Restrictions": { "additionalProperties": false, "properties": { @@ -27779,6 +27778,9 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "CarrierGatewayId": { + "type": "string" + }, "DestinationCidrBlock": { "type": "string" }, @@ -27794,6 +27796,9 @@ var SamSchema = `{ "InstanceId": { "type": "string" }, + "LocalGatewayId": { + "type": "string" + }, "NatGatewayId": { "type": "string" }, @@ -27806,6 +27811,9 @@ var SamSchema = `{ "TransitGatewayId": { "type": "string" }, + "VpcEndpointId": { + "type": "string" + }, "VpcPeeringConnectionId": { "type": "string" } @@ -28784,6 +28792,9 @@ var SamSchema = `{ "MapPublicIpOnLaunch": { "type": "boolean" }, + "OutpostArn": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -33348,9 +33359,15 @@ var SamSchema = `{ "KerberosAttributes": { "$ref": "#/definitions/AWS::EMR::Cluster.KerberosAttributes" }, + "LogEncryptionKmsKeyId": { + "type": "string" + }, "LogUri": { "type": "string" }, + "ManagedScalingPolicy": { + "$ref": "#/definitions/AWS::EMR::Cluster.ManagedScalingPolicy" + }, "Name": { "type": "string" }, @@ -33366,6 +33383,9 @@ var SamSchema = `{ "ServiceRole": { "type": "string" }, + "StepConcurrencyLevel": { + "type": "number" + }, "Steps": { "items": { "$ref": "#/definitions/AWS::EMR::Cluster.StepConfig" @@ -33515,6 +33535,32 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::EMR::Cluster.ComputeLimits": { + "additionalProperties": false, + "properties": { + "MaximumCapacityUnits": { + "type": "number" + }, + "MaximumCoreCapacityUnits": { + "type": "number" + }, + "MaximumOnDemandCapacityUnits": { + "type": "number" + }, + "MinimumCapacityUnits": { + "type": "number" + }, + "UnitType": { + "type": "string" + } + }, + "required": [ + "MaximumCapacityUnits", + "MinimumCapacityUnits", + "UnitType" + ], + "type": "object" + }, "AWS::EMR::Cluster.Configuration": { "additionalProperties": false, "properties": { @@ -33623,13 +33669,13 @@ var SamSchema = `{ "AWS::EMR::Cluster.InstanceFleetProvisioningSpecifications": { "additionalProperties": false, "properties": { + "OnDemandSpecification": { + "$ref": "#/definitions/AWS::EMR::Cluster.OnDemandProvisioningSpecification" + }, "SpotSpecification": { "$ref": "#/definitions/AWS::EMR::Cluster.SpotProvisioningSpecification" } }, - "required": [ - "SpotSpecification" - ], "type": "object" }, "AWS::EMR::Cluster.InstanceGroupConfig": { @@ -33799,6 +33845,15 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::EMR::Cluster.ManagedScalingPolicy": { + "additionalProperties": false, + "properties": { + "ComputeLimits": { + "$ref": "#/definitions/AWS::EMR::Cluster.ComputeLimits" + } + }, + "type": "object" + }, "AWS::EMR::Cluster.MetricDimension": { "additionalProperties": false, "properties": { @@ -33815,6 +33870,18 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::EMR::Cluster.OnDemandProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + } + }, + "required": [ + "AllocationStrategy" + ], + "type": "object" + }, "AWS::EMR::Cluster.PlacementType": { "additionalProperties": false, "properties": { @@ -33932,6 +33999,9 @@ var SamSchema = `{ "AWS::EMR::Cluster.SpotProvisioningSpecification": { "additionalProperties": false, "properties": { + "AllocationStrategy": { + "type": "string" + }, "BlockDurationMinutes": { "type": "number" }, @@ -34127,13 +34197,13 @@ var SamSchema = `{ "AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications": { "additionalProperties": false, "properties": { + "OnDemandSpecification": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification" + }, "SpotSpecification": { "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification" } }, - "required": [ - "SpotSpecification" - ], "type": "object" }, "AWS::EMR::InstanceFleetConfig.InstanceTypeConfig": { @@ -34166,9 +34236,24 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + } + }, + "required": [ + "AllocationStrategy" + ], + "type": "object" + }, "AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification": { "additionalProperties": false, "properties": { + "AllocationStrategy": { + "type": "string" + }, "BlockDurationMinutes": { "type": "number" }, @@ -34990,6 +35075,9 @@ var SamSchema = `{ "EngineVersion": { "type": "string" }, + "GlobalReplicationGroupId": { + "type": "string" + }, "KmsKeyId": { "type": "string" }, @@ -36152,9 +36240,7 @@ var SamSchema = `{ }, "required": [ "DefaultActions", - "LoadBalancerArn", - "Port", - "Protocol" + "LoadBalancerArn" ], "type": "object" }, @@ -37003,6 +37089,9 @@ var SamSchema = `{ "AllocationId": { "type": "string" }, + "IPv6Address": { + "type": "string" + }, "PrivateIPv4Address": { "type": "string" }, @@ -37137,9 +37226,6 @@ var SamSchema = `{ "type": "string" } }, - "required": [ - "HttpCode" - ], "type": "object" }, "AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription": { @@ -37368,6 +37454,15 @@ var SamSchema = `{ "InstanceType": { "type": "string" }, + "WarmCount": { + "type": "number" + }, + "WarmEnabled": { + "type": "boolean" + }, + "WarmType": { + "type": "string" + }, "ZoneAwarenessConfig": { "$ref": "#/definitions/AWS::Elasticsearch::Domain.ZoneAwarenessConfig" }, @@ -38100,6 +38195,15 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::Events::Rule.DeadLetterConfig": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Events::Rule.EcsParameters": { "additionalProperties": false, "properties": { @@ -38199,6 +38303,46 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::Events::Rule.RedshiftDataParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "DbUser": { + "type": "string" + }, + "SecretManagerArn": { + "type": "string" + }, + "Sql": { + "type": "string" + }, + "StatementName": { + "type": "string" + }, + "WithEvent": { + "type": "boolean" + } + }, + "required": [ + "Database", + "Sql" + ], + "type": "object" + }, + "AWS::Events::Rule.RetryPolicy": { + "additionalProperties": false, + "properties": { + "MaximumEventAgeInSeconds": { + "type": "number" + }, + "MaximumRetryAttempts": { + "type": "number" + } + }, + "type": "object" + }, "AWS::Events::Rule.RunCommandParameters": { "additionalProperties": false, "properties": { @@ -38254,6 +38398,9 @@ var SamSchema = `{ "BatchParameters": { "$ref": "#/definitions/AWS::Events::Rule.BatchParameters" }, + "DeadLetterConfig": { + "$ref": "#/definitions/AWS::Events::Rule.DeadLetterConfig" + }, "EcsParameters": { "$ref": "#/definitions/AWS::Events::Rule.EcsParameters" }, @@ -38275,6 +38422,12 @@ var SamSchema = `{ "KinesisParameters": { "$ref": "#/definitions/AWS::Events::Rule.KinesisParameters" }, + "RedshiftDataParameters": { + "$ref": "#/definitions/AWS::Events::Rule.RedshiftDataParameters" + }, + "RetryPolicy": { + "$ref": "#/definitions/AWS::Events::Rule.RetryPolicy" + }, "RoleArn": { "type": "string" }, @@ -39439,6 +39592,9 @@ var SamSchema = `{ "Description": { "type": "string" }, + "FlexMatchMode": { + "type": "string" + }, "GameProperties": { "items": { "$ref": "#/definitions/AWS::GameLift::MatchmakingConfiguration.GameProperty" @@ -39469,7 +39625,6 @@ var SamSchema = `{ }, "required": [ "AcceptanceRequired", - "GameSessionQueueArns", "Name", "RequestTimeoutSeconds", "RuleSetName" @@ -51937,6 +52092,9 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "DeliveryStreamEncryptionConfigurationInput": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput" + }, "DeliveryStreamName": { "type": "string" }, @@ -51963,6 +52121,12 @@ var SamSchema = `{ }, "SplunkDestinationConfiguration": { "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SplunkDestinationConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "type": "object" @@ -52050,6 +52214,21 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput": { + "additionalProperties": false, + "properties": { + "KeyARN": { + "type": "string" + }, + "KeyType": { + "type": "string" + } + }, + "required": [ + "KeyType" + ], + "type": "object" + }, "AWS::KinesisFirehose::DeliveryStream.Deserializer": { "additionalProperties": false, "properties": { @@ -53301,6 +53480,18 @@ var SamSchema = `{ "ParallelizationFactor": { "type": "number" }, + "Queues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceAccessConfigurations": { + "items": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.SourceAccessConfiguration" + }, + "type": "array" + }, "StartingPosition": { "type": "string" }, @@ -53356,6 +53547,18 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::Lambda::EventSourceMapping.SourceAccessConfiguration": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "URI": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Lambda::Function": { "additionalProperties": false, "properties": { @@ -54004,6 +54207,9 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "KmsKeyId": { + "type": "string" + }, "LogGroupName": { "type": "string" }, @@ -58216,7 +58422,7 @@ var SamSchema = `{ }, "type": "object" }, - "AWS::MediaStore::Container": { + "AWS::MediaPackage::Asset": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -58248,246 +58454,45 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AccessLoggingEnabled": { - "type": "boolean" - }, - "ContainerName": { - "type": "string" - }, - "CorsPolicy": { + "EgressEndpoints": { "items": { - "$ref": "#/definitions/AWS::MediaStore::Container.CorsRule" + "$ref": "#/definitions/AWS::MediaPackage::Asset.EgressEndpoint" }, "type": "array" }, - "LifecyclePolicy": { + "Id": { "type": "string" }, - "MetricPolicy": { - "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicy" - }, - "Policy": { + "PackagingGroupId": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ContainerName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaStore::Container" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaStore::Container.CorsRule": { - "additionalProperties": false, - "properties": { - "AllowedHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedMethods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedOrigins": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ExposeHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaxAgeSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaStore::Container.MetricPolicy": { - "additionalProperties": false, - "properties": { - "ContainerLevelMetrics": { - "type": "string" - }, - "MetricPolicyRules": { - "items": { - "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicyRule" - }, - "type": "array" - } - }, - "required": [ - "ContainerLevelMetrics" - ], - "type": "object" - }, - "AWS::MediaStore::Container.MetricPolicyRule": { - "additionalProperties": false, - "properties": { - "ObjectGroup": { - "type": "string" - }, - "ObjectGroupName": { - "type": "string" - } - }, - "required": [ - "ObjectGroup", - "ObjectGroupName" - ], - "type": "object" - }, - "AWS::Neptune::DBCluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/AWS::Neptune::DBCluster.DBClusterRole" - }, - "type": "array" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BackupRetentionPeriod": { - "type": "number" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBClusterParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EngineVersion": { - "type": "string" - }, - "IamAuthEnabled": { - "type": "boolean" - }, - "KmsKeyId": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "RestoreToTime": { - "type": "string" - }, - "RestoreType": { + "ResourceId": { "type": "string" }, - "SnapshotIdentifier": { + "SourceArn": { "type": "string" }, - "SourceDBClusterIdentifier": { + "SourceRoleArn": { "type": "string" }, - "StorageEncrypted": { - "type": "boolean" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" } }, + "required": [ + "Id", + "PackagingGroupId", + "SourceArn", + "SourceRoleArn" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Neptune::DBCluster" + "AWS::MediaPackage::Asset" ], "type": "string" }, @@ -58501,26 +58506,1264 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Neptune::DBCluster.DBClusterRole": { + "AWS::MediaPackage::Asset.EgressEndpoint": { "additionalProperties": false, "properties": { - "FeatureName": { + "PackagingConfigurationId": { "type": "string" }, - "RoleArn": { + "Url": { "type": "string" } }, "required": [ - "RoleArn" + "PackagingConfigurationId", + "Url" ], "type": "object" }, - "AWS::Neptune::DBClusterParameterGroup": { + "AWS::MediaPackage::Channel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::Channel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::Channel.HlsIngest": { + "additionalProperties": false, + "properties": { + "ingestEndpoints": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::Channel.IngestEndpoint" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaPackage::Channel.IngestEndpoint": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Password": { + "type": "string" + }, + "Url": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Authorization": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.Authorization" + }, + "ChannelId": { + "type": "string" + }, + "CmafPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafPackage" + }, + "DashPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashPackage" + }, + "Description": { + "type": "string" + }, + "HlsPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsPackage" + }, + "Id": { + "type": "string" + }, + "ManifestName": { + "type": "string" + }, + "MssPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssPackage" + }, + "Origination": { + "type": "string" + }, + "StartoverWindowSeconds": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TimeDelaySeconds": { + "type": "number" + }, + "Whitelist": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ChannelId", + "Id" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::OriginEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.AdTriggers": { + "additionalProperties": false, + "properties": { + "AdTriggers": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.Authorization": { + "additionalProperties": false, + "properties": { + "CdnIdentifierSecret": { + "type": "string" + }, + "SecretsRoleArn": { + "type": "string" + } + }, + "required": [ + "CdnIdentifierSecret", + "SecretsRoleArn" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.CmafEncryption": { + "additionalProperties": false, + "properties": { + "KeyRotationIntervalSeconds": { + "type": "number" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.CmafPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "SegmentPrefix": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.DashEncryption": { + "additionalProperties": false, + "properties": { + "KeyRotationIntervalSeconds": { + "type": "number" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.DashPackage": { + "additionalProperties": false, + "properties": { + "AdTriggers": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.AdTriggers" + }, + "AdsOnDeliveryRestrictions": { + "type": "string" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashEncryption" + }, + "ManifestLayout": { + "type": "string" + }, + "ManifestWindowSeconds": { + "type": "number" + }, + "MinBufferTimeSeconds": { + "type": "number" + }, + "MinUpdatePeriodSeconds": { + "type": "number" + }, + "PeriodTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Profile": { + "type": "string" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "SegmentTemplateFormat": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + }, + "SuggestedPresentationDelaySeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.HlsEncryption": { + "additionalProperties": false, + "properties": { + "ConstantInitializationVector": { + "type": "string" + }, + "EncryptionMethod": { + "type": "string" + }, + "KeyRotationIntervalSeconds": { + "type": "number" + }, + "RepeatExtXKey": { + "type": "boolean" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.HlsManifest": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "type": "string" + }, + "AdTriggers": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.AdTriggers" + }, + "AdsOnDeliveryRestrictions": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "ManifestName": { + "type": "string" + }, + "PlaylistType": { + "type": "string" + }, + "PlaylistWindowSeconds": { + "type": "number" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "number" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.HlsPackage": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "type": "string" + }, + "AdTriggers": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.AdTriggers" + }, + "AdsOnDeliveryRestrictions": { + "type": "string" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsEncryption" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "PlaylistType": { + "type": "string" + }, + "PlaylistWindowSeconds": { + "type": "number" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "number" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + }, + "UseAudioRenditionGroup": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.MssEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.MssPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssEncryption" + }, + "ManifestWindowSeconds": { + "type": "number" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SystemIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "ResourceId", + "RoleArn", + "SystemIds", + "Url" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.StreamSelection": { + "additionalProperties": false, + "properties": { + "MaxVideoBitsPerSecond": { + "type": "number" + }, + "MinVideoBitsPerSecond": { + "type": "number" + }, + "StreamOrder": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CmafPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafPackage" + }, + "DashPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashPackage" + }, + "HlsPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsPackage" + }, + "Id": { + "type": "string" + }, + "MssPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssPackage" + }, + "PackagingGroupId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id", + "PackagingGroupId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::PackagingConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.CmafEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "type": "object" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.CmafPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + } + }, + "required": [ + "HlsManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.DashEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "type": "object" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.DashManifest": { + "additionalProperties": false, + "properties": { + "ManifestLayout": { + "type": "string" + }, + "ManifestName": { + "type": "string" + }, + "MinBufferTimeSeconds": { + "type": "number" + }, + "Profile": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.DashPackage": { + "additionalProperties": false, + "properties": { + "DashManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashManifest" + }, + "type": "array" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashEncryption" + }, + "PeriodTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "SegmentTemplateFormat": { + "type": "string" + } + }, + "required": [ + "DashManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.HlsEncryption": { + "additionalProperties": false, + "properties": { + "ConstantInitializationVector": { + "type": "string" + }, + "EncryptionMethod": { + "type": "string" + }, + "SpekeKeyProvider": { + "type": "object" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.HlsManifest": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "type": "string" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "ManifestName": { + "type": "string" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "number" + }, + "RepeatExtXKey": { + "type": "boolean" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.HlsPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "UseAudioRenditionGroup": { + "type": "boolean" + } + }, + "required": [ + "HlsManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.MssEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "type": "object" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.MssManifest": { + "additionalProperties": false, + "properties": { + "ManifestName": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.MssPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssEncryption" + }, + "MssManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + } + }, + "required": [ + "MssManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "SystemIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "SystemIds", + "Url" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.StreamSelection": { + "additionalProperties": false, + "properties": { + "MaxVideoBitsPerSecond": { + "type": "number" + }, + "MinVideoBitsPerSecond": { + "type": "number" + }, + "StreamOrder": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Authorization": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup.Authorization" + }, + "Id": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::PackagingGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingGroup.Authorization": { + "additionalProperties": false, + "properties": { + "CdnIdentifierSecret": { + "type": "string" + }, + "SecretsRoleArn": { + "type": "string" + } + }, + "required": [ + "CdnIdentifierSecret", + "SecretsRoleArn" + ], + "type": "object" + }, + "AWS::MediaStore::Container": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessLoggingEnabled": { + "type": "boolean" + }, + "ContainerName": { + "type": "string" + }, + "CorsPolicy": { + "items": { + "$ref": "#/definitions/AWS::MediaStore::Container.CorsRule" + }, + "type": "array" + }, + "LifecyclePolicy": { + "type": "string" + }, + "MetricPolicy": { + "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicy" + }, + "Policy": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ContainerName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaStore::Container" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaStore::Container.CorsRule": { + "additionalProperties": false, + "properties": { + "AllowedHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedOrigins": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExposeHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxAgeSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaStore::Container.MetricPolicy": { + "additionalProperties": false, + "properties": { + "ContainerLevelMetrics": { + "type": "string" + }, + "MetricPolicyRules": { + "items": { + "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicyRule" + }, + "type": "array" + } + }, + "required": [ + "ContainerLevelMetrics" + ], + "type": "object" + }, + "AWS::MediaStore::Container.MetricPolicyRule": { + "additionalProperties": false, + "properties": { + "ObjectGroup": { + "type": "string" + }, + "ObjectGroupName": { + "type": "string" + } + }, + "required": [ + "ObjectGroup", + "ObjectGroupName" + ], + "type": "object" + }, + "AWS::Neptune::DBCluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/AWS::Neptune::DBCluster.DBClusterRole" + }, + "type": "array" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BackupRetentionPeriod": { + "type": "number" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBClusterParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EngineVersion": { + "type": "string" + }, + "IamAuthEnabled": { + "type": "boolean" + }, + "KmsKeyId": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "RestoreToTime": { + "type": "string" + }, + "RestoreType": { + "type": "string" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Neptune::DBCluster.DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "AWS::Neptune::DBClusterParameterGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -63519,6 +64762,9 @@ var SamSchema = `{ "EngineVersion": { "type": "string" }, + "GlobalClusterIdentifier": { + "type": "string" + }, "KmsKeyId": { "type": "string" }, @@ -67351,7 +68597,6 @@ var SamSchema = `{ } }, "required": [ - "EventThreshold", "Status" ], "type": "object" @@ -67523,6 +68768,18 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::S3::Bucket.ReplicaModifications": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, "AWS::S3::Bucket.ReplicationConfiguration": { "additionalProperties": false, "properties": { @@ -67787,13 +69044,13 @@ var SamSchema = `{ "AWS::S3::Bucket.SourceSelectionCriteria": { "additionalProperties": false, "properties": { + "ReplicaModifications": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicaModifications" + }, "SseKmsEncryptedObjects": { "$ref": "#/definitions/AWS::S3::Bucket.SseKmsEncryptedObjects" } }, - "required": [ - "SseKmsEncryptedObjects" - ], "type": "object" }, "AWS::S3::Bucket.SseKmsEncryptedObjects": { @@ -68755,6 +70012,9 @@ var SamSchema = `{ "Region": { "type": "string" }, + "SubscriptionRoleArn": { + "type": "string" + }, "TopicArn": { "type": "string" } @@ -68824,6 +70084,9 @@ var SamSchema = `{ "DisplayName": { "type": "string" }, + "FifoTopic": { + "type": "boolean" + }, "KmsMasterKeyId": { "type": "string" }, @@ -70862,6 +72125,9 @@ var SamSchema = `{ "Image": { "type": "string" }, + "ImageConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.ImageConfig" + }, "Mode": { "type": "string" }, @@ -70874,6 +72140,18 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::SageMaker::Model.ImageConfig": { + "additionalProperties": false, + "properties": { + "RepositoryAccessMode": { + "type": "string" + } + }, + "required": [ + "RepositoryAccessMode" + ], + "type": "object" + }, "AWS::SageMaker::Model.VpcConfig": { "additionalProperties": false, "properties": { @@ -76145,6 +77423,12 @@ var SamSchema = `{ }, "type": "array" }, + "SecurityGroupIds": { + "items": { + "$ref": "#/definitions/AWS::Transfer::Server.SecurityGroupId" + }, + "type": "array" + }, "SubnetIds": { "items": { "type": "string" @@ -76181,6 +77465,11 @@ var SamSchema = `{ "properties": {}, "type": "object" }, + "AWS::Transfer::Server.SecurityGroupId": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::Transfer::User": { "additionalProperties": false, "properties": { @@ -81265,6 +82554,21 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::MediaLive::InputSecurityGroup" }, + { + "$ref": "#/definitions/AWS::MediaPackage::Asset" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::Channel" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup" + }, { "$ref": "#/definitions/AWS::MediaStore::Container" }, diff --git a/schema/sam.schema.json b/schema/sam.schema.json index 91a9523413..c28ff43fd7 100644 --- a/schema/sam.schema.json +++ b/schema/sam.schema.json @@ -513,9 +513,6 @@ "HostInstanceType": { "type": "string" }, - "LdapMetadata": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.LdapMetadata" - }, "LdapServerMetadata": { "$ref": "#/definitions/AWS::AmazonMQ::Broker.LdapServerMetadata" }, @@ -620,40 +617,6 @@ ], "type": "object" }, - "AWS::AmazonMQ::Broker.InterBrokerCred": { - "additionalProperties": false, - "properties": { - "Password": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "Password", - "Username" - ], - "type": "object" - }, - "AWS::AmazonMQ::Broker.LdapMetadata": { - "additionalProperties": false, - "properties": { - "InterBrokerCreds": { - "items": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.InterBrokerCred" - }, - "type": "array" - }, - "ServerMetadata": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.ServerMetadata" - } - }, - "required": [ - "ServerMetadata" - ], - "type": "object" - }, "AWS::AmazonMQ::Broker.LdapServerMetadata": { "additionalProperties": false, "properties": { @@ -737,57 +700,6 @@ ], "type": "object" }, - "AWS::AmazonMQ::Broker.ServerMetadata": { - "additionalProperties": false, - "properties": { - "Hosts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RoleBase": { - "type": "string" - }, - "RoleName": { - "type": "string" - }, - "RoleSearchMatching": { - "type": "string" - }, - "RoleSearchSubtree": { - "type": "boolean" - }, - "ServiceAccountPassword": { - "type": "string" - }, - "ServiceAccountUsername": { - "type": "string" - }, - "UserBase": { - "type": "string" - }, - "UserRoleName": { - "type": "string" - }, - "UserSearchMatching": { - "type": "string" - }, - "UserSearchSubtree": { - "type": "boolean" - } - }, - "required": [ - "Hosts", - "RoleBase", - "RoleSearchMatching", - "ServiceAccountPassword", - "ServiceAccountUsername", - "UserBase", - "UserSearchMatching" - ], - "type": "object" - }, "AWS::AmazonMQ::Broker.TagsEntry": { "additionalProperties": false, "properties": { @@ -9475,6 +9387,9 @@ "ApiId": { "type": "string" }, + "ApiKeyId": { + "type": "string" + }, "Description": { "type": "string" }, @@ -9813,6 +9728,9 @@ }, "ResponseMappingTemplateS3Location": { "type": "string" + }, + "SyncConfig": { + "$ref": "#/definitions/AWS::AppSync::FunctionConfiguration.SyncConfig" } }, "required": [ @@ -9844,6 +9762,33 @@ ], "type": "object" }, + "AWS::AppSync::FunctionConfiguration.LambdaConflictHandlerConfig": { + "additionalProperties": false, + "properties": { + "LambdaConflictHandlerArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppSync::FunctionConfiguration.SyncConfig": { + "additionalProperties": false, + "properties": { + "ConflictDetection": { + "type": "string" + }, + "ConflictHandler": { + "type": "string" + }, + "LambdaConflictHandlerConfig": { + "$ref": "#/definitions/AWS::AppSync::FunctionConfiguration.LambdaConflictHandlerConfig" + } + }, + "required": [ + "ConflictDetection" + ], + "type": "object" + }, "AWS::AppSync::GraphQLApi": { "additionalProperties": false, "properties": { @@ -11075,6 +11020,9 @@ }, "QueryString": { "type": "string" + }, + "WorkGroup": { + "type": "string" } }, "required": [ @@ -11330,6 +11278,9 @@ }, "type": "array" }, + "CapacityRebalance": { + "type": "boolean" + }, "Cooldown": { "type": "string" }, @@ -11499,6 +11450,9 @@ "InstanceType": { "type": "string" }, + "LaunchTemplateSpecification": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification" + }, "WeightedCapacity": { "type": "string" } @@ -11702,6 +11656,9 @@ "LaunchConfigurationName": { "type": "string" }, + "MetadataOptions": { + "$ref": "#/definitions/AWS::AutoScaling::LaunchConfiguration.MetadataOption" + }, "PlacementTenancy": { "type": "string" }, @@ -11793,6 +11750,21 @@ ], "type": "object" }, + "AWS::AutoScaling::LaunchConfiguration.MetadataOption": { + "additionalProperties": false, + "properties": { + "HttpEndpoint": { + "type": "string" + }, + "HttpPutResponseHopLimit": { + "type": "number" + }, + "HttpTokens": { + "type": "string" + } + }, + "type": "object" + }, "AWS::AutoScaling::LifecycleHook": { "additionalProperties": false, "properties": { @@ -12864,6 +12836,9 @@ "State": { "type": "string" }, + "Tags": { + "type": "object" + }, "Type": { "type": "string" } @@ -13028,6 +13003,9 @@ "RetryStrategy": { "$ref": "#/definitions/AWS::Batch::JobDefinition.RetryStrategy" }, + "Tags": { + "type": "object" + }, "Timeout": { "$ref": "#/definitions/AWS::Batch::JobDefinition.Timeout" }, @@ -13434,6 +13412,9 @@ }, "State": { "type": "string" + }, + "Tags": { + "type": "object" } }, "required": [ @@ -15529,6 +15510,9 @@ "OriginPath": { "type": "string" }, + "OriginShield": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginShield" + }, "S3OriginConfig": { "$ref": "#/definitions/AWS::CloudFront::Distribution.S3OriginConfig" } @@ -15636,6 +15620,21 @@ ], "type": "object" }, + "AWS::CloudFront::Distribution.OriginShield": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "OriginShieldRegion": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, "AWS::CloudFront::Distribution.Restrictions": { "additionalProperties": false, "properties": { @@ -27776,6 +27775,9 @@ "Properties": { "additionalProperties": false, "properties": { + "CarrierGatewayId": { + "type": "string" + }, "DestinationCidrBlock": { "type": "string" }, @@ -27791,6 +27793,9 @@ "InstanceId": { "type": "string" }, + "LocalGatewayId": { + "type": "string" + }, "NatGatewayId": { "type": "string" }, @@ -27803,6 +27808,9 @@ "TransitGatewayId": { "type": "string" }, + "VpcEndpointId": { + "type": "string" + }, "VpcPeeringConnectionId": { "type": "string" } @@ -28781,6 +28789,9 @@ "MapPublicIpOnLaunch": { "type": "boolean" }, + "OutpostArn": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -33345,9 +33356,15 @@ "KerberosAttributes": { "$ref": "#/definitions/AWS::EMR::Cluster.KerberosAttributes" }, + "LogEncryptionKmsKeyId": { + "type": "string" + }, "LogUri": { "type": "string" }, + "ManagedScalingPolicy": { + "$ref": "#/definitions/AWS::EMR::Cluster.ManagedScalingPolicy" + }, "Name": { "type": "string" }, @@ -33363,6 +33380,9 @@ "ServiceRole": { "type": "string" }, + "StepConcurrencyLevel": { + "type": "number" + }, "Steps": { "items": { "$ref": "#/definitions/AWS::EMR::Cluster.StepConfig" @@ -33512,6 +33532,32 @@ ], "type": "object" }, + "AWS::EMR::Cluster.ComputeLimits": { + "additionalProperties": false, + "properties": { + "MaximumCapacityUnits": { + "type": "number" + }, + "MaximumCoreCapacityUnits": { + "type": "number" + }, + "MaximumOnDemandCapacityUnits": { + "type": "number" + }, + "MinimumCapacityUnits": { + "type": "number" + }, + "UnitType": { + "type": "string" + } + }, + "required": [ + "MaximumCapacityUnits", + "MinimumCapacityUnits", + "UnitType" + ], + "type": "object" + }, "AWS::EMR::Cluster.Configuration": { "additionalProperties": false, "properties": { @@ -33620,13 +33666,13 @@ "AWS::EMR::Cluster.InstanceFleetProvisioningSpecifications": { "additionalProperties": false, "properties": { + "OnDemandSpecification": { + "$ref": "#/definitions/AWS::EMR::Cluster.OnDemandProvisioningSpecification" + }, "SpotSpecification": { "$ref": "#/definitions/AWS::EMR::Cluster.SpotProvisioningSpecification" } }, - "required": [ - "SpotSpecification" - ], "type": "object" }, "AWS::EMR::Cluster.InstanceGroupConfig": { @@ -33796,6 +33842,15 @@ }, "type": "object" }, + "AWS::EMR::Cluster.ManagedScalingPolicy": { + "additionalProperties": false, + "properties": { + "ComputeLimits": { + "$ref": "#/definitions/AWS::EMR::Cluster.ComputeLimits" + } + }, + "type": "object" + }, "AWS::EMR::Cluster.MetricDimension": { "additionalProperties": false, "properties": { @@ -33812,6 +33867,18 @@ ], "type": "object" }, + "AWS::EMR::Cluster.OnDemandProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + } + }, + "required": [ + "AllocationStrategy" + ], + "type": "object" + }, "AWS::EMR::Cluster.PlacementType": { "additionalProperties": false, "properties": { @@ -33929,6 +33996,9 @@ "AWS::EMR::Cluster.SpotProvisioningSpecification": { "additionalProperties": false, "properties": { + "AllocationStrategy": { + "type": "string" + }, "BlockDurationMinutes": { "type": "number" }, @@ -34124,13 +34194,13 @@ "AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications": { "additionalProperties": false, "properties": { + "OnDemandSpecification": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification" + }, "SpotSpecification": { "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification" } }, - "required": [ - "SpotSpecification" - ], "type": "object" }, "AWS::EMR::InstanceFleetConfig.InstanceTypeConfig": { @@ -34163,9 +34233,24 @@ ], "type": "object" }, + "AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + } + }, + "required": [ + "AllocationStrategy" + ], + "type": "object" + }, "AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification": { "additionalProperties": false, "properties": { + "AllocationStrategy": { + "type": "string" + }, "BlockDurationMinutes": { "type": "number" }, @@ -34987,6 +35072,9 @@ "EngineVersion": { "type": "string" }, + "GlobalReplicationGroupId": { + "type": "string" + }, "KmsKeyId": { "type": "string" }, @@ -36149,9 +36237,7 @@ }, "required": [ "DefaultActions", - "LoadBalancerArn", - "Port", - "Protocol" + "LoadBalancerArn" ], "type": "object" }, @@ -37000,6 +37086,9 @@ "AllocationId": { "type": "string" }, + "IPv6Address": { + "type": "string" + }, "PrivateIPv4Address": { "type": "string" }, @@ -37134,9 +37223,6 @@ "type": "string" } }, - "required": [ - "HttpCode" - ], "type": "object" }, "AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription": { @@ -37365,6 +37451,15 @@ "InstanceType": { "type": "string" }, + "WarmCount": { + "type": "number" + }, + "WarmEnabled": { + "type": "boolean" + }, + "WarmType": { + "type": "string" + }, "ZoneAwarenessConfig": { "$ref": "#/definitions/AWS::Elasticsearch::Domain.ZoneAwarenessConfig" }, @@ -38097,6 +38192,15 @@ }, "type": "object" }, + "AWS::Events::Rule.DeadLetterConfig": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Events::Rule.EcsParameters": { "additionalProperties": false, "properties": { @@ -38196,6 +38300,46 @@ }, "type": "object" }, + "AWS::Events::Rule.RedshiftDataParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "DbUser": { + "type": "string" + }, + "SecretManagerArn": { + "type": "string" + }, + "Sql": { + "type": "string" + }, + "StatementName": { + "type": "string" + }, + "WithEvent": { + "type": "boolean" + } + }, + "required": [ + "Database", + "Sql" + ], + "type": "object" + }, + "AWS::Events::Rule.RetryPolicy": { + "additionalProperties": false, + "properties": { + "MaximumEventAgeInSeconds": { + "type": "number" + }, + "MaximumRetryAttempts": { + "type": "number" + } + }, + "type": "object" + }, "AWS::Events::Rule.RunCommandParameters": { "additionalProperties": false, "properties": { @@ -38251,6 +38395,9 @@ "BatchParameters": { "$ref": "#/definitions/AWS::Events::Rule.BatchParameters" }, + "DeadLetterConfig": { + "$ref": "#/definitions/AWS::Events::Rule.DeadLetterConfig" + }, "EcsParameters": { "$ref": "#/definitions/AWS::Events::Rule.EcsParameters" }, @@ -38272,6 +38419,12 @@ "KinesisParameters": { "$ref": "#/definitions/AWS::Events::Rule.KinesisParameters" }, + "RedshiftDataParameters": { + "$ref": "#/definitions/AWS::Events::Rule.RedshiftDataParameters" + }, + "RetryPolicy": { + "$ref": "#/definitions/AWS::Events::Rule.RetryPolicy" + }, "RoleArn": { "type": "string" }, @@ -39436,6 +39589,9 @@ "Description": { "type": "string" }, + "FlexMatchMode": { + "type": "string" + }, "GameProperties": { "items": { "$ref": "#/definitions/AWS::GameLift::MatchmakingConfiguration.GameProperty" @@ -39466,7 +39622,6 @@ }, "required": [ "AcceptanceRequired", - "GameSessionQueueArns", "Name", "RequestTimeoutSeconds", "RuleSetName" @@ -51934,6 +52089,9 @@ "Properties": { "additionalProperties": false, "properties": { + "DeliveryStreamEncryptionConfigurationInput": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput" + }, "DeliveryStreamName": { "type": "string" }, @@ -51960,6 +52118,12 @@ }, "SplunkDestinationConfiguration": { "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SplunkDestinationConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "type": "object" @@ -52047,6 +52211,21 @@ }, "type": "object" }, + "AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput": { + "additionalProperties": false, + "properties": { + "KeyARN": { + "type": "string" + }, + "KeyType": { + "type": "string" + } + }, + "required": [ + "KeyType" + ], + "type": "object" + }, "AWS::KinesisFirehose::DeliveryStream.Deserializer": { "additionalProperties": false, "properties": { @@ -53298,6 +53477,18 @@ "ParallelizationFactor": { "type": "number" }, + "Queues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceAccessConfigurations": { + "items": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.SourceAccessConfiguration" + }, + "type": "array" + }, "StartingPosition": { "type": "string" }, @@ -53353,6 +53544,18 @@ }, "type": "object" }, + "AWS::Lambda::EventSourceMapping.SourceAccessConfiguration": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "URI": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Lambda::Function": { "additionalProperties": false, "properties": { @@ -54001,6 +54204,9 @@ "Properties": { "additionalProperties": false, "properties": { + "KmsKeyId": { + "type": "string" + }, "LogGroupName": { "type": "string" }, @@ -58213,7 +58419,7 @@ }, "type": "object" }, - "AWS::MediaStore::Container": { + "AWS::MediaPackage::Asset": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -58245,246 +58451,45 @@ "Properties": { "additionalProperties": false, "properties": { - "AccessLoggingEnabled": { - "type": "boolean" - }, - "ContainerName": { - "type": "string" - }, - "CorsPolicy": { + "EgressEndpoints": { "items": { - "$ref": "#/definitions/AWS::MediaStore::Container.CorsRule" + "$ref": "#/definitions/AWS::MediaPackage::Asset.EgressEndpoint" }, "type": "array" }, - "LifecyclePolicy": { + "Id": { "type": "string" }, - "MetricPolicy": { - "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicy" - }, - "Policy": { + "PackagingGroupId": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ContainerName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaStore::Container" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaStore::Container.CorsRule": { - "additionalProperties": false, - "properties": { - "AllowedHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedMethods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedOrigins": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ExposeHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaxAgeSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaStore::Container.MetricPolicy": { - "additionalProperties": false, - "properties": { - "ContainerLevelMetrics": { - "type": "string" - }, - "MetricPolicyRules": { - "items": { - "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicyRule" - }, - "type": "array" - } - }, - "required": [ - "ContainerLevelMetrics" - ], - "type": "object" - }, - "AWS::MediaStore::Container.MetricPolicyRule": { - "additionalProperties": false, - "properties": { - "ObjectGroup": { - "type": "string" - }, - "ObjectGroupName": { - "type": "string" - } - }, - "required": [ - "ObjectGroup", - "ObjectGroupName" - ], - "type": "object" - }, - "AWS::Neptune::DBCluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/AWS::Neptune::DBCluster.DBClusterRole" - }, - "type": "array" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BackupRetentionPeriod": { - "type": "number" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBClusterParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EngineVersion": { - "type": "string" - }, - "IamAuthEnabled": { - "type": "boolean" - }, - "KmsKeyId": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "RestoreToTime": { - "type": "string" - }, - "RestoreType": { + "ResourceId": { "type": "string" }, - "SnapshotIdentifier": { + "SourceArn": { "type": "string" }, - "SourceDBClusterIdentifier": { + "SourceRoleArn": { "type": "string" }, - "StorageEncrypted": { - "type": "boolean" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" } }, + "required": [ + "Id", + "PackagingGroupId", + "SourceArn", + "SourceRoleArn" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Neptune::DBCluster" + "AWS::MediaPackage::Asset" ], "type": "string" }, @@ -58498,26 +58503,1264 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Neptune::DBCluster.DBClusterRole": { + "AWS::MediaPackage::Asset.EgressEndpoint": { "additionalProperties": false, "properties": { - "FeatureName": { + "PackagingConfigurationId": { "type": "string" }, - "RoleArn": { + "Url": { "type": "string" } }, "required": [ - "RoleArn" + "PackagingConfigurationId", + "Url" ], "type": "object" }, - "AWS::Neptune::DBClusterParameterGroup": { + "AWS::MediaPackage::Channel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::Channel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::Channel.HlsIngest": { + "additionalProperties": false, + "properties": { + "ingestEndpoints": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::Channel.IngestEndpoint" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaPackage::Channel.IngestEndpoint": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Password": { + "type": "string" + }, + "Url": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Authorization": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.Authorization" + }, + "ChannelId": { + "type": "string" + }, + "CmafPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafPackage" + }, + "DashPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashPackage" + }, + "Description": { + "type": "string" + }, + "HlsPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsPackage" + }, + "Id": { + "type": "string" + }, + "ManifestName": { + "type": "string" + }, + "MssPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssPackage" + }, + "Origination": { + "type": "string" + }, + "StartoverWindowSeconds": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TimeDelaySeconds": { + "type": "number" + }, + "Whitelist": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ChannelId", + "Id" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::OriginEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.AdTriggers": { + "additionalProperties": false, + "properties": { + "AdTriggers": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.Authorization": { + "additionalProperties": false, + "properties": { + "CdnIdentifierSecret": { + "type": "string" + }, + "SecretsRoleArn": { + "type": "string" + } + }, + "required": [ + "CdnIdentifierSecret", + "SecretsRoleArn" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.CmafEncryption": { + "additionalProperties": false, + "properties": { + "KeyRotationIntervalSeconds": { + "type": "number" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.CmafPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "SegmentPrefix": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.DashEncryption": { + "additionalProperties": false, + "properties": { + "KeyRotationIntervalSeconds": { + "type": "number" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.DashPackage": { + "additionalProperties": false, + "properties": { + "AdTriggers": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.AdTriggers" + }, + "AdsOnDeliveryRestrictions": { + "type": "string" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashEncryption" + }, + "ManifestLayout": { + "type": "string" + }, + "ManifestWindowSeconds": { + "type": "number" + }, + "MinBufferTimeSeconds": { + "type": "number" + }, + "MinUpdatePeriodSeconds": { + "type": "number" + }, + "PeriodTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Profile": { + "type": "string" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "SegmentTemplateFormat": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + }, + "SuggestedPresentationDelaySeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.HlsEncryption": { + "additionalProperties": false, + "properties": { + "ConstantInitializationVector": { + "type": "string" + }, + "EncryptionMethod": { + "type": "string" + }, + "KeyRotationIntervalSeconds": { + "type": "number" + }, + "RepeatExtXKey": { + "type": "boolean" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.HlsManifest": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "type": "string" + }, + "AdTriggers": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.AdTriggers" + }, + "AdsOnDeliveryRestrictions": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "ManifestName": { + "type": "string" + }, + "PlaylistType": { + "type": "string" + }, + "PlaylistWindowSeconds": { + "type": "number" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "number" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.HlsPackage": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "type": "string" + }, + "AdTriggers": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.AdTriggers" + }, + "AdsOnDeliveryRestrictions": { + "type": "string" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsEncryption" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "PlaylistType": { + "type": "string" + }, + "PlaylistWindowSeconds": { + "type": "number" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "number" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + }, + "UseAudioRenditionGroup": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.MssEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.MssPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssEncryption" + }, + "ManifestWindowSeconds": { + "type": "number" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SystemIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "ResourceId", + "RoleArn", + "SystemIds", + "Url" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.StreamSelection": { + "additionalProperties": false, + "properties": { + "MaxVideoBitsPerSecond": { + "type": "number" + }, + "MinVideoBitsPerSecond": { + "type": "number" + }, + "StreamOrder": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CmafPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafPackage" + }, + "DashPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashPackage" + }, + "HlsPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsPackage" + }, + "Id": { + "type": "string" + }, + "MssPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssPackage" + }, + "PackagingGroupId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id", + "PackagingGroupId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::PackagingConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.CmafEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "type": "object" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.CmafPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + } + }, + "required": [ + "HlsManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.DashEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "type": "object" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.DashManifest": { + "additionalProperties": false, + "properties": { + "ManifestLayout": { + "type": "string" + }, + "ManifestName": { + "type": "string" + }, + "MinBufferTimeSeconds": { + "type": "number" + }, + "Profile": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.DashPackage": { + "additionalProperties": false, + "properties": { + "DashManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashManifest" + }, + "type": "array" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashEncryption" + }, + "PeriodTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "SegmentTemplateFormat": { + "type": "string" + } + }, + "required": [ + "DashManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.HlsEncryption": { + "additionalProperties": false, + "properties": { + "ConstantInitializationVector": { + "type": "string" + }, + "EncryptionMethod": { + "type": "string" + }, + "SpekeKeyProvider": { + "type": "object" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.HlsManifest": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "type": "string" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "ManifestName": { + "type": "string" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "number" + }, + "RepeatExtXKey": { + "type": "boolean" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.HlsPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "UseAudioRenditionGroup": { + "type": "boolean" + } + }, + "required": [ + "HlsManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.MssEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "type": "object" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.MssManifest": { + "additionalProperties": false, + "properties": { + "ManifestName": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.MssPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssEncryption" + }, + "MssManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + } + }, + "required": [ + "MssManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "SystemIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "SystemIds", + "Url" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.StreamSelection": { + "additionalProperties": false, + "properties": { + "MaxVideoBitsPerSecond": { + "type": "number" + }, + "MinVideoBitsPerSecond": { + "type": "number" + }, + "StreamOrder": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Authorization": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup.Authorization" + }, + "Id": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::PackagingGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingGroup.Authorization": { + "additionalProperties": false, + "properties": { + "CdnIdentifierSecret": { + "type": "string" + }, + "SecretsRoleArn": { + "type": "string" + } + }, + "required": [ + "CdnIdentifierSecret", + "SecretsRoleArn" + ], + "type": "object" + }, + "AWS::MediaStore::Container": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessLoggingEnabled": { + "type": "boolean" + }, + "ContainerName": { + "type": "string" + }, + "CorsPolicy": { + "items": { + "$ref": "#/definitions/AWS::MediaStore::Container.CorsRule" + }, + "type": "array" + }, + "LifecyclePolicy": { + "type": "string" + }, + "MetricPolicy": { + "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicy" + }, + "Policy": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ContainerName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaStore::Container" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaStore::Container.CorsRule": { + "additionalProperties": false, + "properties": { + "AllowedHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedOrigins": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExposeHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxAgeSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaStore::Container.MetricPolicy": { + "additionalProperties": false, + "properties": { + "ContainerLevelMetrics": { + "type": "string" + }, + "MetricPolicyRules": { + "items": { + "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicyRule" + }, + "type": "array" + } + }, + "required": [ + "ContainerLevelMetrics" + ], + "type": "object" + }, + "AWS::MediaStore::Container.MetricPolicyRule": { + "additionalProperties": false, + "properties": { + "ObjectGroup": { + "type": "string" + }, + "ObjectGroupName": { + "type": "string" + } + }, + "required": [ + "ObjectGroup", + "ObjectGroupName" + ], + "type": "object" + }, + "AWS::Neptune::DBCluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/AWS::Neptune::DBCluster.DBClusterRole" + }, + "type": "array" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BackupRetentionPeriod": { + "type": "number" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBClusterParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EngineVersion": { + "type": "string" + }, + "IamAuthEnabled": { + "type": "boolean" + }, + "KmsKeyId": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "RestoreToTime": { + "type": "string" + }, + "RestoreType": { + "type": "string" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Neptune::DBCluster.DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "AWS::Neptune::DBClusterParameterGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -63516,6 +64759,9 @@ "EngineVersion": { "type": "string" }, + "GlobalClusterIdentifier": { + "type": "string" + }, "KmsKeyId": { "type": "string" }, @@ -67348,7 +68594,6 @@ } }, "required": [ - "EventThreshold", "Status" ], "type": "object" @@ -67520,6 +68765,18 @@ }, "type": "object" }, + "AWS::S3::Bucket.ReplicaModifications": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, "AWS::S3::Bucket.ReplicationConfiguration": { "additionalProperties": false, "properties": { @@ -67784,13 +69041,13 @@ "AWS::S3::Bucket.SourceSelectionCriteria": { "additionalProperties": false, "properties": { + "ReplicaModifications": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicaModifications" + }, "SseKmsEncryptedObjects": { "$ref": "#/definitions/AWS::S3::Bucket.SseKmsEncryptedObjects" } }, - "required": [ - "SseKmsEncryptedObjects" - ], "type": "object" }, "AWS::S3::Bucket.SseKmsEncryptedObjects": { @@ -68752,6 +70009,9 @@ "Region": { "type": "string" }, + "SubscriptionRoleArn": { + "type": "string" + }, "TopicArn": { "type": "string" } @@ -68821,6 +70081,9 @@ "DisplayName": { "type": "string" }, + "FifoTopic": { + "type": "boolean" + }, "KmsMasterKeyId": { "type": "string" }, @@ -70859,6 +72122,9 @@ "Image": { "type": "string" }, + "ImageConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.ImageConfig" + }, "Mode": { "type": "string" }, @@ -70871,6 +72137,18 @@ }, "type": "object" }, + "AWS::SageMaker::Model.ImageConfig": { + "additionalProperties": false, + "properties": { + "RepositoryAccessMode": { + "type": "string" + } + }, + "required": [ + "RepositoryAccessMode" + ], + "type": "object" + }, "AWS::SageMaker::Model.VpcConfig": { "additionalProperties": false, "properties": { @@ -76142,6 +77420,12 @@ }, "type": "array" }, + "SecurityGroupIds": { + "items": { + "$ref": "#/definitions/AWS::Transfer::Server.SecurityGroupId" + }, + "type": "array" + }, "SubnetIds": { "items": { "type": "string" @@ -76178,6 +77462,11 @@ "properties": {}, "type": "object" }, + "AWS::Transfer::Server.SecurityGroupId": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::Transfer::User": { "additionalProperties": false, "properties": { @@ -81262,6 +82551,21 @@ { "$ref": "#/definitions/AWS::MediaLive::InputSecurityGroup" }, + { + "$ref": "#/definitions/AWS::MediaPackage::Asset" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::Channel" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup" + }, { "$ref": "#/definitions/AWS::MediaStore::Container" }, From b62802c4feee0e63681cc6639103107dd44f32d0 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Fri, 23 Oct 2020 03:15:57 +0000 Subject: [PATCH 51/57] chore(release): 4.15.3 [skip ci] ## [4.15.3](https://github.com/awslabs/goformation/compare/v4.15.2...v4.15.3) (2020-10-23) ### Bug Fixes * **schema:** CloudFormation Updates ([#329](https://github.com/awslabs/goformation/issues/329)) ([4c1362b](https://github.com/awslabs/goformation/commit/4c1362bac14a3d6fc2cebd56eddcaf440228a4e9)) --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 66615d0d51..eddf54e42f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # GoFormation Versioning Changelog +## [4.15.3](https://github.com/awslabs/goformation/compare/v4.15.2...v4.15.3) (2020-10-23) + + +### Bug Fixes + +* **schema:** CloudFormation Updates ([#329](https://github.com/awslabs/goformation/issues/329)) ([4c1362b](https://github.com/awslabs/goformation/commit/4c1362bac14a3d6fc2cebd56eddcaf440228a4e9)) + ## [4.15.2](https://github.com/awslabs/goformation/compare/v4.15.1...v4.15.2) (2020-10-11) From 444749bbca657dd426116366a27a02046310e1b7 Mon Sep 17 00:00:00 2001 From: Michael Parsons Date: Fri, 30 Oct 2020 14:19:01 -0700 Subject: [PATCH 52/57] generate the latest cloudformation spec. (#6) --- cloudformation/all.go | 126 ++ .../amazonmq/aws-amazonmq-broker.go | 5 - cloudformation/appsync/aws-appsync-apikey.go | 5 + .../aws-appsync-functionconfiguration.go | 5 + ...nfiguration_lambdaconflicthandlerconfig.go | 35 + ...ppsync-functionconfiguration_syncconfig.go | 45 + .../athena/aws-athena-namedquery.go | 5 + .../aws-autoscaling-autoscalinggroup.go | 5 + ...utoscalinggroup_launchtemplateoverrides.go | 5 + .../aws-autoscaling-launchconfiguration.go | 5 + ...ling-launchconfiguration_metadataoption.go | 45 + .../batch/aws-batch-computeenvironment.go | 5 + .../batch/aws-batch-jobdefinition.go | 5 + cloudformation/batch/aws-batch-jobqueue.go | 5 + .../aws-cloudfront-distribution_origin.go | 5 + ...ws-cloudfront-distribution_originshield.go | 40 + cloudformation/ec2/aws-ec2-route.go | 15 + cloudformation/ec2/aws-ec2-subnet.go | 5 + .../aws-elasticache-replicationgroup.go | 5 + .../aws-elasticloadbalancingv2-listener.go | 6 +- ...dbalancingv2-loadbalancer_subnetmapping.go | 5 + ...sticloadbalancingv2-targetgroup_matcher.go | 2 +- ...earch-domain_elasticsearchclusterconfig.go | 15 + cloudformation/emr/aws-emr-cluster.go | 15 + .../emr/aws-emr-cluster_computelimits.go | 55 + ...instancefleetprovisioningspecifications.go | 7 +- .../aws-emr-cluster_managedscalingpolicy.go | 35 + ...uster_ondemandprovisioningspecification.go | 35 + ...r-cluster_spotprovisioningspecification.go | 5 + ...instancefleetprovisioningspecifications.go | 7 +- ...onfig_ondemandprovisioningspecification.go | 35 + ...eetconfig_spotprovisioningspecification.go | 5 + .../aws-events-rule_deadletterconfig.go | 35 + .../aws-events-rule_redshiftdataparameters.go | 60 + .../events/aws-events-rule_retrypolicy.go | 40 + .../events/aws-events-rule_target.go | 15 + .../aws-gamelift-matchmakingconfiguration.go | 7 +- .../aws-kinesisfirehose-deliverystream.go | 11 + ...iverystreamencryptionconfigurationinput.go | 40 + .../lambda/aws-lambda-eventsourcemapping.go | 10 + ...sourcemapping_sourceaccessconfiguration.go | 40 + cloudformation/logs/aws-logs-loggroup.go | 9 +- .../mediapackage/aws-mediapackage-asset.go | 137 ++ .../aws-mediapackage-asset_egressendpoint.go | 40 + .../mediapackage/aws-mediapackage-channel.go | 117 + .../aws-mediapackage-channel_hlsingest.go | 35 + ...aws-mediapackage-channel_ingestendpoint.go | 50 + .../aws-mediapackage-originendpoint.go | 172 ++ ...-mediapackage-originendpoint_adtriggers.go | 35 + ...diapackage-originendpoint_authorization.go | 40 + ...iapackage-originendpoint_cmafencryption.go | 40 + ...mediapackage-originendpoint_cmafpackage.go | 55 + ...iapackage-originendpoint_dashencryption.go | 40 + ...mediapackage-originendpoint_dashpackage.go | 95 + ...diapackage-originendpoint_hlsencryption.go | 55 + ...mediapackage-originendpoint_hlsmanifest.go | 80 + ...-mediapackage-originendpoint_hlspackage.go | 85 + ...diapackage-originendpoint_mssencryption.go | 35 + ...-mediapackage-originendpoint_msspackage.go | 50 + ...package-originendpoint_spekekeyprovider.go | 55 + ...apackage-originendpoint_streamselection.go | 45 + ...aws-mediapackage-packagingconfiguration.go | 137 ++ ...e-packagingconfiguration_cmafencryption.go | 35 + ...kage-packagingconfiguration_cmafpackage.go | 45 + ...e-packagingconfiguration_dashencryption.go | 35 + ...age-packagingconfiguration_dashmanifest.go | 55 + ...kage-packagingconfiguration_dashpackage.go | 55 + ...ge-packagingconfiguration_hlsencryption.go | 45 + ...kage-packagingconfiguration_hlsmanifest.go | 60 + ...ckage-packagingconfiguration_hlspackage.go | 50 + ...ge-packagingconfiguration_mssencryption.go | 35 + ...kage-packagingconfiguration_mssmanifest.go | 40 + ...ckage-packagingconfiguration_msspackage.go | 45 + ...packagingconfiguration_spekekeyprovider.go | 45 + ...-packagingconfiguration_streamselection.go | 45 + .../aws-mediapackage-packaginggroup.go | 117 + ...diapackage-packaginggroup_authorization.go | 40 + cloudformation/rds/aws-rds-dbcluster.go | 5 + cloudformation/s3/aws-s3-bucket_metrics.go | 2 +- .../s3/aws-s3-bucket_replicamodifications.go | 35 + .../aws-s3-bucket_sourceselectioncriteria.go | 7 +- ...aws-sagemaker-model_containerdefinition.go | 5 + .../aws-sagemaker-model_imageconfig.go | 35 + cloudformation/sns/aws-sns-subscription.go | 5 + cloudformation/sns/aws-sns-topic.go | 5 + .../aws-transfer-server_endpointdetails.go | 5 + .../aws-transfer-server_securitygroupid.go | 30 + schema/cloudformation.go | 1958 ++++++++++++++--- schema/cloudformation.schema.json | 1958 ++++++++++++++--- schema/sam.go | 1958 ++++++++++++++--- schema/sam.schema.json | 1958 ++++++++++++++--- 91 files changed, 9652 insertions(+), 1324 deletions(-) create mode 100644 cloudformation/appsync/aws-appsync-functionconfiguration_lambdaconflicthandlerconfig.go create mode 100644 cloudformation/appsync/aws-appsync-functionconfiguration_syncconfig.go create mode 100644 cloudformation/autoscaling/aws-autoscaling-launchconfiguration_metadataoption.go create mode 100644 cloudformation/cloudfront/aws-cloudfront-distribution_originshield.go create mode 100644 cloudformation/emr/aws-emr-cluster_computelimits.go create mode 100644 cloudformation/emr/aws-emr-cluster_managedscalingpolicy.go create mode 100644 cloudformation/emr/aws-emr-cluster_ondemandprovisioningspecification.go create mode 100644 cloudformation/emr/aws-emr-instancefleetconfig_ondemandprovisioningspecification.go create mode 100644 cloudformation/events/aws-events-rule_deadletterconfig.go create mode 100644 cloudformation/events/aws-events-rule_redshiftdataparameters.go create mode 100644 cloudformation/events/aws-events-rule_retrypolicy.go create mode 100644 cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_deliverystreamencryptionconfigurationinput.go create mode 100644 cloudformation/lambda/aws-lambda-eventsourcemapping_sourceaccessconfiguration.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-asset.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-asset_egressendpoint.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-channel.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-channel_hlsingest.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-channel_ingestendpoint.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-originendpoint.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-originendpoint_adtriggers.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-originendpoint_authorization.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-originendpoint_cmafencryption.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-originendpoint_cmafpackage.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-originendpoint_dashencryption.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-originendpoint_dashpackage.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-originendpoint_hlsencryption.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-originendpoint_hlsmanifest.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-originendpoint_hlspackage.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-originendpoint_mssencryption.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-originendpoint_msspackage.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-originendpoint_spekekeyprovider.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-originendpoint_streamselection.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-packagingconfiguration.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_cmafencryption.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_cmafpackage.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_dashencryption.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_dashmanifest.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_dashpackage.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_hlsencryption.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_hlsmanifest.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_hlspackage.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_mssencryption.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_mssmanifest.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_msspackage.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_spekekeyprovider.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_streamselection.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-packaginggroup.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-packaginggroup_authorization.go create mode 100644 cloudformation/s3/aws-s3-bucket_replicamodifications.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-model_imageconfig.go create mode 100644 cloudformation/transfer/aws-transfer-server_securitygroupid.go diff --git a/cloudformation/all.go b/cloudformation/all.go index e145589d13..ea56d63658 100644 --- a/cloudformation/all.go +++ b/cloudformation/all.go @@ -92,6 +92,7 @@ import ( "github.com/awslabs/goformation/v4/cloudformation/managedblockchain" "github.com/awslabs/goformation/v4/cloudformation/mediaconvert" "github.com/awslabs/goformation/v4/cloudformation/medialive" + "github.com/awslabs/goformation/v4/cloudformation/mediapackage" "github.com/awslabs/goformation/v4/cloudformation/mediastore" "github.com/awslabs/goformation/v4/cloudformation/msk" "github.com/awslabs/goformation/v4/cloudformation/neptune" @@ -539,6 +540,11 @@ func AllResources() map[string]Resource { "AWS::MediaLive::Channel": &medialive.Channel{}, "AWS::MediaLive::Input": &medialive.Input{}, "AWS::MediaLive::InputSecurityGroup": &medialive.InputSecurityGroup{}, + "AWS::MediaPackage::Asset": &mediapackage.Asset{}, + "AWS::MediaPackage::Channel": &mediapackage.Channel{}, + "AWS::MediaPackage::OriginEndpoint": &mediapackage.OriginEndpoint{}, + "AWS::MediaPackage::PackagingConfiguration": &mediapackage.PackagingConfiguration{}, + "AWS::MediaPackage::PackagingGroup": &mediapackage.PackagingGroup{}, "AWS::MediaStore::Container": &mediastore.Container{}, "AWS::Neptune::DBCluster": &neptune.DBCluster{}, "AWS::Neptune::DBClusterParameterGroup": &neptune.DBClusterParameterGroup{}, @@ -10437,6 +10443,126 @@ func (t *Template) GetMediaLiveInputSecurityGroupWithName(name string) (*mediali return nil, fmt.Errorf("resource %q of type medialive.InputSecurityGroup not found", name) } +// GetAllMediaPackageAssetResources retrieves all mediapackage.Asset items from an AWS CloudFormation template +func (t *Template) GetAllMediaPackageAssetResources() map[string]*mediapackage.Asset { + results := map[string]*mediapackage.Asset{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *mediapackage.Asset: + results[name] = resource + } + } + return results +} + +// GetMediaPackageAssetWithName retrieves all mediapackage.Asset items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetMediaPackageAssetWithName(name string) (*mediapackage.Asset, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *mediapackage.Asset: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type mediapackage.Asset not found", name) +} + +// GetAllMediaPackageChannelResources retrieves all mediapackage.Channel items from an AWS CloudFormation template +func (t *Template) GetAllMediaPackageChannelResources() map[string]*mediapackage.Channel { + results := map[string]*mediapackage.Channel{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *mediapackage.Channel: + results[name] = resource + } + } + return results +} + +// GetMediaPackageChannelWithName retrieves all mediapackage.Channel items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetMediaPackageChannelWithName(name string) (*mediapackage.Channel, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *mediapackage.Channel: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type mediapackage.Channel not found", name) +} + +// GetAllMediaPackageOriginEndpointResources retrieves all mediapackage.OriginEndpoint items from an AWS CloudFormation template +func (t *Template) GetAllMediaPackageOriginEndpointResources() map[string]*mediapackage.OriginEndpoint { + results := map[string]*mediapackage.OriginEndpoint{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *mediapackage.OriginEndpoint: + results[name] = resource + } + } + return results +} + +// GetMediaPackageOriginEndpointWithName retrieves all mediapackage.OriginEndpoint items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetMediaPackageOriginEndpointWithName(name string) (*mediapackage.OriginEndpoint, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *mediapackage.OriginEndpoint: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type mediapackage.OriginEndpoint not found", name) +} + +// GetAllMediaPackagePackagingConfigurationResources retrieves all mediapackage.PackagingConfiguration items from an AWS CloudFormation template +func (t *Template) GetAllMediaPackagePackagingConfigurationResources() map[string]*mediapackage.PackagingConfiguration { + results := map[string]*mediapackage.PackagingConfiguration{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *mediapackage.PackagingConfiguration: + results[name] = resource + } + } + return results +} + +// GetMediaPackagePackagingConfigurationWithName retrieves all mediapackage.PackagingConfiguration items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetMediaPackagePackagingConfigurationWithName(name string) (*mediapackage.PackagingConfiguration, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *mediapackage.PackagingConfiguration: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type mediapackage.PackagingConfiguration not found", name) +} + +// GetAllMediaPackagePackagingGroupResources retrieves all mediapackage.PackagingGroup items from an AWS CloudFormation template +func (t *Template) GetAllMediaPackagePackagingGroupResources() map[string]*mediapackage.PackagingGroup { + results := map[string]*mediapackage.PackagingGroup{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *mediapackage.PackagingGroup: + results[name] = resource + } + } + return results +} + +// GetMediaPackagePackagingGroupWithName retrieves all mediapackage.PackagingGroup items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetMediaPackagePackagingGroupWithName(name string) (*mediapackage.PackagingGroup, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *mediapackage.PackagingGroup: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type mediapackage.PackagingGroup not found", name) +} + // GetAllMediaStoreContainerResources retrieves all mediastore.Container items from an AWS CloudFormation template func (t *Template) GetAllMediaStoreContainerResources() map[string]*mediastore.Container { results := map[string]*mediastore.Container{} diff --git a/cloudformation/amazonmq/aws-amazonmq-broker.go b/cloudformation/amazonmq/aws-amazonmq-broker.go index 015c8619b0..eab54b3fe6 100644 --- a/cloudformation/amazonmq/aws-amazonmq-broker.go +++ b/cloudformation/amazonmq/aws-amazonmq-broker.go @@ -57,11 +57,6 @@ type Broker struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-hostinstancetype HostInstanceType string `json:"HostInstanceType,omitempty"` - // LdapMetadata AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-ldapmetadata - LdapMetadata *Broker_LdapMetadata `json:"LdapMetadata,omitempty"` - // LdapServerMetadata AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-ldapservermetadata diff --git a/cloudformation/appsync/aws-appsync-apikey.go b/cloudformation/appsync/aws-appsync-apikey.go index b01cac4cc1..41e21a67ac 100644 --- a/cloudformation/appsync/aws-appsync-apikey.go +++ b/cloudformation/appsync/aws-appsync-apikey.go @@ -17,6 +17,11 @@ type ApiKey struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html#cfn-appsync-apikey-apiid ApiId string `json:"ApiId,omitempty"` + // ApiKeyId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html#cfn-appsync-apikey-apikeyid + ApiKeyId string `json:"ApiKeyId,omitempty"` + // Description AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html#cfn-appsync-apikey-description diff --git a/cloudformation/appsync/aws-appsync-functionconfiguration.go b/cloudformation/appsync/aws-appsync-functionconfiguration.go index e4383610cc..39f3d0836f 100644 --- a/cloudformation/appsync/aws-appsync-functionconfiguration.go +++ b/cloudformation/appsync/aws-appsync-functionconfiguration.go @@ -57,6 +57,11 @@ type FunctionConfiguration struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-responsemappingtemplates3location ResponseMappingTemplateS3Location string `json:"ResponseMappingTemplateS3Location,omitempty"` + // SyncConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-syncconfig + SyncConfig *FunctionConfiguration_SyncConfig `json:"SyncConfig,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/appsync/aws-appsync-functionconfiguration_lambdaconflicthandlerconfig.go b/cloudformation/appsync/aws-appsync-functionconfiguration_lambdaconflicthandlerconfig.go new file mode 100644 index 0000000000..d682787c8f --- /dev/null +++ b/cloudformation/appsync/aws-appsync-functionconfiguration_lambdaconflicthandlerconfig.go @@ -0,0 +1,35 @@ +package appsync + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// FunctionConfiguration_LambdaConflictHandlerConfig AWS CloudFormation Resource (AWS::AppSync::FunctionConfiguration.LambdaConflictHandlerConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-functionconfiguration-lambdaconflicthandlerconfig.html +type FunctionConfiguration_LambdaConflictHandlerConfig struct { + + // LambdaConflictHandlerArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-functionconfiguration-lambdaconflicthandlerconfig.html#cfn-appsync-functionconfiguration-lambdaconflicthandlerconfig-lambdaconflicthandlerarn + LambdaConflictHandlerArn string `json:"LambdaConflictHandlerArn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *FunctionConfiguration_LambdaConflictHandlerConfig) AWSCloudFormationType() string { + return "AWS::AppSync::FunctionConfiguration.LambdaConflictHandlerConfig" +} diff --git a/cloudformation/appsync/aws-appsync-functionconfiguration_syncconfig.go b/cloudformation/appsync/aws-appsync-functionconfiguration_syncconfig.go new file mode 100644 index 0000000000..b9674b9220 --- /dev/null +++ b/cloudformation/appsync/aws-appsync-functionconfiguration_syncconfig.go @@ -0,0 +1,45 @@ +package appsync + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// FunctionConfiguration_SyncConfig AWS CloudFormation Resource (AWS::AppSync::FunctionConfiguration.SyncConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-functionconfiguration-syncconfig.html +type FunctionConfiguration_SyncConfig struct { + + // ConflictDetection AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-functionconfiguration-syncconfig.html#cfn-appsync-functionconfiguration-syncconfig-conflictdetection + ConflictDetection string `json:"ConflictDetection,omitempty"` + + // ConflictHandler AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-functionconfiguration-syncconfig.html#cfn-appsync-functionconfiguration-syncconfig-conflicthandler + ConflictHandler string `json:"ConflictHandler,omitempty"` + + // LambdaConflictHandlerConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-functionconfiguration-syncconfig.html#cfn-appsync-functionconfiguration-syncconfig-lambdaconflicthandlerconfig + LambdaConflictHandlerConfig *FunctionConfiguration_LambdaConflictHandlerConfig `json:"LambdaConflictHandlerConfig,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *FunctionConfiguration_SyncConfig) AWSCloudFormationType() string { + return "AWS::AppSync::FunctionConfiguration.SyncConfig" +} diff --git a/cloudformation/athena/aws-athena-namedquery.go b/cloudformation/athena/aws-athena-namedquery.go index cbd9e558c1..b227060486 100644 --- a/cloudformation/athena/aws-athena-namedquery.go +++ b/cloudformation/athena/aws-athena-namedquery.go @@ -32,6 +32,11 @@ type NamedQuery struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-namedquery.html#cfn-athena-namedquery-querystring QueryString string `json:"QueryString,omitempty"` + // WorkGroup AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-namedquery.html#cfn-athena-namedquery-workgroup + WorkGroup string `json:"WorkGroup,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup.go b/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup.go index 4f389adab7..ad175182a6 100644 --- a/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup.go +++ b/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup.go @@ -22,6 +22,11 @@ type AutoScalingGroup struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-availabilityzones AvailabilityZones []string `json:"AvailabilityZones,omitempty"` + // CapacityRebalance AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-capacityrebalance + CapacityRebalance bool `json:"CapacityRebalance,omitempty"` + // Cooldown AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-cooldown diff --git a/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_launchtemplateoverrides.go b/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_launchtemplateoverrides.go index e0e3d36a6a..987d4bb746 100644 --- a/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_launchtemplateoverrides.go +++ b/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_launchtemplateoverrides.go @@ -13,6 +13,11 @@ type AutoScalingGroup_LaunchTemplateOverrides struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-mixedinstancespolicy-launchtemplateoverrides.html#cfn-autoscaling-autoscalinggroup-launchtemplateoverrides-instancetype InstanceType string `json:"InstanceType,omitempty"` + // LaunchTemplateSpecification AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-mixedinstancespolicy-launchtemplateoverrides.html#cfn-autoscaling-autoscalinggroup-launchtemplateoverrides-launchtemplatespecification + LaunchTemplateSpecification *AutoScalingGroup_LaunchTemplateSpecification `json:"LaunchTemplateSpecification,omitempty"` + // WeightedCapacity AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-mixedinstancespolicy-launchtemplateoverrides.html#cfn-autoscaling-autoscalinggroup-launchtemplateoverrides-weightedcapacity diff --git a/cloudformation/autoscaling/aws-autoscaling-launchconfiguration.go b/cloudformation/autoscaling/aws-autoscaling-launchconfiguration.go index 97775cf9fd..a9929c9348 100644 --- a/cloudformation/autoscaling/aws-autoscaling-launchconfiguration.go +++ b/cloudformation/autoscaling/aws-autoscaling-launchconfiguration.go @@ -77,6 +77,11 @@ type LaunchConfiguration struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig.html#cfn-autoscaling-launchconfig-launchconfigurationname LaunchConfigurationName string `json:"LaunchConfigurationName,omitempty"` + // MetadataOptions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig.html#cfn-autoscaling-launchconfig-metadataoptions + MetadataOptions *LaunchConfiguration_MetadataOption `json:"MetadataOptions,omitempty"` + // PlacementTenancy AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig.html#cfn-as-launchconfig-placementtenancy diff --git a/cloudformation/autoscaling/aws-autoscaling-launchconfiguration_metadataoption.go b/cloudformation/autoscaling/aws-autoscaling-launchconfiguration_metadataoption.go new file mode 100644 index 0000000000..8df455e7fa --- /dev/null +++ b/cloudformation/autoscaling/aws-autoscaling-launchconfiguration_metadataoption.go @@ -0,0 +1,45 @@ +package autoscaling + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// LaunchConfiguration_MetadataOption AWS CloudFormation Resource (AWS::AutoScaling::LaunchConfiguration.MetadataOption) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-launchconfig-metadataoption.html +type LaunchConfiguration_MetadataOption struct { + + // HttpEndpoint AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-launchconfig-metadataoption.html#cfn-autoscaling-launchconfig-metadataoption-httpendpoint + HttpEndpoint string `json:"HttpEndpoint,omitempty"` + + // HttpPutResponseHopLimit AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-launchconfig-metadataoption.html#cfn-autoscaling-launchconfig-metadataoption-httpputresponsehoplimit + HttpPutResponseHopLimit int `json:"HttpPutResponseHopLimit,omitempty"` + + // HttpTokens AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-launchconfig-metadataoption.html#cfn-autoscaling-launchconfig-metadataoption-httptokens + HttpTokens string `json:"HttpTokens,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *LaunchConfiguration_MetadataOption) AWSCloudFormationType() string { + return "AWS::AutoScaling::LaunchConfiguration.MetadataOption" +} diff --git a/cloudformation/batch/aws-batch-computeenvironment.go b/cloudformation/batch/aws-batch-computeenvironment.go index 34d1fda226..71ee0a2d12 100644 --- a/cloudformation/batch/aws-batch-computeenvironment.go +++ b/cloudformation/batch/aws-batch-computeenvironment.go @@ -32,6 +32,11 @@ type ComputeEnvironment struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-computeenvironment.html#cfn-batch-computeenvironment-state State string `json:"State,omitempty"` + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-computeenvironment.html#cfn-batch-computeenvironment-tags + Tags interface{} `json:"Tags,omitempty"` + // Type AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-computeenvironment.html#cfn-batch-computeenvironment-type diff --git a/cloudformation/batch/aws-batch-jobdefinition.go b/cloudformation/batch/aws-batch-jobdefinition.go index 82d22af29a..82f41c3f42 100644 --- a/cloudformation/batch/aws-batch-jobdefinition.go +++ b/cloudformation/batch/aws-batch-jobdefinition.go @@ -37,6 +37,11 @@ type JobDefinition struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobdefinition.html#cfn-batch-jobdefinition-retrystrategy RetryStrategy *JobDefinition_RetryStrategy `json:"RetryStrategy,omitempty"` + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobdefinition.html#cfn-batch-jobdefinition-tags + Tags interface{} `json:"Tags,omitempty"` + // Timeout AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobdefinition.html#cfn-batch-jobdefinition-timeout diff --git a/cloudformation/batch/aws-batch-jobqueue.go b/cloudformation/batch/aws-batch-jobqueue.go index e0413c85c1..9635519a15 100644 --- a/cloudformation/batch/aws-batch-jobqueue.go +++ b/cloudformation/batch/aws-batch-jobqueue.go @@ -32,6 +32,11 @@ type JobQueue struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobqueue.html#cfn-batch-jobqueue-state State string `json:"State,omitempty"` + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobqueue.html#cfn-batch-jobqueue-tags + Tags interface{} `json:"Tags,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/cloudfront/aws-cloudfront-distribution_origin.go b/cloudformation/cloudfront/aws-cloudfront-distribution_origin.go index 330de03ade..c22e94f43d 100644 --- a/cloudformation/cloudfront/aws-cloudfront-distribution_origin.go +++ b/cloudformation/cloudfront/aws-cloudfront-distribution_origin.go @@ -43,6 +43,11 @@ type Distribution_Origin struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-originpath OriginPath string `json:"OriginPath,omitempty"` + // OriginShield AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-originshield + OriginShield *Distribution_OriginShield `json:"OriginShield,omitempty"` + // S3OriginConfig AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-s3originconfig diff --git a/cloudformation/cloudfront/aws-cloudfront-distribution_originshield.go b/cloudformation/cloudfront/aws-cloudfront-distribution_originshield.go new file mode 100644 index 0000000000..701bc0eb20 --- /dev/null +++ b/cloudformation/cloudfront/aws-cloudfront-distribution_originshield.go @@ -0,0 +1,40 @@ +package cloudfront + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Distribution_OriginShield AWS CloudFormation Resource (AWS::CloudFront::Distribution.OriginShield) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-originshield.html +type Distribution_OriginShield struct { + + // Enabled AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-originshield.html#cfn-cloudfront-distribution-originshield-enabled + Enabled bool `json:"Enabled"` + + // OriginShieldRegion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-originshield.html#cfn-cloudfront-distribution-originshield-originshieldregion + OriginShieldRegion string `json:"OriginShieldRegion,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Distribution_OriginShield) AWSCloudFormationType() string { + return "AWS::CloudFront::Distribution.OriginShield" +} diff --git a/cloudformation/ec2/aws-ec2-route.go b/cloudformation/ec2/aws-ec2-route.go index d7c9d43eee..6862aff5b2 100644 --- a/cloudformation/ec2/aws-ec2-route.go +++ b/cloudformation/ec2/aws-ec2-route.go @@ -12,6 +12,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html type Route struct { + // CarrierGatewayId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-carriergatewayid + CarrierGatewayId string `json:"CarrierGatewayId,omitempty"` + // DestinationCidrBlock AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-destinationcidrblock @@ -37,6 +42,11 @@ type Route struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-instanceid InstanceId string `json:"InstanceId,omitempty"` + // LocalGatewayId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-localgatewayid + LocalGatewayId string `json:"LocalGatewayId,omitempty"` + // NatGatewayId AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-natgatewayid @@ -57,6 +67,11 @@ type Route struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-transitgatewayid TransitGatewayId string `json:"TransitGatewayId,omitempty"` + // VpcEndpointId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-vpcendpointid + VpcEndpointId string `json:"VpcEndpointId,omitempty"` + // VpcPeeringConnectionId AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-vpcpeeringconnectionid diff --git a/cloudformation/ec2/aws-ec2-subnet.go b/cloudformation/ec2/aws-ec2-subnet.go index 287f1ac5de..c6f6c64dfd 100644 --- a/cloudformation/ec2/aws-ec2-subnet.go +++ b/cloudformation/ec2/aws-ec2-subnet.go @@ -38,6 +38,11 @@ type Subnet struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#cfn-ec2-subnet-mappubliciponlaunch MapPublicIpOnLaunch bool `json:"MapPublicIpOnLaunch,omitempty"` + // OutpostArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#cfn-ec2-subnet-outpostarn + OutpostArn string `json:"OutpostArn,omitempty"` + // Tags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#cfn-ec2-subnet-tags diff --git a/cloudformation/elasticache/aws-elasticache-replicationgroup.go b/cloudformation/elasticache/aws-elasticache-replicationgroup.go index b248d37ebe..e4bc0c4a49 100644 --- a/cloudformation/elasticache/aws-elasticache-replicationgroup.go +++ b/cloudformation/elasticache/aws-elasticache-replicationgroup.go @@ -63,6 +63,11 @@ type ReplicationGroup struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-engineversion EngineVersion string `json:"EngineVersion,omitempty"` + // GlobalReplicationGroupId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-globalreplicationgroupid + GlobalReplicationGroupId string `json:"GlobalReplicationGroupId,omitempty"` + // KmsKeyId AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-kmskeyid diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener.go index f43bf028e3..ef0b68b0b1 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener.go @@ -33,12 +33,12 @@ type Listener struct { LoadBalancerArn string `json:"LoadBalancerArn,omitempty"` // Port AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listener.html#cfn-elasticloadbalancingv2-listener-port - Port int `json:"Port"` + Port int `json:"Port,omitempty"` // Protocol AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listener.html#cfn-elasticloadbalancingv2-listener-protocol Protocol string `json:"Protocol,omitempty"` diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-loadbalancer_subnetmapping.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-loadbalancer_subnetmapping.go index 84901f5fab..6c87f0c345 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-loadbalancer_subnetmapping.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-loadbalancer_subnetmapping.go @@ -13,6 +13,11 @@ type LoadBalancer_SubnetMapping struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-loadbalancer-subnetmapping.html#cfn-elasticloadbalancingv2-loadbalancer-subnetmapping-allocationid AllocationId string `json:"AllocationId,omitempty"` + // IPv6Address AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-loadbalancer-subnetmapping.html#cfn-elasticloadbalancingv2-loadbalancer-subnetmapping-ipv6address + IPv6Address string `json:"IPv6Address,omitempty"` + // PrivateIPv4Address AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-loadbalancer-subnetmapping.html#cfn-elasticloadbalancingv2-loadbalancer-subnetmapping-privateipv4address diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-targetgroup_matcher.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-targetgroup_matcher.go index 31ca47e891..58aa3062d5 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-targetgroup_matcher.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-targetgroup_matcher.go @@ -9,7 +9,7 @@ import ( type TargetGroup_Matcher struct { // HttpCode AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-targetgroup-matcher.html#cfn-elasticloadbalancingv2-targetgroup-matcher-httpcode HttpCode string `json:"HttpCode,omitempty"` diff --git a/cloudformation/elasticsearch/aws-elasticsearch-domain_elasticsearchclusterconfig.go b/cloudformation/elasticsearch/aws-elasticsearch-domain_elasticsearchclusterconfig.go index 4a553a54e6..52ab1a80c4 100644 --- a/cloudformation/elasticsearch/aws-elasticsearch-domain_elasticsearchclusterconfig.go +++ b/cloudformation/elasticsearch/aws-elasticsearch-domain_elasticsearchclusterconfig.go @@ -33,6 +33,21 @@ type Domain_ElasticsearchClusterConfig struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-elasticsearchclusterconfig.html#cfn-elasticsearch-domain-elasticseachclusterconfig-instnacetype InstanceType string `json:"InstanceType,omitempty"` + // WarmCount AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-elasticsearchclusterconfig.html#cfn-elasticsearch-domain-elasticsearchclusterconfig-warmcount + WarmCount int `json:"WarmCount,omitempty"` + + // WarmEnabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-elasticsearchclusterconfig.html#cfn-elasticsearch-domain-elasticsearchclusterconfig-warmenabled + WarmEnabled bool `json:"WarmEnabled,omitempty"` + + // WarmType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-elasticsearchclusterconfig.html#cfn-elasticsearch-domain-elasticsearchclusterconfig-warmtype + WarmType string `json:"WarmType,omitempty"` + // ZoneAwarenessConfig AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-elasticsearchclusterconfig.html#cfn-elasticsearch-domain-elasticsearchclusterconfig-zoneawarenessconfig diff --git a/cloudformation/emr/aws-emr-cluster.go b/cloudformation/emr/aws-emr-cluster.go index 428d98ebbf..9f6db4a8d1 100644 --- a/cloudformation/emr/aws-emr-cluster.go +++ b/cloudformation/emr/aws-emr-cluster.go @@ -63,11 +63,21 @@ type Cluster struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-kerberosattributes KerberosAttributes *Cluster_KerberosAttributes `json:"KerberosAttributes,omitempty"` + // LogEncryptionKmsKeyId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-logencryptionkmskeyid + LogEncryptionKmsKeyId string `json:"LogEncryptionKmsKeyId,omitempty"` + // LogUri AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-loguri LogUri string `json:"LogUri,omitempty"` + // ManagedScalingPolicy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-managedscalingpolicy + ManagedScalingPolicy *Cluster_ManagedScalingPolicy `json:"ManagedScalingPolicy,omitempty"` + // Name AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-name @@ -93,6 +103,11 @@ type Cluster struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-servicerole ServiceRole string `json:"ServiceRole,omitempty"` + // StepConcurrencyLevel AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-stepconcurrencylevel + StepConcurrencyLevel int `json:"StepConcurrencyLevel,omitempty"` + // Steps AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-steps diff --git a/cloudformation/emr/aws-emr-cluster_computelimits.go b/cloudformation/emr/aws-emr-cluster_computelimits.go new file mode 100644 index 0000000000..e1d5f1c543 --- /dev/null +++ b/cloudformation/emr/aws-emr-cluster_computelimits.go @@ -0,0 +1,55 @@ +package emr + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Cluster_ComputeLimits AWS CloudFormation Resource (AWS::EMR::Cluster.ComputeLimits) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-computelimits.html +type Cluster_ComputeLimits struct { + + // MaximumCapacityUnits AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-computelimits.html#cfn-elasticmapreduce-cluster-computelimits-maximumcapacityunits + MaximumCapacityUnits int `json:"MaximumCapacityUnits"` + + // MaximumCoreCapacityUnits AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-computelimits.html#cfn-elasticmapreduce-cluster-computelimits-maximumcorecapacityunits + MaximumCoreCapacityUnits int `json:"MaximumCoreCapacityUnits,omitempty"` + + // MaximumOnDemandCapacityUnits AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-computelimits.html#cfn-elasticmapreduce-cluster-computelimits-maximumondemandcapacityunits + MaximumOnDemandCapacityUnits int `json:"MaximumOnDemandCapacityUnits,omitempty"` + + // MinimumCapacityUnits AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-computelimits.html#cfn-elasticmapreduce-cluster-computelimits-minimumcapacityunits + MinimumCapacityUnits int `json:"MinimumCapacityUnits"` + + // UnitType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-computelimits.html#cfn-elasticmapreduce-cluster-computelimits-unittype + UnitType string `json:"UnitType,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Cluster_ComputeLimits) AWSCloudFormationType() string { + return "AWS::EMR::Cluster.ComputeLimits" +} diff --git a/cloudformation/emr/aws-emr-cluster_instancefleetprovisioningspecifications.go b/cloudformation/emr/aws-emr-cluster_instancefleetprovisioningspecifications.go index 5f94e7187f..2a7cb3d32e 100644 --- a/cloudformation/emr/aws-emr-cluster_instancefleetprovisioningspecifications.go +++ b/cloudformation/emr/aws-emr-cluster_instancefleetprovisioningspecifications.go @@ -8,8 +8,13 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancefleetprovisioningspecifications.html type Cluster_InstanceFleetProvisioningSpecifications struct { + // OnDemandSpecification AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancefleetprovisioningspecifications.html#cfn-elasticmapreduce-cluster-instancefleetprovisioningspecifications-ondemandspecification + OnDemandSpecification *Cluster_OnDemandProvisioningSpecification `json:"OnDemandSpecification,omitempty"` + // SpotSpecification AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancefleetprovisioningspecifications.html#cfn-elasticmapreduce-cluster-instancefleetprovisioningspecifications-spotspecification SpotSpecification *Cluster_SpotProvisioningSpecification `json:"SpotSpecification,omitempty"` diff --git a/cloudformation/emr/aws-emr-cluster_managedscalingpolicy.go b/cloudformation/emr/aws-emr-cluster_managedscalingpolicy.go new file mode 100644 index 0000000000..1714663fd6 --- /dev/null +++ b/cloudformation/emr/aws-emr-cluster_managedscalingpolicy.go @@ -0,0 +1,35 @@ +package emr + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Cluster_ManagedScalingPolicy AWS CloudFormation Resource (AWS::EMR::Cluster.ManagedScalingPolicy) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-managedscalingpolicy.html +type Cluster_ManagedScalingPolicy struct { + + // ComputeLimits AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-managedscalingpolicy.html#cfn-elasticmapreduce-cluster-managedscalingpolicy-computelimits + ComputeLimits *Cluster_ComputeLimits `json:"ComputeLimits,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Cluster_ManagedScalingPolicy) AWSCloudFormationType() string { + return "AWS::EMR::Cluster.ManagedScalingPolicy" +} diff --git a/cloudformation/emr/aws-emr-cluster_ondemandprovisioningspecification.go b/cloudformation/emr/aws-emr-cluster_ondemandprovisioningspecification.go new file mode 100644 index 0000000000..dcec9ed026 --- /dev/null +++ b/cloudformation/emr/aws-emr-cluster_ondemandprovisioningspecification.go @@ -0,0 +1,35 @@ +package emr + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Cluster_OnDemandProvisioningSpecification AWS CloudFormation Resource (AWS::EMR::Cluster.OnDemandProvisioningSpecification) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-ondemandprovisioningspecification.html +type Cluster_OnDemandProvisioningSpecification struct { + + // AllocationStrategy AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-ondemandprovisioningspecification.html#cfn-elasticmapreduce-cluster-ondemandprovisioningspecification-allocationstrategy + AllocationStrategy string `json:"AllocationStrategy,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Cluster_OnDemandProvisioningSpecification) AWSCloudFormationType() string { + return "AWS::EMR::Cluster.OnDemandProvisioningSpecification" +} diff --git a/cloudformation/emr/aws-emr-cluster_spotprovisioningspecification.go b/cloudformation/emr/aws-emr-cluster_spotprovisioningspecification.go index ae4139a24f..f373285b9d 100644 --- a/cloudformation/emr/aws-emr-cluster_spotprovisioningspecification.go +++ b/cloudformation/emr/aws-emr-cluster_spotprovisioningspecification.go @@ -8,6 +8,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-spotprovisioningspecification.html type Cluster_SpotProvisioningSpecification struct { + // AllocationStrategy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-spotprovisioningspecification.html#cfn-elasticmapreduce-cluster-spotprovisioningspecification-allocationstrategy + AllocationStrategy string `json:"AllocationStrategy,omitempty"` + // BlockDurationMinutes AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-spotprovisioningspecification.html#cfn-elasticmapreduce-cluster-spotprovisioningspecification-blockdurationminutes diff --git a/cloudformation/emr/aws-emr-instancefleetconfig_instancefleetprovisioningspecifications.go b/cloudformation/emr/aws-emr-instancefleetconfig_instancefleetprovisioningspecifications.go index 4886bd2411..ceb925809f 100644 --- a/cloudformation/emr/aws-emr-instancefleetconfig_instancefleetprovisioningspecifications.go +++ b/cloudformation/emr/aws-emr-instancefleetconfig_instancefleetprovisioningspecifications.go @@ -8,8 +8,13 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-instancefleetprovisioningspecifications.html type InstanceFleetConfig_InstanceFleetProvisioningSpecifications struct { + // OnDemandSpecification AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-instancefleetprovisioningspecifications.html#cfn-elasticmapreduce-instancefleetconfig-instancefleetprovisioningspecifications-ondemandspecification + OnDemandSpecification *InstanceFleetConfig_OnDemandProvisioningSpecification `json:"OnDemandSpecification,omitempty"` + // SpotSpecification AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-instancefleetprovisioningspecifications.html#cfn-elasticmapreduce-instancefleetconfig-instancefleetprovisioningspecifications-spotspecification SpotSpecification *InstanceFleetConfig_SpotProvisioningSpecification `json:"SpotSpecification,omitempty"` diff --git a/cloudformation/emr/aws-emr-instancefleetconfig_ondemandprovisioningspecification.go b/cloudformation/emr/aws-emr-instancefleetconfig_ondemandprovisioningspecification.go new file mode 100644 index 0000000000..fd87837140 --- /dev/null +++ b/cloudformation/emr/aws-emr-instancefleetconfig_ondemandprovisioningspecification.go @@ -0,0 +1,35 @@ +package emr + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// InstanceFleetConfig_OnDemandProvisioningSpecification AWS CloudFormation Resource (AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-ondemandprovisioningspecification.html +type InstanceFleetConfig_OnDemandProvisioningSpecification struct { + + // AllocationStrategy AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-ondemandprovisioningspecification.html#cfn-elasticmapreduce-instancefleetconfig-ondemandprovisioningspecification-allocationstrategy + AllocationStrategy string `json:"AllocationStrategy,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *InstanceFleetConfig_OnDemandProvisioningSpecification) AWSCloudFormationType() string { + return "AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification" +} diff --git a/cloudformation/emr/aws-emr-instancefleetconfig_spotprovisioningspecification.go b/cloudformation/emr/aws-emr-instancefleetconfig_spotprovisioningspecification.go index faa41e4fc0..2066652670 100644 --- a/cloudformation/emr/aws-emr-instancefleetconfig_spotprovisioningspecification.go +++ b/cloudformation/emr/aws-emr-instancefleetconfig_spotprovisioningspecification.go @@ -8,6 +8,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-spotprovisioningspecification.html type InstanceFleetConfig_SpotProvisioningSpecification struct { + // AllocationStrategy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-spotprovisioningspecification.html#cfn-elasticmapreduce-instancefleetconfig-spotprovisioningspecification-allocationstrategy + AllocationStrategy string `json:"AllocationStrategy,omitempty"` + // BlockDurationMinutes AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-spotprovisioningspecification.html#cfn-elasticmapreduce-instancefleetconfig-spotprovisioningspecification-blockdurationminutes diff --git a/cloudformation/events/aws-events-rule_deadletterconfig.go b/cloudformation/events/aws-events-rule_deadletterconfig.go new file mode 100644 index 0000000000..b08fce55bf --- /dev/null +++ b/cloudformation/events/aws-events-rule_deadletterconfig.go @@ -0,0 +1,35 @@ +package events + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Rule_DeadLetterConfig AWS CloudFormation Resource (AWS::Events::Rule.DeadLetterConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-deadletterconfig.html +type Rule_DeadLetterConfig struct { + + // Arn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-deadletterconfig.html#cfn-events-rule-deadletterconfig-arn + Arn string `json:"Arn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Rule_DeadLetterConfig) AWSCloudFormationType() string { + return "AWS::Events::Rule.DeadLetterConfig" +} diff --git a/cloudformation/events/aws-events-rule_redshiftdataparameters.go b/cloudformation/events/aws-events-rule_redshiftdataparameters.go new file mode 100644 index 0000000000..f269efaa63 --- /dev/null +++ b/cloudformation/events/aws-events-rule_redshiftdataparameters.go @@ -0,0 +1,60 @@ +package events + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Rule_RedshiftDataParameters AWS CloudFormation Resource (AWS::Events::Rule.RedshiftDataParameters) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-redshiftdataparameters.html +type Rule_RedshiftDataParameters struct { + + // Database AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-redshiftdataparameters.html#cfn-events-rule-redshiftdataparameters-database + Database string `json:"Database,omitempty"` + + // DbUser AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-redshiftdataparameters.html#cfn-events-rule-redshiftdataparameters-dbuser + DbUser string `json:"DbUser,omitempty"` + + // SecretManagerArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-redshiftdataparameters.html#cfn-events-rule-redshiftdataparameters-secretmanagerarn + SecretManagerArn string `json:"SecretManagerArn,omitempty"` + + // Sql AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-redshiftdataparameters.html#cfn-events-rule-redshiftdataparameters-sql + Sql string `json:"Sql,omitempty"` + + // StatementName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-redshiftdataparameters.html#cfn-events-rule-redshiftdataparameters-statementname + StatementName string `json:"StatementName,omitempty"` + + // WithEvent AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-redshiftdataparameters.html#cfn-events-rule-redshiftdataparameters-withevent + WithEvent bool `json:"WithEvent,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Rule_RedshiftDataParameters) AWSCloudFormationType() string { + return "AWS::Events::Rule.RedshiftDataParameters" +} diff --git a/cloudformation/events/aws-events-rule_retrypolicy.go b/cloudformation/events/aws-events-rule_retrypolicy.go new file mode 100644 index 0000000000..d70a1c3a3b --- /dev/null +++ b/cloudformation/events/aws-events-rule_retrypolicy.go @@ -0,0 +1,40 @@ +package events + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Rule_RetryPolicy AWS CloudFormation Resource (AWS::Events::Rule.RetryPolicy) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-retrypolicy.html +type Rule_RetryPolicy struct { + + // MaximumEventAgeInSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-retrypolicy.html#cfn-events-rule-retrypolicy-maximumeventageinseconds + MaximumEventAgeInSeconds int `json:"MaximumEventAgeInSeconds,omitempty"` + + // MaximumRetryAttempts AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-retrypolicy.html#cfn-events-rule-retrypolicy-maximumretryattempts + MaximumRetryAttempts int `json:"MaximumRetryAttempts,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Rule_RetryPolicy) AWSCloudFormationType() string { + return "AWS::Events::Rule.RetryPolicy" +} diff --git a/cloudformation/events/aws-events-rule_target.go b/cloudformation/events/aws-events-rule_target.go index 9bf42ff368..3b28285daf 100644 --- a/cloudformation/events/aws-events-rule_target.go +++ b/cloudformation/events/aws-events-rule_target.go @@ -18,6 +18,11 @@ type Rule_Target struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-batchparameters BatchParameters *Rule_BatchParameters `json:"BatchParameters,omitempty"` + // DeadLetterConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-deadletterconfig + DeadLetterConfig *Rule_DeadLetterConfig `json:"DeadLetterConfig,omitempty"` + // EcsParameters AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-ecsparameters @@ -53,6 +58,16 @@ type Rule_Target struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-kinesisparameters KinesisParameters *Rule_KinesisParameters `json:"KinesisParameters,omitempty"` + // RedshiftDataParameters AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-redshiftdataparameters + RedshiftDataParameters *Rule_RedshiftDataParameters `json:"RedshiftDataParameters,omitempty"` + + // RetryPolicy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-retrypolicy + RetryPolicy *Rule_RetryPolicy `json:"RetryPolicy,omitempty"` + // RoleArn AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-rolearn diff --git a/cloudformation/gamelift/aws-gamelift-matchmakingconfiguration.go b/cloudformation/gamelift/aws-gamelift-matchmakingconfiguration.go index 4327aefe7e..3b6b55317e 100644 --- a/cloudformation/gamelift/aws-gamelift-matchmakingconfiguration.go +++ b/cloudformation/gamelift/aws-gamelift-matchmakingconfiguration.go @@ -42,6 +42,11 @@ type MatchmakingConfiguration struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-description Description string `json:"Description,omitempty"` + // FlexMatchMode AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-flexmatchmode + FlexMatchMode string `json:"FlexMatchMode,omitempty"` + // GameProperties AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-gameproperties @@ -53,7 +58,7 @@ type MatchmakingConfiguration struct { GameSessionData string `json:"GameSessionData,omitempty"` // GameSessionQueueArns AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-gamesessionqueuearns GameSessionQueueArns []string `json:"GameSessionQueueArns,omitempty"` diff --git a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream.go b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream.go index c7327201c8..da735dbcdd 100644 --- a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream.go +++ b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream.go @@ -6,12 +6,18 @@ import ( "fmt" "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" ) // DeliveryStream AWS CloudFormation Resource (AWS::KinesisFirehose::DeliveryStream) // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html type DeliveryStream struct { + // DeliveryStreamEncryptionConfigurationInput AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html#cfn-kinesisfirehose-deliverystream-deliverystreamencryptionconfigurationinput + DeliveryStreamEncryptionConfigurationInput *DeliveryStream_DeliveryStreamEncryptionConfigurationInput `json:"DeliveryStreamEncryptionConfigurationInput,omitempty"` + // DeliveryStreamName AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html#cfn-kinesisfirehose-deliverystream-deliverystreamname @@ -57,6 +63,11 @@ type DeliveryStream struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html#cfn-kinesisfirehose-deliverystream-splunkdestinationconfiguration SplunkDestinationConfiguration *DeliveryStream_SplunkDestinationConfiguration `json:"SplunkDestinationConfiguration,omitempty"` + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html#cfn-kinesisfirehose-deliverystream-tags + Tags []tags.Tag `json:"Tags,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_deliverystreamencryptionconfigurationinput.go b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_deliverystreamencryptionconfigurationinput.go new file mode 100644 index 0000000000..5feb61596b --- /dev/null +++ b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_deliverystreamencryptionconfigurationinput.go @@ -0,0 +1,40 @@ +package kinesisfirehose + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DeliveryStream_DeliveryStreamEncryptionConfigurationInput AWS CloudFormation Resource (AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-deliverystreamencryptionconfigurationinput.html +type DeliveryStream_DeliveryStreamEncryptionConfigurationInput struct { + + // KeyARN AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-deliverystreamencryptionconfigurationinput.html#cfn-kinesisfirehose-deliverystream-deliverystreamencryptionconfigurationinput-keyarn + KeyARN string `json:"KeyARN,omitempty"` + + // KeyType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-deliverystreamencryptionconfigurationinput.html#cfn-kinesisfirehose-deliverystream-deliverystreamencryptionconfigurationinput-keytype + KeyType string `json:"KeyType,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DeliveryStream_DeliveryStreamEncryptionConfigurationInput) AWSCloudFormationType() string { + return "AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput" +} diff --git a/cloudformation/lambda/aws-lambda-eventsourcemapping.go b/cloudformation/lambda/aws-lambda-eventsourcemapping.go index 8a716fb965..6ca5e2816b 100644 --- a/cloudformation/lambda/aws-lambda-eventsourcemapping.go +++ b/cloudformation/lambda/aws-lambda-eventsourcemapping.go @@ -62,6 +62,16 @@ type EventSourceMapping struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-parallelizationfactor ParallelizationFactor int `json:"ParallelizationFactor,omitempty"` + // Queues AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-queues + Queues []string `json:"Queues,omitempty"` + + // SourceAccessConfigurations AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-sourceaccessconfigurations + SourceAccessConfigurations []EventSourceMapping_SourceAccessConfiguration `json:"SourceAccessConfigurations,omitempty"` + // StartingPosition AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-startingposition diff --git a/cloudformation/lambda/aws-lambda-eventsourcemapping_sourceaccessconfiguration.go b/cloudformation/lambda/aws-lambda-eventsourcemapping_sourceaccessconfiguration.go new file mode 100644 index 0000000000..c5335c860f --- /dev/null +++ b/cloudformation/lambda/aws-lambda-eventsourcemapping_sourceaccessconfiguration.go @@ -0,0 +1,40 @@ +package lambda + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// EventSourceMapping_SourceAccessConfiguration AWS CloudFormation Resource (AWS::Lambda::EventSourceMapping.SourceAccessConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-sourceaccessconfiguration.html +type EventSourceMapping_SourceAccessConfiguration struct { + + // Type AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-sourceaccessconfiguration.html#cfn-lambda-eventsourcemapping-sourceaccessconfiguration-type + Type string `json:"Type,omitempty"` + + // URI AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-sourceaccessconfiguration.html#cfn-lambda-eventsourcemapping-sourceaccessconfiguration-uri + URI string `json:"URI,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *EventSourceMapping_SourceAccessConfiguration) AWSCloudFormationType() string { + return "AWS::Lambda::EventSourceMapping.SourceAccessConfiguration" +} diff --git a/cloudformation/logs/aws-logs-loggroup.go b/cloudformation/logs/aws-logs-loggroup.go index ab3c8d05b1..c887b3e5c4 100644 --- a/cloudformation/logs/aws-logs-loggroup.go +++ b/cloudformation/logs/aws-logs-loggroup.go @@ -12,14 +12,19 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html type LogGroup struct { + // KmsKeyId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html#cfn-logs-loggroup-kmskeyid + KmsKeyId string `json:"KmsKeyId,omitempty"` + // LogGroupName AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html#cfn-cwl-loggroup-loggroupname + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html#cfn-logs-loggroup-loggroupname LogGroupName string `json:"LogGroupName,omitempty"` // RetentionInDays AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html#cfn-cwl-loggroup-retentionindays + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html#cfn-logs-loggroup-retentionindays RetentionInDays int `json:"RetentionInDays,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy diff --git a/cloudformation/mediapackage/aws-mediapackage-asset.go b/cloudformation/mediapackage/aws-mediapackage-asset.go new file mode 100644 index 0000000000..1435e5d47f --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-asset.go @@ -0,0 +1,137 @@ +package mediapackage + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// Asset AWS CloudFormation Resource (AWS::MediaPackage::Asset) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-asset.html +type Asset struct { + + // EgressEndpoints AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-asset.html#cfn-mediapackage-asset-egressendpoints + EgressEndpoints []Asset_EgressEndpoint `json:"EgressEndpoints,omitempty"` + + // Id AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-asset.html#cfn-mediapackage-asset-id + Id string `json:"Id,omitempty"` + + // PackagingGroupId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-asset.html#cfn-mediapackage-asset-packaginggroupid + PackagingGroupId string `json:"PackagingGroupId,omitempty"` + + // ResourceId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-asset.html#cfn-mediapackage-asset-resourceid + ResourceId string `json:"ResourceId,omitempty"` + + // SourceArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-asset.html#cfn-mediapackage-asset-sourcearn + SourceArn string `json:"SourceArn,omitempty"` + + // SourceRoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-asset.html#cfn-mediapackage-asset-sourcerolearn + SourceRoleArn string `json:"SourceRoleArn,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-asset.html#cfn-mediapackage-asset-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Asset) AWSCloudFormationType() string { + return "AWS::MediaPackage::Asset" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r Asset) MarshalJSON() ([]byte, error) { + type Properties Asset + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *Asset) UnmarshalJSON(b []byte) error { + type Properties Asset + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = Asset(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/mediapackage/aws-mediapackage-asset_egressendpoint.go b/cloudformation/mediapackage/aws-mediapackage-asset_egressendpoint.go new file mode 100644 index 0000000000..cec4039073 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-asset_egressendpoint.go @@ -0,0 +1,40 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Asset_EgressEndpoint AWS CloudFormation Resource (AWS::MediaPackage::Asset.EgressEndpoint) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-asset-egressendpoint.html +type Asset_EgressEndpoint struct { + + // PackagingConfigurationId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-asset-egressendpoint.html#cfn-mediapackage-asset-egressendpoint-packagingconfigurationid + PackagingConfigurationId string `json:"PackagingConfigurationId,omitempty"` + + // Url AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-asset-egressendpoint.html#cfn-mediapackage-asset-egressendpoint-url + Url string `json:"Url,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Asset_EgressEndpoint) AWSCloudFormationType() string { + return "AWS::MediaPackage::Asset.EgressEndpoint" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-channel.go b/cloudformation/mediapackage/aws-mediapackage-channel.go new file mode 100644 index 0000000000..9a3c1901fa --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-channel.go @@ -0,0 +1,117 @@ +package mediapackage + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// Channel AWS CloudFormation Resource (AWS::MediaPackage::Channel) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-channel.html +type Channel struct { + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-channel.html#cfn-mediapackage-channel-description + Description string `json:"Description,omitempty"` + + // Id AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-channel.html#cfn-mediapackage-channel-id + Id string `json:"Id,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-channel.html#cfn-mediapackage-channel-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Channel) AWSCloudFormationType() string { + return "AWS::MediaPackage::Channel" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r Channel) MarshalJSON() ([]byte, error) { + type Properties Channel + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *Channel) UnmarshalJSON(b []byte) error { + type Properties Channel + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = Channel(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/mediapackage/aws-mediapackage-channel_hlsingest.go b/cloudformation/mediapackage/aws-mediapackage-channel_hlsingest.go new file mode 100644 index 0000000000..d7af1eaa46 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-channel_hlsingest.go @@ -0,0 +1,35 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Channel_HlsIngest AWS CloudFormation Resource (AWS::MediaPackage::Channel.HlsIngest) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-channel-hlsingest.html +type Channel_HlsIngest struct { + + // ingestEndpoints AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-channel-hlsingest.html#cfn-mediapackage-channel-hlsingest-ingestendpoints + ingestEndpoints []Channel_IngestEndpoint `json:"ingestEndpoints,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Channel_HlsIngest) AWSCloudFormationType() string { + return "AWS::MediaPackage::Channel.HlsIngest" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-channel_ingestendpoint.go b/cloudformation/mediapackage/aws-mediapackage-channel_ingestendpoint.go new file mode 100644 index 0000000000..bd2dd2f69d --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-channel_ingestendpoint.go @@ -0,0 +1,50 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Channel_IngestEndpoint AWS CloudFormation Resource (AWS::MediaPackage::Channel.IngestEndpoint) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-channel-ingestendpoint.html +type Channel_IngestEndpoint struct { + + // Id AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-channel-ingestendpoint.html#cfn-mediapackage-channel-ingestendpoint-id + Id string `json:"Id,omitempty"` + + // Password AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-channel-ingestendpoint.html#cfn-mediapackage-channel-ingestendpoint-password + Password string `json:"Password,omitempty"` + + // Url AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-channel-ingestendpoint.html#cfn-mediapackage-channel-ingestendpoint-url + Url string `json:"Url,omitempty"` + + // Username AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-channel-ingestendpoint.html#cfn-mediapackage-channel-ingestendpoint-username + Username string `json:"Username,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Channel_IngestEndpoint) AWSCloudFormationType() string { + return "AWS::MediaPackage::Channel.IngestEndpoint" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-originendpoint.go b/cloudformation/mediapackage/aws-mediapackage-originendpoint.go new file mode 100644 index 0000000000..44913477e9 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-originendpoint.go @@ -0,0 +1,172 @@ +package mediapackage + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// OriginEndpoint AWS CloudFormation Resource (AWS::MediaPackage::OriginEndpoint) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html +type OriginEndpoint struct { + + // Authorization AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html#cfn-mediapackage-originendpoint-authorization + Authorization *OriginEndpoint_Authorization `json:"Authorization,omitempty"` + + // ChannelId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html#cfn-mediapackage-originendpoint-channelid + ChannelId string `json:"ChannelId,omitempty"` + + // CmafPackage AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html#cfn-mediapackage-originendpoint-cmafpackage + CmafPackage *OriginEndpoint_CmafPackage `json:"CmafPackage,omitempty"` + + // DashPackage AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html#cfn-mediapackage-originendpoint-dashpackage + DashPackage *OriginEndpoint_DashPackage `json:"DashPackage,omitempty"` + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html#cfn-mediapackage-originendpoint-description + Description string `json:"Description,omitempty"` + + // HlsPackage AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html#cfn-mediapackage-originendpoint-hlspackage + HlsPackage *OriginEndpoint_HlsPackage `json:"HlsPackage,omitempty"` + + // Id AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html#cfn-mediapackage-originendpoint-id + Id string `json:"Id,omitempty"` + + // ManifestName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html#cfn-mediapackage-originendpoint-manifestname + ManifestName string `json:"ManifestName,omitempty"` + + // MssPackage AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html#cfn-mediapackage-originendpoint-msspackage + MssPackage *OriginEndpoint_MssPackage `json:"MssPackage,omitempty"` + + // Origination AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html#cfn-mediapackage-originendpoint-origination + Origination string `json:"Origination,omitempty"` + + // StartoverWindowSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html#cfn-mediapackage-originendpoint-startoverwindowseconds + StartoverWindowSeconds int `json:"StartoverWindowSeconds,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html#cfn-mediapackage-originendpoint-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // TimeDelaySeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html#cfn-mediapackage-originendpoint-timedelayseconds + TimeDelaySeconds int `json:"TimeDelaySeconds,omitempty"` + + // Whitelist AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html#cfn-mediapackage-originendpoint-whitelist + Whitelist []string `json:"Whitelist,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *OriginEndpoint) AWSCloudFormationType() string { + return "AWS::MediaPackage::OriginEndpoint" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r OriginEndpoint) MarshalJSON() ([]byte, error) { + type Properties OriginEndpoint + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *OriginEndpoint) UnmarshalJSON(b []byte) error { + type Properties OriginEndpoint + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = OriginEndpoint(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/mediapackage/aws-mediapackage-originendpoint_adtriggers.go b/cloudformation/mediapackage/aws-mediapackage-originendpoint_adtriggers.go new file mode 100644 index 0000000000..f9992713d2 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-originendpoint_adtriggers.go @@ -0,0 +1,35 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// OriginEndpoint_AdTriggers AWS CloudFormation Resource (AWS::MediaPackage::OriginEndpoint.AdTriggers) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-adtriggers.html +type OriginEndpoint_AdTriggers struct { + + // AdTriggers AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-adtriggers.html#cfn-mediapackage-originendpoint-adtriggers-adtriggers + AdTriggers []string `json:"AdTriggers,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *OriginEndpoint_AdTriggers) AWSCloudFormationType() string { + return "AWS::MediaPackage::OriginEndpoint.AdTriggers" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-originendpoint_authorization.go b/cloudformation/mediapackage/aws-mediapackage-originendpoint_authorization.go new file mode 100644 index 0000000000..38734293d5 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-originendpoint_authorization.go @@ -0,0 +1,40 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// OriginEndpoint_Authorization AWS CloudFormation Resource (AWS::MediaPackage::OriginEndpoint.Authorization) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-authorization.html +type OriginEndpoint_Authorization struct { + + // CdnIdentifierSecret AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-authorization.html#cfn-mediapackage-originendpoint-authorization-cdnidentifiersecret + CdnIdentifierSecret string `json:"CdnIdentifierSecret,omitempty"` + + // SecretsRoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-authorization.html#cfn-mediapackage-originendpoint-authorization-secretsrolearn + SecretsRoleArn string `json:"SecretsRoleArn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *OriginEndpoint_Authorization) AWSCloudFormationType() string { + return "AWS::MediaPackage::OriginEndpoint.Authorization" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-originendpoint_cmafencryption.go b/cloudformation/mediapackage/aws-mediapackage-originendpoint_cmafencryption.go new file mode 100644 index 0000000000..1920609b06 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-originendpoint_cmafencryption.go @@ -0,0 +1,40 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// OriginEndpoint_CmafEncryption AWS CloudFormation Resource (AWS::MediaPackage::OriginEndpoint.CmafEncryption) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-cmafencryption.html +type OriginEndpoint_CmafEncryption struct { + + // KeyRotationIntervalSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-cmafencryption.html#cfn-mediapackage-originendpoint-cmafencryption-keyrotationintervalseconds + KeyRotationIntervalSeconds int `json:"KeyRotationIntervalSeconds,omitempty"` + + // SpekeKeyProvider AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-cmafencryption.html#cfn-mediapackage-originendpoint-cmafencryption-spekekeyprovider + SpekeKeyProvider *OriginEndpoint_SpekeKeyProvider `json:"SpekeKeyProvider,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *OriginEndpoint_CmafEncryption) AWSCloudFormationType() string { + return "AWS::MediaPackage::OriginEndpoint.CmafEncryption" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-originendpoint_cmafpackage.go b/cloudformation/mediapackage/aws-mediapackage-originendpoint_cmafpackage.go new file mode 100644 index 0000000000..953f6fe5aa --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-originendpoint_cmafpackage.go @@ -0,0 +1,55 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// OriginEndpoint_CmafPackage AWS CloudFormation Resource (AWS::MediaPackage::OriginEndpoint.CmafPackage) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-cmafpackage.html +type OriginEndpoint_CmafPackage struct { + + // Encryption AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-cmafpackage.html#cfn-mediapackage-originendpoint-cmafpackage-encryption + Encryption *OriginEndpoint_CmafEncryption `json:"Encryption,omitempty"` + + // HlsManifests AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-cmafpackage.html#cfn-mediapackage-originendpoint-cmafpackage-hlsmanifests + HlsManifests []OriginEndpoint_HlsManifest `json:"HlsManifests,omitempty"` + + // SegmentDurationSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-cmafpackage.html#cfn-mediapackage-originendpoint-cmafpackage-segmentdurationseconds + SegmentDurationSeconds int `json:"SegmentDurationSeconds,omitempty"` + + // SegmentPrefix AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-cmafpackage.html#cfn-mediapackage-originendpoint-cmafpackage-segmentprefix + SegmentPrefix string `json:"SegmentPrefix,omitempty"` + + // StreamSelection AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-cmafpackage.html#cfn-mediapackage-originendpoint-cmafpackage-streamselection + StreamSelection *OriginEndpoint_StreamSelection `json:"StreamSelection,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *OriginEndpoint_CmafPackage) AWSCloudFormationType() string { + return "AWS::MediaPackage::OriginEndpoint.CmafPackage" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-originendpoint_dashencryption.go b/cloudformation/mediapackage/aws-mediapackage-originendpoint_dashencryption.go new file mode 100644 index 0000000000..2e134d7aa8 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-originendpoint_dashencryption.go @@ -0,0 +1,40 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// OriginEndpoint_DashEncryption AWS CloudFormation Resource (AWS::MediaPackage::OriginEndpoint.DashEncryption) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashencryption.html +type OriginEndpoint_DashEncryption struct { + + // KeyRotationIntervalSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashencryption.html#cfn-mediapackage-originendpoint-dashencryption-keyrotationintervalseconds + KeyRotationIntervalSeconds int `json:"KeyRotationIntervalSeconds,omitempty"` + + // SpekeKeyProvider AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashencryption.html#cfn-mediapackage-originendpoint-dashencryption-spekekeyprovider + SpekeKeyProvider *OriginEndpoint_SpekeKeyProvider `json:"SpekeKeyProvider,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *OriginEndpoint_DashEncryption) AWSCloudFormationType() string { + return "AWS::MediaPackage::OriginEndpoint.DashEncryption" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-originendpoint_dashpackage.go b/cloudformation/mediapackage/aws-mediapackage-originendpoint_dashpackage.go new file mode 100644 index 0000000000..bfc4af26d6 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-originendpoint_dashpackage.go @@ -0,0 +1,95 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// OriginEndpoint_DashPackage AWS CloudFormation Resource (AWS::MediaPackage::OriginEndpoint.DashPackage) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashpackage.html +type OriginEndpoint_DashPackage struct { + + // AdTriggers AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashpackage.html#cfn-mediapackage-originendpoint-dashpackage-adtriggers + AdTriggers *OriginEndpoint_AdTriggers `json:"AdTriggers,omitempty"` + + // AdsOnDeliveryRestrictions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashpackage.html#cfn-mediapackage-originendpoint-dashpackage-adsondeliveryrestrictions + AdsOnDeliveryRestrictions string `json:"AdsOnDeliveryRestrictions,omitempty"` + + // Encryption AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashpackage.html#cfn-mediapackage-originendpoint-dashpackage-encryption + Encryption *OriginEndpoint_DashEncryption `json:"Encryption,omitempty"` + + // ManifestLayout AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashpackage.html#cfn-mediapackage-originendpoint-dashpackage-manifestlayout + ManifestLayout string `json:"ManifestLayout,omitempty"` + + // ManifestWindowSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashpackage.html#cfn-mediapackage-originendpoint-dashpackage-manifestwindowseconds + ManifestWindowSeconds int `json:"ManifestWindowSeconds,omitempty"` + + // MinBufferTimeSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashpackage.html#cfn-mediapackage-originendpoint-dashpackage-minbuffertimeseconds + MinBufferTimeSeconds int `json:"MinBufferTimeSeconds,omitempty"` + + // MinUpdatePeriodSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashpackage.html#cfn-mediapackage-originendpoint-dashpackage-minupdateperiodseconds + MinUpdatePeriodSeconds int `json:"MinUpdatePeriodSeconds,omitempty"` + + // PeriodTriggers AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashpackage.html#cfn-mediapackage-originendpoint-dashpackage-periodtriggers + PeriodTriggers []string `json:"PeriodTriggers,omitempty"` + + // Profile AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashpackage.html#cfn-mediapackage-originendpoint-dashpackage-profile + Profile string `json:"Profile,omitempty"` + + // SegmentDurationSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashpackage.html#cfn-mediapackage-originendpoint-dashpackage-segmentdurationseconds + SegmentDurationSeconds int `json:"SegmentDurationSeconds,omitempty"` + + // SegmentTemplateFormat AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashpackage.html#cfn-mediapackage-originendpoint-dashpackage-segmenttemplateformat + SegmentTemplateFormat string `json:"SegmentTemplateFormat,omitempty"` + + // StreamSelection AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashpackage.html#cfn-mediapackage-originendpoint-dashpackage-streamselection + StreamSelection *OriginEndpoint_StreamSelection `json:"StreamSelection,omitempty"` + + // SuggestedPresentationDelaySeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashpackage.html#cfn-mediapackage-originendpoint-dashpackage-suggestedpresentationdelayseconds + SuggestedPresentationDelaySeconds int `json:"SuggestedPresentationDelaySeconds,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *OriginEndpoint_DashPackage) AWSCloudFormationType() string { + return "AWS::MediaPackage::OriginEndpoint.DashPackage" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-originendpoint_hlsencryption.go b/cloudformation/mediapackage/aws-mediapackage-originendpoint_hlsencryption.go new file mode 100644 index 0000000000..6fe0daed8f --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-originendpoint_hlsencryption.go @@ -0,0 +1,55 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// OriginEndpoint_HlsEncryption AWS CloudFormation Resource (AWS::MediaPackage::OriginEndpoint.HlsEncryption) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsencryption.html +type OriginEndpoint_HlsEncryption struct { + + // ConstantInitializationVector AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsencryption.html#cfn-mediapackage-originendpoint-hlsencryption-constantinitializationvector + ConstantInitializationVector string `json:"ConstantInitializationVector,omitempty"` + + // EncryptionMethod AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsencryption.html#cfn-mediapackage-originendpoint-hlsencryption-encryptionmethod + EncryptionMethod string `json:"EncryptionMethod,omitempty"` + + // KeyRotationIntervalSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsencryption.html#cfn-mediapackage-originendpoint-hlsencryption-keyrotationintervalseconds + KeyRotationIntervalSeconds int `json:"KeyRotationIntervalSeconds,omitempty"` + + // RepeatExtXKey AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsencryption.html#cfn-mediapackage-originendpoint-hlsencryption-repeatextxkey + RepeatExtXKey bool `json:"RepeatExtXKey,omitempty"` + + // SpekeKeyProvider AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsencryption.html#cfn-mediapackage-originendpoint-hlsencryption-spekekeyprovider + SpekeKeyProvider *OriginEndpoint_SpekeKeyProvider `json:"SpekeKeyProvider,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *OriginEndpoint_HlsEncryption) AWSCloudFormationType() string { + return "AWS::MediaPackage::OriginEndpoint.HlsEncryption" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-originendpoint_hlsmanifest.go b/cloudformation/mediapackage/aws-mediapackage-originendpoint_hlsmanifest.go new file mode 100644 index 0000000000..1e905fd3ba --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-originendpoint_hlsmanifest.go @@ -0,0 +1,80 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// OriginEndpoint_HlsManifest AWS CloudFormation Resource (AWS::MediaPackage::OriginEndpoint.HlsManifest) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsmanifest.html +type OriginEndpoint_HlsManifest struct { + + // AdMarkers AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsmanifest.html#cfn-mediapackage-originendpoint-hlsmanifest-admarkers + AdMarkers string `json:"AdMarkers,omitempty"` + + // AdTriggers AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsmanifest.html#cfn-mediapackage-originendpoint-hlsmanifest-adtriggers + AdTriggers *OriginEndpoint_AdTriggers `json:"AdTriggers,omitempty"` + + // AdsOnDeliveryRestrictions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsmanifest.html#cfn-mediapackage-originendpoint-hlsmanifest-adsondeliveryrestrictions + AdsOnDeliveryRestrictions string `json:"AdsOnDeliveryRestrictions,omitempty"` + + // Id AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsmanifest.html#cfn-mediapackage-originendpoint-hlsmanifest-id + Id string `json:"Id,omitempty"` + + // IncludeIframeOnlyStream AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsmanifest.html#cfn-mediapackage-originendpoint-hlsmanifest-includeiframeonlystream + IncludeIframeOnlyStream bool `json:"IncludeIframeOnlyStream,omitempty"` + + // ManifestName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsmanifest.html#cfn-mediapackage-originendpoint-hlsmanifest-manifestname + ManifestName string `json:"ManifestName,omitempty"` + + // PlaylistType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsmanifest.html#cfn-mediapackage-originendpoint-hlsmanifest-playlisttype + PlaylistType string `json:"PlaylistType,omitempty"` + + // PlaylistWindowSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsmanifest.html#cfn-mediapackage-originendpoint-hlsmanifest-playlistwindowseconds + PlaylistWindowSeconds int `json:"PlaylistWindowSeconds,omitempty"` + + // ProgramDateTimeIntervalSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsmanifest.html#cfn-mediapackage-originendpoint-hlsmanifest-programdatetimeintervalseconds + ProgramDateTimeIntervalSeconds int `json:"ProgramDateTimeIntervalSeconds,omitempty"` + + // Url AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsmanifest.html#cfn-mediapackage-originendpoint-hlsmanifest-url + Url string `json:"Url,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *OriginEndpoint_HlsManifest) AWSCloudFormationType() string { + return "AWS::MediaPackage::OriginEndpoint.HlsManifest" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-originendpoint_hlspackage.go b/cloudformation/mediapackage/aws-mediapackage-originendpoint_hlspackage.go new file mode 100644 index 0000000000..4b4823e2b9 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-originendpoint_hlspackage.go @@ -0,0 +1,85 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// OriginEndpoint_HlsPackage AWS CloudFormation Resource (AWS::MediaPackage::OriginEndpoint.HlsPackage) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlspackage.html +type OriginEndpoint_HlsPackage struct { + + // AdMarkers AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlspackage.html#cfn-mediapackage-originendpoint-hlspackage-admarkers + AdMarkers string `json:"AdMarkers,omitempty"` + + // AdTriggers AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlspackage.html#cfn-mediapackage-originendpoint-hlspackage-adtriggers + AdTriggers *OriginEndpoint_AdTriggers `json:"AdTriggers,omitempty"` + + // AdsOnDeliveryRestrictions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlspackage.html#cfn-mediapackage-originendpoint-hlspackage-adsondeliveryrestrictions + AdsOnDeliveryRestrictions string `json:"AdsOnDeliveryRestrictions,omitempty"` + + // Encryption AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlspackage.html#cfn-mediapackage-originendpoint-hlspackage-encryption + Encryption *OriginEndpoint_HlsEncryption `json:"Encryption,omitempty"` + + // IncludeIframeOnlyStream AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlspackage.html#cfn-mediapackage-originendpoint-hlspackage-includeiframeonlystream + IncludeIframeOnlyStream bool `json:"IncludeIframeOnlyStream,omitempty"` + + // PlaylistType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlspackage.html#cfn-mediapackage-originendpoint-hlspackage-playlisttype + PlaylistType string `json:"PlaylistType,omitempty"` + + // PlaylistWindowSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlspackage.html#cfn-mediapackage-originendpoint-hlspackage-playlistwindowseconds + PlaylistWindowSeconds int `json:"PlaylistWindowSeconds,omitempty"` + + // ProgramDateTimeIntervalSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlspackage.html#cfn-mediapackage-originendpoint-hlspackage-programdatetimeintervalseconds + ProgramDateTimeIntervalSeconds int `json:"ProgramDateTimeIntervalSeconds,omitempty"` + + // SegmentDurationSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlspackage.html#cfn-mediapackage-originendpoint-hlspackage-segmentdurationseconds + SegmentDurationSeconds int `json:"SegmentDurationSeconds,omitempty"` + + // StreamSelection AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlspackage.html#cfn-mediapackage-originendpoint-hlspackage-streamselection + StreamSelection *OriginEndpoint_StreamSelection `json:"StreamSelection,omitempty"` + + // UseAudioRenditionGroup AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlspackage.html#cfn-mediapackage-originendpoint-hlspackage-useaudiorenditiongroup + UseAudioRenditionGroup bool `json:"UseAudioRenditionGroup,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *OriginEndpoint_HlsPackage) AWSCloudFormationType() string { + return "AWS::MediaPackage::OriginEndpoint.HlsPackage" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-originendpoint_mssencryption.go b/cloudformation/mediapackage/aws-mediapackage-originendpoint_mssencryption.go new file mode 100644 index 0000000000..0c556483be --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-originendpoint_mssencryption.go @@ -0,0 +1,35 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// OriginEndpoint_MssEncryption AWS CloudFormation Resource (AWS::MediaPackage::OriginEndpoint.MssEncryption) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-mssencryption.html +type OriginEndpoint_MssEncryption struct { + + // SpekeKeyProvider AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-mssencryption.html#cfn-mediapackage-originendpoint-mssencryption-spekekeyprovider + SpekeKeyProvider *OriginEndpoint_SpekeKeyProvider `json:"SpekeKeyProvider,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *OriginEndpoint_MssEncryption) AWSCloudFormationType() string { + return "AWS::MediaPackage::OriginEndpoint.MssEncryption" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-originendpoint_msspackage.go b/cloudformation/mediapackage/aws-mediapackage-originendpoint_msspackage.go new file mode 100644 index 0000000000..4d2e69c0b7 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-originendpoint_msspackage.go @@ -0,0 +1,50 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// OriginEndpoint_MssPackage AWS CloudFormation Resource (AWS::MediaPackage::OriginEndpoint.MssPackage) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-msspackage.html +type OriginEndpoint_MssPackage struct { + + // Encryption AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-msspackage.html#cfn-mediapackage-originendpoint-msspackage-encryption + Encryption *OriginEndpoint_MssEncryption `json:"Encryption,omitempty"` + + // ManifestWindowSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-msspackage.html#cfn-mediapackage-originendpoint-msspackage-manifestwindowseconds + ManifestWindowSeconds int `json:"ManifestWindowSeconds,omitempty"` + + // SegmentDurationSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-msspackage.html#cfn-mediapackage-originendpoint-msspackage-segmentdurationseconds + SegmentDurationSeconds int `json:"SegmentDurationSeconds,omitempty"` + + // StreamSelection AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-msspackage.html#cfn-mediapackage-originendpoint-msspackage-streamselection + StreamSelection *OriginEndpoint_StreamSelection `json:"StreamSelection,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *OriginEndpoint_MssPackage) AWSCloudFormationType() string { + return "AWS::MediaPackage::OriginEndpoint.MssPackage" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-originendpoint_spekekeyprovider.go b/cloudformation/mediapackage/aws-mediapackage-originendpoint_spekekeyprovider.go new file mode 100644 index 0000000000..342fc51fc5 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-originendpoint_spekekeyprovider.go @@ -0,0 +1,55 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// OriginEndpoint_SpekeKeyProvider AWS CloudFormation Resource (AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-spekekeyprovider.html +type OriginEndpoint_SpekeKeyProvider struct { + + // CertificateArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-spekekeyprovider.html#cfn-mediapackage-originendpoint-spekekeyprovider-certificatearn + CertificateArn string `json:"CertificateArn,omitempty"` + + // ResourceId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-spekekeyprovider.html#cfn-mediapackage-originendpoint-spekekeyprovider-resourceid + ResourceId string `json:"ResourceId,omitempty"` + + // RoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-spekekeyprovider.html#cfn-mediapackage-originendpoint-spekekeyprovider-rolearn + RoleArn string `json:"RoleArn,omitempty"` + + // SystemIds AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-spekekeyprovider.html#cfn-mediapackage-originendpoint-spekekeyprovider-systemids + SystemIds []string `json:"SystemIds,omitempty"` + + // Url AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-spekekeyprovider.html#cfn-mediapackage-originendpoint-spekekeyprovider-url + Url string `json:"Url,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *OriginEndpoint_SpekeKeyProvider) AWSCloudFormationType() string { + return "AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-originendpoint_streamselection.go b/cloudformation/mediapackage/aws-mediapackage-originendpoint_streamselection.go new file mode 100644 index 0000000000..9196ad1d70 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-originendpoint_streamselection.go @@ -0,0 +1,45 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// OriginEndpoint_StreamSelection AWS CloudFormation Resource (AWS::MediaPackage::OriginEndpoint.StreamSelection) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-streamselection.html +type OriginEndpoint_StreamSelection struct { + + // MaxVideoBitsPerSecond AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-streamselection.html#cfn-mediapackage-originendpoint-streamselection-maxvideobitspersecond + MaxVideoBitsPerSecond int `json:"MaxVideoBitsPerSecond,omitempty"` + + // MinVideoBitsPerSecond AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-streamselection.html#cfn-mediapackage-originendpoint-streamselection-minvideobitspersecond + MinVideoBitsPerSecond int `json:"MinVideoBitsPerSecond,omitempty"` + + // StreamOrder AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-streamselection.html#cfn-mediapackage-originendpoint-streamselection-streamorder + StreamOrder string `json:"StreamOrder,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *OriginEndpoint_StreamSelection) AWSCloudFormationType() string { + return "AWS::MediaPackage::OriginEndpoint.StreamSelection" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration.go b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration.go new file mode 100644 index 0000000000..4e0062c156 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration.go @@ -0,0 +1,137 @@ +package mediapackage + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// PackagingConfiguration AWS CloudFormation Resource (AWS::MediaPackage::PackagingConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packagingconfiguration.html +type PackagingConfiguration struct { + + // CmafPackage AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packagingconfiguration.html#cfn-mediapackage-packagingconfiguration-cmafpackage + CmafPackage *PackagingConfiguration_CmafPackage `json:"CmafPackage,omitempty"` + + // DashPackage AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packagingconfiguration.html#cfn-mediapackage-packagingconfiguration-dashpackage + DashPackage *PackagingConfiguration_DashPackage `json:"DashPackage,omitempty"` + + // HlsPackage AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packagingconfiguration.html#cfn-mediapackage-packagingconfiguration-hlspackage + HlsPackage *PackagingConfiguration_HlsPackage `json:"HlsPackage,omitempty"` + + // Id AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packagingconfiguration.html#cfn-mediapackage-packagingconfiguration-id + Id string `json:"Id,omitempty"` + + // MssPackage AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packagingconfiguration.html#cfn-mediapackage-packagingconfiguration-msspackage + MssPackage *PackagingConfiguration_MssPackage `json:"MssPackage,omitempty"` + + // PackagingGroupId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packagingconfiguration.html#cfn-mediapackage-packagingconfiguration-packaginggroupid + PackagingGroupId string `json:"PackagingGroupId,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packagingconfiguration.html#cfn-mediapackage-packagingconfiguration-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *PackagingConfiguration) AWSCloudFormationType() string { + return "AWS::MediaPackage::PackagingConfiguration" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r PackagingConfiguration) MarshalJSON() ([]byte, error) { + type Properties PackagingConfiguration + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *PackagingConfiguration) UnmarshalJSON(b []byte) error { + type Properties PackagingConfiguration + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = PackagingConfiguration(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_cmafencryption.go b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_cmafencryption.go new file mode 100644 index 0000000000..a65e4307f6 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_cmafencryption.go @@ -0,0 +1,35 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// PackagingConfiguration_CmafEncryption AWS CloudFormation Resource (AWS::MediaPackage::PackagingConfiguration.CmafEncryption) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-cmafencryption.html +type PackagingConfiguration_CmafEncryption struct { + + // SpekeKeyProvider AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-cmafencryption.html#cfn-mediapackage-packagingconfiguration-cmafencryption-spekekeyprovider + SpekeKeyProvider *PackagingConfiguration_ `json:"SpekeKeyProvider,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *PackagingConfiguration_CmafEncryption) AWSCloudFormationType() string { + return "AWS::MediaPackage::PackagingConfiguration.CmafEncryption" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_cmafpackage.go b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_cmafpackage.go new file mode 100644 index 0000000000..28f90d43c5 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_cmafpackage.go @@ -0,0 +1,45 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// PackagingConfiguration_CmafPackage AWS CloudFormation Resource (AWS::MediaPackage::PackagingConfiguration.CmafPackage) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-cmafpackage.html +type PackagingConfiguration_CmafPackage struct { + + // Encryption AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-cmafpackage.html#cfn-mediapackage-packagingconfiguration-cmafpackage-encryption + Encryption *PackagingConfiguration_CmafEncryption `json:"Encryption,omitempty"` + + // HlsManifests AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-cmafpackage.html#cfn-mediapackage-packagingconfiguration-cmafpackage-hlsmanifests + HlsManifests []PackagingConfiguration_HlsManifest `json:"HlsManifests,omitempty"` + + // SegmentDurationSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-cmafpackage.html#cfn-mediapackage-packagingconfiguration-cmafpackage-segmentdurationseconds + SegmentDurationSeconds int `json:"SegmentDurationSeconds,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *PackagingConfiguration_CmafPackage) AWSCloudFormationType() string { + return "AWS::MediaPackage::PackagingConfiguration.CmafPackage" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_dashencryption.go b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_dashencryption.go new file mode 100644 index 0000000000..fbd111a841 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_dashencryption.go @@ -0,0 +1,35 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// PackagingConfiguration_DashEncryption AWS CloudFormation Resource (AWS::MediaPackage::PackagingConfiguration.DashEncryption) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashencryption.html +type PackagingConfiguration_DashEncryption struct { + + // SpekeKeyProvider AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashencryption.html#cfn-mediapackage-packagingconfiguration-dashencryption-spekekeyprovider + SpekeKeyProvider *PackagingConfiguration_ `json:"SpekeKeyProvider,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *PackagingConfiguration_DashEncryption) AWSCloudFormationType() string { + return "AWS::MediaPackage::PackagingConfiguration.DashEncryption" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_dashmanifest.go b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_dashmanifest.go new file mode 100644 index 0000000000..f007c1edff --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_dashmanifest.go @@ -0,0 +1,55 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// PackagingConfiguration_DashManifest AWS CloudFormation Resource (AWS::MediaPackage::PackagingConfiguration.DashManifest) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashmanifest.html +type PackagingConfiguration_DashManifest struct { + + // ManifestLayout AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashmanifest.html#cfn-mediapackage-packagingconfiguration-dashmanifest-manifestlayout + ManifestLayout string `json:"ManifestLayout,omitempty"` + + // ManifestName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashmanifest.html#cfn-mediapackage-packagingconfiguration-dashmanifest-manifestname + ManifestName string `json:"ManifestName,omitempty"` + + // MinBufferTimeSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashmanifest.html#cfn-mediapackage-packagingconfiguration-dashmanifest-minbuffertimeseconds + MinBufferTimeSeconds int `json:"MinBufferTimeSeconds,omitempty"` + + // Profile AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashmanifest.html#cfn-mediapackage-packagingconfiguration-dashmanifest-profile + Profile string `json:"Profile,omitempty"` + + // StreamSelection AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashmanifest.html#cfn-mediapackage-packagingconfiguration-dashmanifest-streamselection + StreamSelection *PackagingConfiguration_StreamSelection `json:"StreamSelection,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *PackagingConfiguration_DashManifest) AWSCloudFormationType() string { + return "AWS::MediaPackage::PackagingConfiguration.DashManifest" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_dashpackage.go b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_dashpackage.go new file mode 100644 index 0000000000..40725b1a23 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_dashpackage.go @@ -0,0 +1,55 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// PackagingConfiguration_DashPackage AWS CloudFormation Resource (AWS::MediaPackage::PackagingConfiguration.DashPackage) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashpackage.html +type PackagingConfiguration_DashPackage struct { + + // DashManifests AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashpackage.html#cfn-mediapackage-packagingconfiguration-dashpackage-dashmanifests + DashManifests []PackagingConfiguration_DashManifest `json:"DashManifests,omitempty"` + + // Encryption AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashpackage.html#cfn-mediapackage-packagingconfiguration-dashpackage-encryption + Encryption *PackagingConfiguration_DashEncryption `json:"Encryption,omitempty"` + + // PeriodTriggers AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashpackage.html#cfn-mediapackage-packagingconfiguration-dashpackage-periodtriggers + PeriodTriggers []string `json:"PeriodTriggers,omitempty"` + + // SegmentDurationSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashpackage.html#cfn-mediapackage-packagingconfiguration-dashpackage-segmentdurationseconds + SegmentDurationSeconds int `json:"SegmentDurationSeconds,omitempty"` + + // SegmentTemplateFormat AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashpackage.html#cfn-mediapackage-packagingconfiguration-dashpackage-segmenttemplateformat + SegmentTemplateFormat string `json:"SegmentTemplateFormat,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *PackagingConfiguration_DashPackage) AWSCloudFormationType() string { + return "AWS::MediaPackage::PackagingConfiguration.DashPackage" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_hlsencryption.go b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_hlsencryption.go new file mode 100644 index 0000000000..58dc0532fa --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_hlsencryption.go @@ -0,0 +1,45 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// PackagingConfiguration_HlsEncryption AWS CloudFormation Resource (AWS::MediaPackage::PackagingConfiguration.HlsEncryption) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlsencryption.html +type PackagingConfiguration_HlsEncryption struct { + + // ConstantInitializationVector AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlsencryption.html#cfn-mediapackage-packagingconfiguration-hlsencryption-constantinitializationvector + ConstantInitializationVector string `json:"ConstantInitializationVector,omitempty"` + + // EncryptionMethod AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlsencryption.html#cfn-mediapackage-packagingconfiguration-hlsencryption-encryptionmethod + EncryptionMethod string `json:"EncryptionMethod,omitempty"` + + // SpekeKeyProvider AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlsencryption.html#cfn-mediapackage-packagingconfiguration-hlsencryption-spekekeyprovider + SpekeKeyProvider *PackagingConfiguration_ `json:"SpekeKeyProvider,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *PackagingConfiguration_HlsEncryption) AWSCloudFormationType() string { + return "AWS::MediaPackage::PackagingConfiguration.HlsEncryption" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_hlsmanifest.go b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_hlsmanifest.go new file mode 100644 index 0000000000..2b108f3882 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_hlsmanifest.go @@ -0,0 +1,60 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// PackagingConfiguration_HlsManifest AWS CloudFormation Resource (AWS::MediaPackage::PackagingConfiguration.HlsManifest) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlsmanifest.html +type PackagingConfiguration_HlsManifest struct { + + // AdMarkers AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlsmanifest.html#cfn-mediapackage-packagingconfiguration-hlsmanifest-admarkers + AdMarkers string `json:"AdMarkers,omitempty"` + + // IncludeIframeOnlyStream AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlsmanifest.html#cfn-mediapackage-packagingconfiguration-hlsmanifest-includeiframeonlystream + IncludeIframeOnlyStream bool `json:"IncludeIframeOnlyStream,omitempty"` + + // ManifestName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlsmanifest.html#cfn-mediapackage-packagingconfiguration-hlsmanifest-manifestname + ManifestName string `json:"ManifestName,omitempty"` + + // ProgramDateTimeIntervalSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlsmanifest.html#cfn-mediapackage-packagingconfiguration-hlsmanifest-programdatetimeintervalseconds + ProgramDateTimeIntervalSeconds int `json:"ProgramDateTimeIntervalSeconds,omitempty"` + + // RepeatExtXKey AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlsmanifest.html#cfn-mediapackage-packagingconfiguration-hlsmanifest-repeatextxkey + RepeatExtXKey bool `json:"RepeatExtXKey,omitempty"` + + // StreamSelection AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlsmanifest.html#cfn-mediapackage-packagingconfiguration-hlsmanifest-streamselection + StreamSelection *PackagingConfiguration_StreamSelection `json:"StreamSelection,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *PackagingConfiguration_HlsManifest) AWSCloudFormationType() string { + return "AWS::MediaPackage::PackagingConfiguration.HlsManifest" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_hlspackage.go b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_hlspackage.go new file mode 100644 index 0000000000..35514bfb6f --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_hlspackage.go @@ -0,0 +1,50 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// PackagingConfiguration_HlsPackage AWS CloudFormation Resource (AWS::MediaPackage::PackagingConfiguration.HlsPackage) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlspackage.html +type PackagingConfiguration_HlsPackage struct { + + // Encryption AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlspackage.html#cfn-mediapackage-packagingconfiguration-hlspackage-encryption + Encryption *PackagingConfiguration_HlsEncryption `json:"Encryption,omitempty"` + + // HlsManifests AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlspackage.html#cfn-mediapackage-packagingconfiguration-hlspackage-hlsmanifests + HlsManifests []PackagingConfiguration_HlsManifest `json:"HlsManifests,omitempty"` + + // SegmentDurationSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlspackage.html#cfn-mediapackage-packagingconfiguration-hlspackage-segmentdurationseconds + SegmentDurationSeconds int `json:"SegmentDurationSeconds,omitempty"` + + // UseAudioRenditionGroup AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlspackage.html#cfn-mediapackage-packagingconfiguration-hlspackage-useaudiorenditiongroup + UseAudioRenditionGroup bool `json:"UseAudioRenditionGroup,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *PackagingConfiguration_HlsPackage) AWSCloudFormationType() string { + return "AWS::MediaPackage::PackagingConfiguration.HlsPackage" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_mssencryption.go b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_mssencryption.go new file mode 100644 index 0000000000..dfcc643ae2 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_mssencryption.go @@ -0,0 +1,35 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// PackagingConfiguration_MssEncryption AWS CloudFormation Resource (AWS::MediaPackage::PackagingConfiguration.MssEncryption) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-mssencryption.html +type PackagingConfiguration_MssEncryption struct { + + // SpekeKeyProvider AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-mssencryption.html#cfn-mediapackage-packagingconfiguration-mssencryption-spekekeyprovider + SpekeKeyProvider *PackagingConfiguration_ `json:"SpekeKeyProvider,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *PackagingConfiguration_MssEncryption) AWSCloudFormationType() string { + return "AWS::MediaPackage::PackagingConfiguration.MssEncryption" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_mssmanifest.go b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_mssmanifest.go new file mode 100644 index 0000000000..abe9ccc4a6 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_mssmanifest.go @@ -0,0 +1,40 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// PackagingConfiguration_MssManifest AWS CloudFormation Resource (AWS::MediaPackage::PackagingConfiguration.MssManifest) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-mssmanifest.html +type PackagingConfiguration_MssManifest struct { + + // ManifestName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-mssmanifest.html#cfn-mediapackage-packagingconfiguration-mssmanifest-manifestname + ManifestName string `json:"ManifestName,omitempty"` + + // StreamSelection AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-mssmanifest.html#cfn-mediapackage-packagingconfiguration-mssmanifest-streamselection + StreamSelection *PackagingConfiguration_StreamSelection `json:"StreamSelection,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *PackagingConfiguration_MssManifest) AWSCloudFormationType() string { + return "AWS::MediaPackage::PackagingConfiguration.MssManifest" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_msspackage.go b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_msspackage.go new file mode 100644 index 0000000000..56ff7a8681 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_msspackage.go @@ -0,0 +1,45 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// PackagingConfiguration_MssPackage AWS CloudFormation Resource (AWS::MediaPackage::PackagingConfiguration.MssPackage) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-msspackage.html +type PackagingConfiguration_MssPackage struct { + + // Encryption AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-msspackage.html#cfn-mediapackage-packagingconfiguration-msspackage-encryption + Encryption *PackagingConfiguration_MssEncryption `json:"Encryption,omitempty"` + + // MssManifests AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-msspackage.html#cfn-mediapackage-packagingconfiguration-msspackage-mssmanifests + MssManifests []PackagingConfiguration_MssManifest `json:"MssManifests,omitempty"` + + // SegmentDurationSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-msspackage.html#cfn-mediapackage-packagingconfiguration-msspackage-segmentdurationseconds + SegmentDurationSeconds int `json:"SegmentDurationSeconds,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *PackagingConfiguration_MssPackage) AWSCloudFormationType() string { + return "AWS::MediaPackage::PackagingConfiguration.MssPackage" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_spekekeyprovider.go b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_spekekeyprovider.go new file mode 100644 index 0000000000..d6e56f6a52 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_spekekeyprovider.go @@ -0,0 +1,45 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// PackagingConfiguration_SpekeKeyProvider AWS CloudFormation Resource (AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-spekekeyprovider.html +type PackagingConfiguration_SpekeKeyProvider struct { + + // RoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-spekekeyprovider.html#cfn-mediapackage-packagingconfiguration-spekekeyprovider-rolearn + RoleArn string `json:"RoleArn,omitempty"` + + // SystemIds AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-spekekeyprovider.html#cfn-mediapackage-packagingconfiguration-spekekeyprovider-systemids + SystemIds []string `json:"SystemIds,omitempty"` + + // Url AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-spekekeyprovider.html#cfn-mediapackage-packagingconfiguration-spekekeyprovider-url + Url string `json:"Url,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *PackagingConfiguration_SpekeKeyProvider) AWSCloudFormationType() string { + return "AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_streamselection.go b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_streamselection.go new file mode 100644 index 0000000000..4e8d8b6139 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_streamselection.go @@ -0,0 +1,45 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// PackagingConfiguration_StreamSelection AWS CloudFormation Resource (AWS::MediaPackage::PackagingConfiguration.StreamSelection) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-streamselection.html +type PackagingConfiguration_StreamSelection struct { + + // MaxVideoBitsPerSecond AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-streamselection.html#cfn-mediapackage-packagingconfiguration-streamselection-maxvideobitspersecond + MaxVideoBitsPerSecond int `json:"MaxVideoBitsPerSecond,omitempty"` + + // MinVideoBitsPerSecond AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-streamselection.html#cfn-mediapackage-packagingconfiguration-streamselection-minvideobitspersecond + MinVideoBitsPerSecond int `json:"MinVideoBitsPerSecond,omitempty"` + + // StreamOrder AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-streamselection.html#cfn-mediapackage-packagingconfiguration-streamselection-streamorder + StreamOrder string `json:"StreamOrder,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *PackagingConfiguration_StreamSelection) AWSCloudFormationType() string { + return "AWS::MediaPackage::PackagingConfiguration.StreamSelection" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-packaginggroup.go b/cloudformation/mediapackage/aws-mediapackage-packaginggroup.go new file mode 100644 index 0000000000..629082413c --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-packaginggroup.go @@ -0,0 +1,117 @@ +package mediapackage + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// PackagingGroup AWS CloudFormation Resource (AWS::MediaPackage::PackagingGroup) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packaginggroup.html +type PackagingGroup struct { + + // Authorization AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packaginggroup.html#cfn-mediapackage-packaginggroup-authorization + Authorization *PackagingGroup_Authorization `json:"Authorization,omitempty"` + + // Id AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packaginggroup.html#cfn-mediapackage-packaginggroup-id + Id string `json:"Id,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packaginggroup.html#cfn-mediapackage-packaginggroup-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *PackagingGroup) AWSCloudFormationType() string { + return "AWS::MediaPackage::PackagingGroup" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r PackagingGroup) MarshalJSON() ([]byte, error) { + type Properties PackagingGroup + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *PackagingGroup) UnmarshalJSON(b []byte) error { + type Properties PackagingGroup + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = PackagingGroup(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/mediapackage/aws-mediapackage-packaginggroup_authorization.go b/cloudformation/mediapackage/aws-mediapackage-packaginggroup_authorization.go new file mode 100644 index 0000000000..ded1e1b089 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-packaginggroup_authorization.go @@ -0,0 +1,40 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// PackagingGroup_Authorization AWS CloudFormation Resource (AWS::MediaPackage::PackagingGroup.Authorization) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packaginggroup-authorization.html +type PackagingGroup_Authorization struct { + + // CdnIdentifierSecret AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packaginggroup-authorization.html#cfn-mediapackage-packaginggroup-authorization-cdnidentifiersecret + CdnIdentifierSecret string `json:"CdnIdentifierSecret,omitempty"` + + // SecretsRoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packaginggroup-authorization.html#cfn-mediapackage-packaginggroup-authorization-secretsrolearn + SecretsRoleArn string `json:"SecretsRoleArn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *PackagingGroup_Authorization) AWSCloudFormationType() string { + return "AWS::MediaPackage::PackagingGroup.Authorization" +} diff --git a/cloudformation/rds/aws-rds-dbcluster.go b/cloudformation/rds/aws-rds-dbcluster.go index e535585406..cc0115b4a7 100644 --- a/cloudformation/rds/aws-rds-dbcluster.go +++ b/cloudformation/rds/aws-rds-dbcluster.go @@ -88,6 +88,11 @@ type DBCluster struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-engineversion EngineVersion string `json:"EngineVersion,omitempty"` + // GlobalClusterIdentifier AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-globalclusteridentifier + GlobalClusterIdentifier string `json:"GlobalClusterIdentifier,omitempty"` + // KmsKeyId AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-kmskeyid diff --git a/cloudformation/s3/aws-s3-bucket_metrics.go b/cloudformation/s3/aws-s3-bucket_metrics.go index 1b0b784be3..0bcc9f0839 100644 --- a/cloudformation/s3/aws-s3-bucket_metrics.go +++ b/cloudformation/s3/aws-s3-bucket_metrics.go @@ -9,7 +9,7 @@ import ( type Bucket_Metrics struct { // EventThreshold AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metrics.html#cfn-s3-bucket-metrics-eventthreshold EventThreshold *Bucket_ReplicationTimeValue `json:"EventThreshold,omitempty"` diff --git a/cloudformation/s3/aws-s3-bucket_replicamodifications.go b/cloudformation/s3/aws-s3-bucket_replicamodifications.go new file mode 100644 index 0000000000..971d88ef36 --- /dev/null +++ b/cloudformation/s3/aws-s3-bucket_replicamodifications.go @@ -0,0 +1,35 @@ +package s3 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Bucket_ReplicaModifications AWS CloudFormation Resource (AWS::S3::Bucket.ReplicaModifications) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicamodifications.html +type Bucket_ReplicaModifications struct { + + // Status AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicamodifications.html#cfn-s3-bucket-replicamodifications-status + Status string `json:"Status,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Bucket_ReplicaModifications) AWSCloudFormationType() string { + return "AWS::S3::Bucket.ReplicaModifications" +} diff --git a/cloudformation/s3/aws-s3-bucket_sourceselectioncriteria.go b/cloudformation/s3/aws-s3-bucket_sourceselectioncriteria.go index ffde1ccce3..17817183b7 100644 --- a/cloudformation/s3/aws-s3-bucket_sourceselectioncriteria.go +++ b/cloudformation/s3/aws-s3-bucket_sourceselectioncriteria.go @@ -8,8 +8,13 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-sourceselectioncriteria.html type Bucket_SourceSelectionCriteria struct { + // ReplicaModifications AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-sourceselectioncriteria.html#cfn-s3-bucket-sourceselectioncriteria-replicamodifications + ReplicaModifications *Bucket_ReplicaModifications `json:"ReplicaModifications,omitempty"` + // SseKmsEncryptedObjects AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-sourceselectioncriteria.html#cfn-s3-bucket-sourceselectioncriteria-ssekmsencryptedobjects SseKmsEncryptedObjects *Bucket_SseKmsEncryptedObjects `json:"SseKmsEncryptedObjects,omitempty"` diff --git a/cloudformation/sagemaker/aws-sagemaker-model_containerdefinition.go b/cloudformation/sagemaker/aws-sagemaker-model_containerdefinition.go index 48d3925333..06142ba382 100644 --- a/cloudformation/sagemaker/aws-sagemaker-model_containerdefinition.go +++ b/cloudformation/sagemaker/aws-sagemaker-model_containerdefinition.go @@ -23,6 +23,11 @@ type Model_ContainerDefinition struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-containerdefinition.html#cfn-sagemaker-model-containerdefinition-image Image string `json:"Image,omitempty"` + // ImageConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-containerdefinition.html#cfn-sagemaker-model-containerdefinition-imageconfig + ImageConfig *Model_ImageConfig `json:"ImageConfig,omitempty"` + // Mode AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-containerdefinition.html#cfn-sagemaker-model-containerdefinition-mode diff --git a/cloudformation/sagemaker/aws-sagemaker-model_imageconfig.go b/cloudformation/sagemaker/aws-sagemaker-model_imageconfig.go new file mode 100644 index 0000000000..16f27415fe --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-model_imageconfig.go @@ -0,0 +1,35 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Model_ImageConfig AWS CloudFormation Resource (AWS::SageMaker::Model.ImageConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-containerdefinition-imageconfig.html +type Model_ImageConfig struct { + + // RepositoryAccessMode AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-containerdefinition-imageconfig.html#cfn-sagemaker-model-containerdefinition-imageconfig-repositoryaccessmode + RepositoryAccessMode string `json:"RepositoryAccessMode,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Model_ImageConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::Model.ImageConfig" +} diff --git a/cloudformation/sns/aws-sns-subscription.go b/cloudformation/sns/aws-sns-subscription.go index 589d75c70b..5c744e05cc 100644 --- a/cloudformation/sns/aws-sns-subscription.go +++ b/cloudformation/sns/aws-sns-subscription.go @@ -47,6 +47,11 @@ type Subscription struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-region Region string `json:"Region,omitempty"` + // SubscriptionRoleArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-subscriptionrolearn + SubscriptionRoleArn string `json:"SubscriptionRoleArn,omitempty"` + // TopicArn AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#topicarn diff --git a/cloudformation/sns/aws-sns-topic.go b/cloudformation/sns/aws-sns-topic.go index 1a7fee7f93..f6c9531119 100644 --- a/cloudformation/sns/aws-sns-topic.go +++ b/cloudformation/sns/aws-sns-topic.go @@ -23,6 +23,11 @@ type Topic struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html#cfn-sns-topic-displayname DisplayName string `json:"DisplayName,omitempty"` + // FifoTopic AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html#cfn-sns-topic-fifotopic + FifoTopic bool `json:"FifoTopic,omitempty"` + // KmsMasterKeyId AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html#cfn-sns-topic-kmsmasterkeyid diff --git a/cloudformation/transfer/aws-transfer-server_endpointdetails.go b/cloudformation/transfer/aws-transfer-server_endpointdetails.go index af089dde9f..e0f49aa2e2 100644 --- a/cloudformation/transfer/aws-transfer-server_endpointdetails.go +++ b/cloudformation/transfer/aws-transfer-server_endpointdetails.go @@ -13,6 +13,11 @@ type Server_EndpointDetails struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-server-endpointdetails.html#cfn-transfer-server-endpointdetails-addressallocationids AddressAllocationIds []string `json:"AddressAllocationIds,omitempty"` + // SecurityGroupIds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-server-endpointdetails.html#cfn-transfer-server-endpointdetails-securitygroupids + SecurityGroupIds []Server_SecurityGroupId `json:"SecurityGroupIds,omitempty"` + // SubnetIds AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-server-endpointdetails.html#cfn-transfer-server-endpointdetails-subnetids diff --git a/cloudformation/transfer/aws-transfer-server_securitygroupid.go b/cloudformation/transfer/aws-transfer-server_securitygroupid.go new file mode 100644 index 0000000000..7c8eb91e90 --- /dev/null +++ b/cloudformation/transfer/aws-transfer-server_securitygroupid.go @@ -0,0 +1,30 @@ +package transfer + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Server_SecurityGroupId AWS CloudFormation Resource (AWS::Transfer::Server.SecurityGroupId) +// See: +type Server_SecurityGroupId struct { + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Server_SecurityGroupId) AWSCloudFormationType() string { + return "AWS::Transfer::Server.SecurityGroupId" +} diff --git a/schema/cloudformation.go b/schema/cloudformation.go index 133cb38956..f8fbb7f0aa 100644 --- a/schema/cloudformation.go +++ b/schema/cloudformation.go @@ -516,9 +516,6 @@ var CloudformationSchema = `{ "HostInstanceType": { "type": "string" }, - "LdapMetadata": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.LdapMetadata" - }, "LdapServerMetadata": { "$ref": "#/definitions/AWS::AmazonMQ::Broker.LdapServerMetadata" }, @@ -623,40 +620,6 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::AmazonMQ::Broker.InterBrokerCred": { - "additionalProperties": false, - "properties": { - "Password": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "Password", - "Username" - ], - "type": "object" - }, - "AWS::AmazonMQ::Broker.LdapMetadata": { - "additionalProperties": false, - "properties": { - "InterBrokerCreds": { - "items": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.InterBrokerCred" - }, - "type": "array" - }, - "ServerMetadata": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.ServerMetadata" - } - }, - "required": [ - "ServerMetadata" - ], - "type": "object" - }, "AWS::AmazonMQ::Broker.LdapServerMetadata": { "additionalProperties": false, "properties": { @@ -740,57 +703,6 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::AmazonMQ::Broker.ServerMetadata": { - "additionalProperties": false, - "properties": { - "Hosts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RoleBase": { - "type": "string" - }, - "RoleName": { - "type": "string" - }, - "RoleSearchMatching": { - "type": "string" - }, - "RoleSearchSubtree": { - "type": "boolean" - }, - "ServiceAccountPassword": { - "type": "string" - }, - "ServiceAccountUsername": { - "type": "string" - }, - "UserBase": { - "type": "string" - }, - "UserRoleName": { - "type": "string" - }, - "UserSearchMatching": { - "type": "string" - }, - "UserSearchSubtree": { - "type": "boolean" - } - }, - "required": [ - "Hosts", - "RoleBase", - "RoleSearchMatching", - "ServiceAccountPassword", - "ServiceAccountUsername", - "UserBase", - "UserSearchMatching" - ], - "type": "object" - }, "AWS::AmazonMQ::Broker.TagsEntry": { "additionalProperties": false, "properties": { @@ -9478,6 +9390,9 @@ var CloudformationSchema = `{ "ApiId": { "type": "string" }, + "ApiKeyId": { + "type": "string" + }, "Description": { "type": "string" }, @@ -9816,6 +9731,9 @@ var CloudformationSchema = `{ }, "ResponseMappingTemplateS3Location": { "type": "string" + }, + "SyncConfig": { + "$ref": "#/definitions/AWS::AppSync::FunctionConfiguration.SyncConfig" } }, "required": [ @@ -9847,6 +9765,33 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::AppSync::FunctionConfiguration.LambdaConflictHandlerConfig": { + "additionalProperties": false, + "properties": { + "LambdaConflictHandlerArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppSync::FunctionConfiguration.SyncConfig": { + "additionalProperties": false, + "properties": { + "ConflictDetection": { + "type": "string" + }, + "ConflictHandler": { + "type": "string" + }, + "LambdaConflictHandlerConfig": { + "$ref": "#/definitions/AWS::AppSync::FunctionConfiguration.LambdaConflictHandlerConfig" + } + }, + "required": [ + "ConflictDetection" + ], + "type": "object" + }, "AWS::AppSync::GraphQLApi": { "additionalProperties": false, "properties": { @@ -11078,6 +11023,9 @@ var CloudformationSchema = `{ }, "QueryString": { "type": "string" + }, + "WorkGroup": { + "type": "string" } }, "required": [ @@ -11333,6 +11281,9 @@ var CloudformationSchema = `{ }, "type": "array" }, + "CapacityRebalance": { + "type": "boolean" + }, "Cooldown": { "type": "string" }, @@ -11502,6 +11453,9 @@ var CloudformationSchema = `{ "InstanceType": { "type": "string" }, + "LaunchTemplateSpecification": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification" + }, "WeightedCapacity": { "type": "string" } @@ -11705,6 +11659,9 @@ var CloudformationSchema = `{ "LaunchConfigurationName": { "type": "string" }, + "MetadataOptions": { + "$ref": "#/definitions/AWS::AutoScaling::LaunchConfiguration.MetadataOption" + }, "PlacementTenancy": { "type": "string" }, @@ -11796,6 +11753,21 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::AutoScaling::LaunchConfiguration.MetadataOption": { + "additionalProperties": false, + "properties": { + "HttpEndpoint": { + "type": "string" + }, + "HttpPutResponseHopLimit": { + "type": "number" + }, + "HttpTokens": { + "type": "string" + } + }, + "type": "object" + }, "AWS::AutoScaling::LifecycleHook": { "additionalProperties": false, "properties": { @@ -12867,6 +12839,9 @@ var CloudformationSchema = `{ "State": { "type": "string" }, + "Tags": { + "type": "object" + }, "Type": { "type": "string" } @@ -13031,6 +13006,9 @@ var CloudformationSchema = `{ "RetryStrategy": { "$ref": "#/definitions/AWS::Batch::JobDefinition.RetryStrategy" }, + "Tags": { + "type": "object" + }, "Timeout": { "$ref": "#/definitions/AWS::Batch::JobDefinition.Timeout" }, @@ -13437,6 +13415,9 @@ var CloudformationSchema = `{ }, "State": { "type": "string" + }, + "Tags": { + "type": "object" } }, "required": [ @@ -15535,6 +15516,9 @@ var CloudformationSchema = `{ "OriginPath": { "type": "string" }, + "OriginShield": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginShield" + }, "S3OriginConfig": { "$ref": "#/definitions/AWS::CloudFront::Distribution.S3OriginConfig" } @@ -15642,6 +15626,21 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::CloudFront::Distribution.OriginShield": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "OriginShieldRegion": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, "AWS::CloudFront::Distribution.Restrictions": { "additionalProperties": false, "properties": { @@ -27782,6 +27781,9 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "CarrierGatewayId": { + "type": "string" + }, "DestinationCidrBlock": { "type": "string" }, @@ -27797,6 +27799,9 @@ var CloudformationSchema = `{ "InstanceId": { "type": "string" }, + "LocalGatewayId": { + "type": "string" + }, "NatGatewayId": { "type": "string" }, @@ -27809,6 +27814,9 @@ var CloudformationSchema = `{ "TransitGatewayId": { "type": "string" }, + "VpcEndpointId": { + "type": "string" + }, "VpcPeeringConnectionId": { "type": "string" } @@ -28787,6 +28795,9 @@ var CloudformationSchema = `{ "MapPublicIpOnLaunch": { "type": "boolean" }, + "OutpostArn": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -33351,9 +33362,15 @@ var CloudformationSchema = `{ "KerberosAttributes": { "$ref": "#/definitions/AWS::EMR::Cluster.KerberosAttributes" }, + "LogEncryptionKmsKeyId": { + "type": "string" + }, "LogUri": { "type": "string" }, + "ManagedScalingPolicy": { + "$ref": "#/definitions/AWS::EMR::Cluster.ManagedScalingPolicy" + }, "Name": { "type": "string" }, @@ -33369,6 +33386,9 @@ var CloudformationSchema = `{ "ServiceRole": { "type": "string" }, + "StepConcurrencyLevel": { + "type": "number" + }, "Steps": { "items": { "$ref": "#/definitions/AWS::EMR::Cluster.StepConfig" @@ -33518,6 +33538,32 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::EMR::Cluster.ComputeLimits": { + "additionalProperties": false, + "properties": { + "MaximumCapacityUnits": { + "type": "number" + }, + "MaximumCoreCapacityUnits": { + "type": "number" + }, + "MaximumOnDemandCapacityUnits": { + "type": "number" + }, + "MinimumCapacityUnits": { + "type": "number" + }, + "UnitType": { + "type": "string" + } + }, + "required": [ + "MaximumCapacityUnits", + "MinimumCapacityUnits", + "UnitType" + ], + "type": "object" + }, "AWS::EMR::Cluster.Configuration": { "additionalProperties": false, "properties": { @@ -33626,13 +33672,13 @@ var CloudformationSchema = `{ "AWS::EMR::Cluster.InstanceFleetProvisioningSpecifications": { "additionalProperties": false, "properties": { + "OnDemandSpecification": { + "$ref": "#/definitions/AWS::EMR::Cluster.OnDemandProvisioningSpecification" + }, "SpotSpecification": { "$ref": "#/definitions/AWS::EMR::Cluster.SpotProvisioningSpecification" } }, - "required": [ - "SpotSpecification" - ], "type": "object" }, "AWS::EMR::Cluster.InstanceGroupConfig": { @@ -33802,6 +33848,15 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::EMR::Cluster.ManagedScalingPolicy": { + "additionalProperties": false, + "properties": { + "ComputeLimits": { + "$ref": "#/definitions/AWS::EMR::Cluster.ComputeLimits" + } + }, + "type": "object" + }, "AWS::EMR::Cluster.MetricDimension": { "additionalProperties": false, "properties": { @@ -33818,6 +33873,18 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::EMR::Cluster.OnDemandProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + } + }, + "required": [ + "AllocationStrategy" + ], + "type": "object" + }, "AWS::EMR::Cluster.PlacementType": { "additionalProperties": false, "properties": { @@ -33935,6 +34002,9 @@ var CloudformationSchema = `{ "AWS::EMR::Cluster.SpotProvisioningSpecification": { "additionalProperties": false, "properties": { + "AllocationStrategy": { + "type": "string" + }, "BlockDurationMinutes": { "type": "number" }, @@ -34130,13 +34200,13 @@ var CloudformationSchema = `{ "AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications": { "additionalProperties": false, "properties": { + "OnDemandSpecification": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification" + }, "SpotSpecification": { "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification" } }, - "required": [ - "SpotSpecification" - ], "type": "object" }, "AWS::EMR::InstanceFleetConfig.InstanceTypeConfig": { @@ -34169,9 +34239,24 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + } + }, + "required": [ + "AllocationStrategy" + ], + "type": "object" + }, "AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification": { "additionalProperties": false, "properties": { + "AllocationStrategy": { + "type": "string" + }, "BlockDurationMinutes": { "type": "number" }, @@ -34993,6 +35078,9 @@ var CloudformationSchema = `{ "EngineVersion": { "type": "string" }, + "GlobalReplicationGroupId": { + "type": "string" + }, "KmsKeyId": { "type": "string" }, @@ -36155,9 +36243,7 @@ var CloudformationSchema = `{ }, "required": [ "DefaultActions", - "LoadBalancerArn", - "Port", - "Protocol" + "LoadBalancerArn" ], "type": "object" }, @@ -37006,6 +37092,9 @@ var CloudformationSchema = `{ "AllocationId": { "type": "string" }, + "IPv6Address": { + "type": "string" + }, "PrivateIPv4Address": { "type": "string" }, @@ -37140,9 +37229,6 @@ var CloudformationSchema = `{ "type": "string" } }, - "required": [ - "HttpCode" - ], "type": "object" }, "AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription": { @@ -37371,6 +37457,15 @@ var CloudformationSchema = `{ "InstanceType": { "type": "string" }, + "WarmCount": { + "type": "number" + }, + "WarmEnabled": { + "type": "boolean" + }, + "WarmType": { + "type": "string" + }, "ZoneAwarenessConfig": { "$ref": "#/definitions/AWS::Elasticsearch::Domain.ZoneAwarenessConfig" }, @@ -38103,6 +38198,15 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::Events::Rule.DeadLetterConfig": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Events::Rule.EcsParameters": { "additionalProperties": false, "properties": { @@ -38202,6 +38306,46 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::Events::Rule.RedshiftDataParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "DbUser": { + "type": "string" + }, + "SecretManagerArn": { + "type": "string" + }, + "Sql": { + "type": "string" + }, + "StatementName": { + "type": "string" + }, + "WithEvent": { + "type": "boolean" + } + }, + "required": [ + "Database", + "Sql" + ], + "type": "object" + }, + "AWS::Events::Rule.RetryPolicy": { + "additionalProperties": false, + "properties": { + "MaximumEventAgeInSeconds": { + "type": "number" + }, + "MaximumRetryAttempts": { + "type": "number" + } + }, + "type": "object" + }, "AWS::Events::Rule.RunCommandParameters": { "additionalProperties": false, "properties": { @@ -38257,6 +38401,9 @@ var CloudformationSchema = `{ "BatchParameters": { "$ref": "#/definitions/AWS::Events::Rule.BatchParameters" }, + "DeadLetterConfig": { + "$ref": "#/definitions/AWS::Events::Rule.DeadLetterConfig" + }, "EcsParameters": { "$ref": "#/definitions/AWS::Events::Rule.EcsParameters" }, @@ -38278,6 +38425,12 @@ var CloudformationSchema = `{ "KinesisParameters": { "$ref": "#/definitions/AWS::Events::Rule.KinesisParameters" }, + "RedshiftDataParameters": { + "$ref": "#/definitions/AWS::Events::Rule.RedshiftDataParameters" + }, + "RetryPolicy": { + "$ref": "#/definitions/AWS::Events::Rule.RetryPolicy" + }, "RoleArn": { "type": "string" }, @@ -39442,6 +39595,9 @@ var CloudformationSchema = `{ "Description": { "type": "string" }, + "FlexMatchMode": { + "type": "string" + }, "GameProperties": { "items": { "$ref": "#/definitions/AWS::GameLift::MatchmakingConfiguration.GameProperty" @@ -39472,7 +39628,6 @@ var CloudformationSchema = `{ }, "required": [ "AcceptanceRequired", - "GameSessionQueueArns", "Name", "RequestTimeoutSeconds", "RuleSetName" @@ -51940,6 +52095,9 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "DeliveryStreamEncryptionConfigurationInput": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput" + }, "DeliveryStreamName": { "type": "string" }, @@ -51966,6 +52124,12 @@ var CloudformationSchema = `{ }, "SplunkDestinationConfiguration": { "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SplunkDestinationConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "type": "object" @@ -52053,6 +52217,21 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput": { + "additionalProperties": false, + "properties": { + "KeyARN": { + "type": "string" + }, + "KeyType": { + "type": "string" + } + }, + "required": [ + "KeyType" + ], + "type": "object" + }, "AWS::KinesisFirehose::DeliveryStream.Deserializer": { "additionalProperties": false, "properties": { @@ -53304,6 +53483,18 @@ var CloudformationSchema = `{ "ParallelizationFactor": { "type": "number" }, + "Queues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceAccessConfigurations": { + "items": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.SourceAccessConfiguration" + }, + "type": "array" + }, "StartingPosition": { "type": "string" }, @@ -53359,6 +53550,18 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::Lambda::EventSourceMapping.SourceAccessConfiguration": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "URI": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Lambda::Function": { "additionalProperties": false, "properties": { @@ -54007,6 +54210,9 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "KmsKeyId": { + "type": "string" + }, "LogGroupName": { "type": "string" }, @@ -58219,7 +58425,7 @@ var CloudformationSchema = `{ }, "type": "object" }, - "AWS::MediaStore::Container": { + "AWS::MediaPackage::Asset": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -58251,246 +58457,45 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AccessLoggingEnabled": { - "type": "boolean" - }, - "ContainerName": { - "type": "string" - }, - "CorsPolicy": { + "EgressEndpoints": { "items": { - "$ref": "#/definitions/AWS::MediaStore::Container.CorsRule" + "$ref": "#/definitions/AWS::MediaPackage::Asset.EgressEndpoint" }, "type": "array" }, - "LifecyclePolicy": { + "Id": { "type": "string" }, - "MetricPolicy": { - "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicy" - }, - "Policy": { + "PackagingGroupId": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ContainerName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaStore::Container" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaStore::Container.CorsRule": { - "additionalProperties": false, - "properties": { - "AllowedHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedMethods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedOrigins": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ExposeHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaxAgeSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaStore::Container.MetricPolicy": { - "additionalProperties": false, - "properties": { - "ContainerLevelMetrics": { - "type": "string" - }, - "MetricPolicyRules": { - "items": { - "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicyRule" - }, - "type": "array" - } - }, - "required": [ - "ContainerLevelMetrics" - ], - "type": "object" - }, - "AWS::MediaStore::Container.MetricPolicyRule": { - "additionalProperties": false, - "properties": { - "ObjectGroup": { - "type": "string" - }, - "ObjectGroupName": { - "type": "string" - } - }, - "required": [ - "ObjectGroup", - "ObjectGroupName" - ], - "type": "object" - }, - "AWS::Neptune::DBCluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/AWS::Neptune::DBCluster.DBClusterRole" - }, - "type": "array" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BackupRetentionPeriod": { - "type": "number" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBClusterParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EngineVersion": { - "type": "string" - }, - "IamAuthEnabled": { - "type": "boolean" - }, - "KmsKeyId": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "RestoreToTime": { - "type": "string" - }, - "RestoreType": { + "ResourceId": { "type": "string" }, - "SnapshotIdentifier": { + "SourceArn": { "type": "string" }, - "SourceDBClusterIdentifier": { + "SourceRoleArn": { "type": "string" }, - "StorageEncrypted": { - "type": "boolean" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" } }, + "required": [ + "Id", + "PackagingGroupId", + "SourceArn", + "SourceRoleArn" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Neptune::DBCluster" + "AWS::MediaPackage::Asset" ], "type": "string" }, @@ -58504,26 +58509,1264 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Neptune::DBCluster.DBClusterRole": { + "AWS::MediaPackage::Asset.EgressEndpoint": { "additionalProperties": false, "properties": { - "FeatureName": { + "PackagingConfigurationId": { "type": "string" }, - "RoleArn": { + "Url": { "type": "string" } }, "required": [ - "RoleArn" + "PackagingConfigurationId", + "Url" ], "type": "object" }, - "AWS::Neptune::DBClusterParameterGroup": { + "AWS::MediaPackage::Channel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::Channel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::Channel.HlsIngest": { + "additionalProperties": false, + "properties": { + "ingestEndpoints": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::Channel.IngestEndpoint" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaPackage::Channel.IngestEndpoint": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Password": { + "type": "string" + }, + "Url": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Authorization": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.Authorization" + }, + "ChannelId": { + "type": "string" + }, + "CmafPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafPackage" + }, + "DashPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashPackage" + }, + "Description": { + "type": "string" + }, + "HlsPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsPackage" + }, + "Id": { + "type": "string" + }, + "ManifestName": { + "type": "string" + }, + "MssPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssPackage" + }, + "Origination": { + "type": "string" + }, + "StartoverWindowSeconds": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TimeDelaySeconds": { + "type": "number" + }, + "Whitelist": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ChannelId", + "Id" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::OriginEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.AdTriggers": { + "additionalProperties": false, + "properties": { + "AdTriggers": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.Authorization": { + "additionalProperties": false, + "properties": { + "CdnIdentifierSecret": { + "type": "string" + }, + "SecretsRoleArn": { + "type": "string" + } + }, + "required": [ + "CdnIdentifierSecret", + "SecretsRoleArn" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.CmafEncryption": { + "additionalProperties": false, + "properties": { + "KeyRotationIntervalSeconds": { + "type": "number" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.CmafPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "SegmentPrefix": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.DashEncryption": { + "additionalProperties": false, + "properties": { + "KeyRotationIntervalSeconds": { + "type": "number" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.DashPackage": { + "additionalProperties": false, + "properties": { + "AdTriggers": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.AdTriggers" + }, + "AdsOnDeliveryRestrictions": { + "type": "string" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashEncryption" + }, + "ManifestLayout": { + "type": "string" + }, + "ManifestWindowSeconds": { + "type": "number" + }, + "MinBufferTimeSeconds": { + "type": "number" + }, + "MinUpdatePeriodSeconds": { + "type": "number" + }, + "PeriodTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Profile": { + "type": "string" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "SegmentTemplateFormat": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + }, + "SuggestedPresentationDelaySeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.HlsEncryption": { + "additionalProperties": false, + "properties": { + "ConstantInitializationVector": { + "type": "string" + }, + "EncryptionMethod": { + "type": "string" + }, + "KeyRotationIntervalSeconds": { + "type": "number" + }, + "RepeatExtXKey": { + "type": "boolean" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.HlsManifest": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "type": "string" + }, + "AdTriggers": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.AdTriggers" + }, + "AdsOnDeliveryRestrictions": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "ManifestName": { + "type": "string" + }, + "PlaylistType": { + "type": "string" + }, + "PlaylistWindowSeconds": { + "type": "number" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "number" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.HlsPackage": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "type": "string" + }, + "AdTriggers": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.AdTriggers" + }, + "AdsOnDeliveryRestrictions": { + "type": "string" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsEncryption" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "PlaylistType": { + "type": "string" + }, + "PlaylistWindowSeconds": { + "type": "number" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "number" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + }, + "UseAudioRenditionGroup": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.MssEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.MssPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssEncryption" + }, + "ManifestWindowSeconds": { + "type": "number" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SystemIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "ResourceId", + "RoleArn", + "SystemIds", + "Url" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.StreamSelection": { + "additionalProperties": false, + "properties": { + "MaxVideoBitsPerSecond": { + "type": "number" + }, + "MinVideoBitsPerSecond": { + "type": "number" + }, + "StreamOrder": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CmafPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafPackage" + }, + "DashPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashPackage" + }, + "HlsPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsPackage" + }, + "Id": { + "type": "string" + }, + "MssPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssPackage" + }, + "PackagingGroupId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id", + "PackagingGroupId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::PackagingConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.CmafEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration." + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.CmafPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + } + }, + "required": [ + "HlsManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.DashEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration." + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.DashManifest": { + "additionalProperties": false, + "properties": { + "ManifestLayout": { + "type": "string" + }, + "ManifestName": { + "type": "string" + }, + "MinBufferTimeSeconds": { + "type": "number" + }, + "Profile": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.DashPackage": { + "additionalProperties": false, + "properties": { + "DashManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashManifest" + }, + "type": "array" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashEncryption" + }, + "PeriodTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "SegmentTemplateFormat": { + "type": "string" + } + }, + "required": [ + "DashManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.HlsEncryption": { + "additionalProperties": false, + "properties": { + "ConstantInitializationVector": { + "type": "string" + }, + "EncryptionMethod": { + "type": "string" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration." + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.HlsManifest": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "type": "string" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "ManifestName": { + "type": "string" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "number" + }, + "RepeatExtXKey": { + "type": "boolean" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.HlsPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "UseAudioRenditionGroup": { + "type": "boolean" + } + }, + "required": [ + "HlsManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.MssEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration." + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.MssManifest": { + "additionalProperties": false, + "properties": { + "ManifestName": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.MssPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssEncryption" + }, + "MssManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + } + }, + "required": [ + "MssManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "SystemIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "SystemIds", + "Url" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.StreamSelection": { + "additionalProperties": false, + "properties": { + "MaxVideoBitsPerSecond": { + "type": "number" + }, + "MinVideoBitsPerSecond": { + "type": "number" + }, + "StreamOrder": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Authorization": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup.Authorization" + }, + "Id": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::PackagingGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingGroup.Authorization": { + "additionalProperties": false, + "properties": { + "CdnIdentifierSecret": { + "type": "string" + }, + "SecretsRoleArn": { + "type": "string" + } + }, + "required": [ + "CdnIdentifierSecret", + "SecretsRoleArn" + ], + "type": "object" + }, + "AWS::MediaStore::Container": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessLoggingEnabled": { + "type": "boolean" + }, + "ContainerName": { + "type": "string" + }, + "CorsPolicy": { + "items": { + "$ref": "#/definitions/AWS::MediaStore::Container.CorsRule" + }, + "type": "array" + }, + "LifecyclePolicy": { + "type": "string" + }, + "MetricPolicy": { + "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicy" + }, + "Policy": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ContainerName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaStore::Container" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaStore::Container.CorsRule": { + "additionalProperties": false, + "properties": { + "AllowedHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedOrigins": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExposeHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxAgeSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaStore::Container.MetricPolicy": { + "additionalProperties": false, + "properties": { + "ContainerLevelMetrics": { + "type": "string" + }, + "MetricPolicyRules": { + "items": { + "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicyRule" + }, + "type": "array" + } + }, + "required": [ + "ContainerLevelMetrics" + ], + "type": "object" + }, + "AWS::MediaStore::Container.MetricPolicyRule": { + "additionalProperties": false, + "properties": { + "ObjectGroup": { + "type": "string" + }, + "ObjectGroupName": { + "type": "string" + } + }, + "required": [ + "ObjectGroup", + "ObjectGroupName" + ], + "type": "object" + }, + "AWS::Neptune::DBCluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/AWS::Neptune::DBCluster.DBClusterRole" + }, + "type": "array" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BackupRetentionPeriod": { + "type": "number" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBClusterParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EngineVersion": { + "type": "string" + }, + "IamAuthEnabled": { + "type": "boolean" + }, + "KmsKeyId": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "RestoreToTime": { + "type": "string" + }, + "RestoreType": { + "type": "string" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Neptune::DBCluster.DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "AWS::Neptune::DBClusterParameterGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -63522,6 +64765,9 @@ var CloudformationSchema = `{ "EngineVersion": { "type": "string" }, + "GlobalClusterIdentifier": { + "type": "string" + }, "KmsKeyId": { "type": "string" }, @@ -67351,7 +68597,6 @@ var CloudformationSchema = `{ } }, "required": [ - "EventThreshold", "Status" ], "type": "object" @@ -67523,6 +68768,18 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::S3::Bucket.ReplicaModifications": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, "AWS::S3::Bucket.ReplicationConfiguration": { "additionalProperties": false, "properties": { @@ -67787,13 +69044,13 @@ var CloudformationSchema = `{ "AWS::S3::Bucket.SourceSelectionCriteria": { "additionalProperties": false, "properties": { + "ReplicaModifications": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicaModifications" + }, "SseKmsEncryptedObjects": { "$ref": "#/definitions/AWS::S3::Bucket.SseKmsEncryptedObjects" } }, - "required": [ - "SseKmsEncryptedObjects" - ], "type": "object" }, "AWS::S3::Bucket.SseKmsEncryptedObjects": { @@ -68755,6 +70012,9 @@ var CloudformationSchema = `{ "Region": { "type": "string" }, + "SubscriptionRoleArn": { + "type": "string" + }, "TopicArn": { "type": "string" } @@ -68824,6 +70084,9 @@ var CloudformationSchema = `{ "DisplayName": { "type": "string" }, + "FifoTopic": { + "type": "boolean" + }, "KmsMasterKeyId": { "type": "string" }, @@ -70862,6 +72125,9 @@ var CloudformationSchema = `{ "Image": { "type": "string" }, + "ImageConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.ImageConfig" + }, "Mode": { "type": "string" }, @@ -70874,6 +72140,18 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::SageMaker::Model.ImageConfig": { + "additionalProperties": false, + "properties": { + "RepositoryAccessMode": { + "type": "string" + } + }, + "required": [ + "RepositoryAccessMode" + ], + "type": "object" + }, "AWS::SageMaker::Model.VpcConfig": { "additionalProperties": false, "properties": { @@ -74344,6 +75622,12 @@ var CloudformationSchema = `{ }, "type": "array" }, + "SecurityGroupIds": { + "items": { + "$ref": "#/definitions/AWS::Transfer::Server.SecurityGroupId" + }, + "type": "array" + }, "SubnetIds": { "items": { "type": "string" @@ -74380,6 +75664,11 @@ var CloudformationSchema = `{ "properties": {}, "type": "object" }, + "AWS::Transfer::Server.SecurityGroupId": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::Transfer::User": { "additionalProperties": false, "properties": { @@ -79464,6 +80753,21 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::MediaLive::InputSecurityGroup" }, + { + "$ref": "#/definitions/AWS::MediaPackage::Asset" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::Channel" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup" + }, { "$ref": "#/definitions/AWS::MediaStore::Container" }, diff --git a/schema/cloudformation.schema.json b/schema/cloudformation.schema.json index 89e1764335..10ca4b9618 100644 --- a/schema/cloudformation.schema.json +++ b/schema/cloudformation.schema.json @@ -513,9 +513,6 @@ "HostInstanceType": { "type": "string" }, - "LdapMetadata": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.LdapMetadata" - }, "LdapServerMetadata": { "$ref": "#/definitions/AWS::AmazonMQ::Broker.LdapServerMetadata" }, @@ -620,40 +617,6 @@ ], "type": "object" }, - "AWS::AmazonMQ::Broker.InterBrokerCred": { - "additionalProperties": false, - "properties": { - "Password": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "Password", - "Username" - ], - "type": "object" - }, - "AWS::AmazonMQ::Broker.LdapMetadata": { - "additionalProperties": false, - "properties": { - "InterBrokerCreds": { - "items": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.InterBrokerCred" - }, - "type": "array" - }, - "ServerMetadata": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.ServerMetadata" - } - }, - "required": [ - "ServerMetadata" - ], - "type": "object" - }, "AWS::AmazonMQ::Broker.LdapServerMetadata": { "additionalProperties": false, "properties": { @@ -737,57 +700,6 @@ ], "type": "object" }, - "AWS::AmazonMQ::Broker.ServerMetadata": { - "additionalProperties": false, - "properties": { - "Hosts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RoleBase": { - "type": "string" - }, - "RoleName": { - "type": "string" - }, - "RoleSearchMatching": { - "type": "string" - }, - "RoleSearchSubtree": { - "type": "boolean" - }, - "ServiceAccountPassword": { - "type": "string" - }, - "ServiceAccountUsername": { - "type": "string" - }, - "UserBase": { - "type": "string" - }, - "UserRoleName": { - "type": "string" - }, - "UserSearchMatching": { - "type": "string" - }, - "UserSearchSubtree": { - "type": "boolean" - } - }, - "required": [ - "Hosts", - "RoleBase", - "RoleSearchMatching", - "ServiceAccountPassword", - "ServiceAccountUsername", - "UserBase", - "UserSearchMatching" - ], - "type": "object" - }, "AWS::AmazonMQ::Broker.TagsEntry": { "additionalProperties": false, "properties": { @@ -9475,6 +9387,9 @@ "ApiId": { "type": "string" }, + "ApiKeyId": { + "type": "string" + }, "Description": { "type": "string" }, @@ -9813,6 +9728,9 @@ }, "ResponseMappingTemplateS3Location": { "type": "string" + }, + "SyncConfig": { + "$ref": "#/definitions/AWS::AppSync::FunctionConfiguration.SyncConfig" } }, "required": [ @@ -9844,6 +9762,33 @@ ], "type": "object" }, + "AWS::AppSync::FunctionConfiguration.LambdaConflictHandlerConfig": { + "additionalProperties": false, + "properties": { + "LambdaConflictHandlerArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppSync::FunctionConfiguration.SyncConfig": { + "additionalProperties": false, + "properties": { + "ConflictDetection": { + "type": "string" + }, + "ConflictHandler": { + "type": "string" + }, + "LambdaConflictHandlerConfig": { + "$ref": "#/definitions/AWS::AppSync::FunctionConfiguration.LambdaConflictHandlerConfig" + } + }, + "required": [ + "ConflictDetection" + ], + "type": "object" + }, "AWS::AppSync::GraphQLApi": { "additionalProperties": false, "properties": { @@ -11075,6 +11020,9 @@ }, "QueryString": { "type": "string" + }, + "WorkGroup": { + "type": "string" } }, "required": [ @@ -11330,6 +11278,9 @@ }, "type": "array" }, + "CapacityRebalance": { + "type": "boolean" + }, "Cooldown": { "type": "string" }, @@ -11499,6 +11450,9 @@ "InstanceType": { "type": "string" }, + "LaunchTemplateSpecification": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification" + }, "WeightedCapacity": { "type": "string" } @@ -11702,6 +11656,9 @@ "LaunchConfigurationName": { "type": "string" }, + "MetadataOptions": { + "$ref": "#/definitions/AWS::AutoScaling::LaunchConfiguration.MetadataOption" + }, "PlacementTenancy": { "type": "string" }, @@ -11793,6 +11750,21 @@ ], "type": "object" }, + "AWS::AutoScaling::LaunchConfiguration.MetadataOption": { + "additionalProperties": false, + "properties": { + "HttpEndpoint": { + "type": "string" + }, + "HttpPutResponseHopLimit": { + "type": "number" + }, + "HttpTokens": { + "type": "string" + } + }, + "type": "object" + }, "AWS::AutoScaling::LifecycleHook": { "additionalProperties": false, "properties": { @@ -12864,6 +12836,9 @@ "State": { "type": "string" }, + "Tags": { + "type": "object" + }, "Type": { "type": "string" } @@ -13028,6 +13003,9 @@ "RetryStrategy": { "$ref": "#/definitions/AWS::Batch::JobDefinition.RetryStrategy" }, + "Tags": { + "type": "object" + }, "Timeout": { "$ref": "#/definitions/AWS::Batch::JobDefinition.Timeout" }, @@ -13434,6 +13412,9 @@ }, "State": { "type": "string" + }, + "Tags": { + "type": "object" } }, "required": [ @@ -15532,6 +15513,9 @@ "OriginPath": { "type": "string" }, + "OriginShield": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginShield" + }, "S3OriginConfig": { "$ref": "#/definitions/AWS::CloudFront::Distribution.S3OriginConfig" } @@ -15639,6 +15623,21 @@ ], "type": "object" }, + "AWS::CloudFront::Distribution.OriginShield": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "OriginShieldRegion": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, "AWS::CloudFront::Distribution.Restrictions": { "additionalProperties": false, "properties": { @@ -27779,6 +27778,9 @@ "Properties": { "additionalProperties": false, "properties": { + "CarrierGatewayId": { + "type": "string" + }, "DestinationCidrBlock": { "type": "string" }, @@ -27794,6 +27796,9 @@ "InstanceId": { "type": "string" }, + "LocalGatewayId": { + "type": "string" + }, "NatGatewayId": { "type": "string" }, @@ -27806,6 +27811,9 @@ "TransitGatewayId": { "type": "string" }, + "VpcEndpointId": { + "type": "string" + }, "VpcPeeringConnectionId": { "type": "string" } @@ -28784,6 +28792,9 @@ "MapPublicIpOnLaunch": { "type": "boolean" }, + "OutpostArn": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -33348,9 +33359,15 @@ "KerberosAttributes": { "$ref": "#/definitions/AWS::EMR::Cluster.KerberosAttributes" }, + "LogEncryptionKmsKeyId": { + "type": "string" + }, "LogUri": { "type": "string" }, + "ManagedScalingPolicy": { + "$ref": "#/definitions/AWS::EMR::Cluster.ManagedScalingPolicy" + }, "Name": { "type": "string" }, @@ -33366,6 +33383,9 @@ "ServiceRole": { "type": "string" }, + "StepConcurrencyLevel": { + "type": "number" + }, "Steps": { "items": { "$ref": "#/definitions/AWS::EMR::Cluster.StepConfig" @@ -33515,6 +33535,32 @@ ], "type": "object" }, + "AWS::EMR::Cluster.ComputeLimits": { + "additionalProperties": false, + "properties": { + "MaximumCapacityUnits": { + "type": "number" + }, + "MaximumCoreCapacityUnits": { + "type": "number" + }, + "MaximumOnDemandCapacityUnits": { + "type": "number" + }, + "MinimumCapacityUnits": { + "type": "number" + }, + "UnitType": { + "type": "string" + } + }, + "required": [ + "MaximumCapacityUnits", + "MinimumCapacityUnits", + "UnitType" + ], + "type": "object" + }, "AWS::EMR::Cluster.Configuration": { "additionalProperties": false, "properties": { @@ -33623,13 +33669,13 @@ "AWS::EMR::Cluster.InstanceFleetProvisioningSpecifications": { "additionalProperties": false, "properties": { + "OnDemandSpecification": { + "$ref": "#/definitions/AWS::EMR::Cluster.OnDemandProvisioningSpecification" + }, "SpotSpecification": { "$ref": "#/definitions/AWS::EMR::Cluster.SpotProvisioningSpecification" } }, - "required": [ - "SpotSpecification" - ], "type": "object" }, "AWS::EMR::Cluster.InstanceGroupConfig": { @@ -33799,6 +33845,15 @@ }, "type": "object" }, + "AWS::EMR::Cluster.ManagedScalingPolicy": { + "additionalProperties": false, + "properties": { + "ComputeLimits": { + "$ref": "#/definitions/AWS::EMR::Cluster.ComputeLimits" + } + }, + "type": "object" + }, "AWS::EMR::Cluster.MetricDimension": { "additionalProperties": false, "properties": { @@ -33815,6 +33870,18 @@ ], "type": "object" }, + "AWS::EMR::Cluster.OnDemandProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + } + }, + "required": [ + "AllocationStrategy" + ], + "type": "object" + }, "AWS::EMR::Cluster.PlacementType": { "additionalProperties": false, "properties": { @@ -33932,6 +33999,9 @@ "AWS::EMR::Cluster.SpotProvisioningSpecification": { "additionalProperties": false, "properties": { + "AllocationStrategy": { + "type": "string" + }, "BlockDurationMinutes": { "type": "number" }, @@ -34127,13 +34197,13 @@ "AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications": { "additionalProperties": false, "properties": { + "OnDemandSpecification": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification" + }, "SpotSpecification": { "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification" } }, - "required": [ - "SpotSpecification" - ], "type": "object" }, "AWS::EMR::InstanceFleetConfig.InstanceTypeConfig": { @@ -34166,9 +34236,24 @@ ], "type": "object" }, + "AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + } + }, + "required": [ + "AllocationStrategy" + ], + "type": "object" + }, "AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification": { "additionalProperties": false, "properties": { + "AllocationStrategy": { + "type": "string" + }, "BlockDurationMinutes": { "type": "number" }, @@ -34990,6 +35075,9 @@ "EngineVersion": { "type": "string" }, + "GlobalReplicationGroupId": { + "type": "string" + }, "KmsKeyId": { "type": "string" }, @@ -36152,9 +36240,7 @@ }, "required": [ "DefaultActions", - "LoadBalancerArn", - "Port", - "Protocol" + "LoadBalancerArn" ], "type": "object" }, @@ -37003,6 +37089,9 @@ "AllocationId": { "type": "string" }, + "IPv6Address": { + "type": "string" + }, "PrivateIPv4Address": { "type": "string" }, @@ -37137,9 +37226,6 @@ "type": "string" } }, - "required": [ - "HttpCode" - ], "type": "object" }, "AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription": { @@ -37368,6 +37454,15 @@ "InstanceType": { "type": "string" }, + "WarmCount": { + "type": "number" + }, + "WarmEnabled": { + "type": "boolean" + }, + "WarmType": { + "type": "string" + }, "ZoneAwarenessConfig": { "$ref": "#/definitions/AWS::Elasticsearch::Domain.ZoneAwarenessConfig" }, @@ -38100,6 +38195,15 @@ }, "type": "object" }, + "AWS::Events::Rule.DeadLetterConfig": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Events::Rule.EcsParameters": { "additionalProperties": false, "properties": { @@ -38199,6 +38303,46 @@ }, "type": "object" }, + "AWS::Events::Rule.RedshiftDataParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "DbUser": { + "type": "string" + }, + "SecretManagerArn": { + "type": "string" + }, + "Sql": { + "type": "string" + }, + "StatementName": { + "type": "string" + }, + "WithEvent": { + "type": "boolean" + } + }, + "required": [ + "Database", + "Sql" + ], + "type": "object" + }, + "AWS::Events::Rule.RetryPolicy": { + "additionalProperties": false, + "properties": { + "MaximumEventAgeInSeconds": { + "type": "number" + }, + "MaximumRetryAttempts": { + "type": "number" + } + }, + "type": "object" + }, "AWS::Events::Rule.RunCommandParameters": { "additionalProperties": false, "properties": { @@ -38254,6 +38398,9 @@ "BatchParameters": { "$ref": "#/definitions/AWS::Events::Rule.BatchParameters" }, + "DeadLetterConfig": { + "$ref": "#/definitions/AWS::Events::Rule.DeadLetterConfig" + }, "EcsParameters": { "$ref": "#/definitions/AWS::Events::Rule.EcsParameters" }, @@ -38275,6 +38422,12 @@ "KinesisParameters": { "$ref": "#/definitions/AWS::Events::Rule.KinesisParameters" }, + "RedshiftDataParameters": { + "$ref": "#/definitions/AWS::Events::Rule.RedshiftDataParameters" + }, + "RetryPolicy": { + "$ref": "#/definitions/AWS::Events::Rule.RetryPolicy" + }, "RoleArn": { "type": "string" }, @@ -39439,6 +39592,9 @@ "Description": { "type": "string" }, + "FlexMatchMode": { + "type": "string" + }, "GameProperties": { "items": { "$ref": "#/definitions/AWS::GameLift::MatchmakingConfiguration.GameProperty" @@ -39469,7 +39625,6 @@ }, "required": [ "AcceptanceRequired", - "GameSessionQueueArns", "Name", "RequestTimeoutSeconds", "RuleSetName" @@ -51937,6 +52092,9 @@ "Properties": { "additionalProperties": false, "properties": { + "DeliveryStreamEncryptionConfigurationInput": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput" + }, "DeliveryStreamName": { "type": "string" }, @@ -51963,6 +52121,12 @@ }, "SplunkDestinationConfiguration": { "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SplunkDestinationConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "type": "object" @@ -52050,6 +52214,21 @@ }, "type": "object" }, + "AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput": { + "additionalProperties": false, + "properties": { + "KeyARN": { + "type": "string" + }, + "KeyType": { + "type": "string" + } + }, + "required": [ + "KeyType" + ], + "type": "object" + }, "AWS::KinesisFirehose::DeliveryStream.Deserializer": { "additionalProperties": false, "properties": { @@ -53301,6 +53480,18 @@ "ParallelizationFactor": { "type": "number" }, + "Queues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceAccessConfigurations": { + "items": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.SourceAccessConfiguration" + }, + "type": "array" + }, "StartingPosition": { "type": "string" }, @@ -53356,6 +53547,18 @@ }, "type": "object" }, + "AWS::Lambda::EventSourceMapping.SourceAccessConfiguration": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "URI": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Lambda::Function": { "additionalProperties": false, "properties": { @@ -54004,6 +54207,9 @@ "Properties": { "additionalProperties": false, "properties": { + "KmsKeyId": { + "type": "string" + }, "LogGroupName": { "type": "string" }, @@ -58216,7 +58422,7 @@ }, "type": "object" }, - "AWS::MediaStore::Container": { + "AWS::MediaPackage::Asset": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -58248,246 +58454,45 @@ "Properties": { "additionalProperties": false, "properties": { - "AccessLoggingEnabled": { - "type": "boolean" - }, - "ContainerName": { - "type": "string" - }, - "CorsPolicy": { + "EgressEndpoints": { "items": { - "$ref": "#/definitions/AWS::MediaStore::Container.CorsRule" + "$ref": "#/definitions/AWS::MediaPackage::Asset.EgressEndpoint" }, "type": "array" }, - "LifecyclePolicy": { + "Id": { "type": "string" }, - "MetricPolicy": { - "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicy" - }, - "Policy": { + "PackagingGroupId": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ContainerName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaStore::Container" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaStore::Container.CorsRule": { - "additionalProperties": false, - "properties": { - "AllowedHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedMethods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedOrigins": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ExposeHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaxAgeSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaStore::Container.MetricPolicy": { - "additionalProperties": false, - "properties": { - "ContainerLevelMetrics": { - "type": "string" - }, - "MetricPolicyRules": { - "items": { - "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicyRule" - }, - "type": "array" - } - }, - "required": [ - "ContainerLevelMetrics" - ], - "type": "object" - }, - "AWS::MediaStore::Container.MetricPolicyRule": { - "additionalProperties": false, - "properties": { - "ObjectGroup": { - "type": "string" - }, - "ObjectGroupName": { - "type": "string" - } - }, - "required": [ - "ObjectGroup", - "ObjectGroupName" - ], - "type": "object" - }, - "AWS::Neptune::DBCluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/AWS::Neptune::DBCluster.DBClusterRole" - }, - "type": "array" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BackupRetentionPeriod": { - "type": "number" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBClusterParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EngineVersion": { - "type": "string" - }, - "IamAuthEnabled": { - "type": "boolean" - }, - "KmsKeyId": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "RestoreToTime": { - "type": "string" - }, - "RestoreType": { + "ResourceId": { "type": "string" }, - "SnapshotIdentifier": { + "SourceArn": { "type": "string" }, - "SourceDBClusterIdentifier": { + "SourceRoleArn": { "type": "string" }, - "StorageEncrypted": { - "type": "boolean" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" } }, + "required": [ + "Id", + "PackagingGroupId", + "SourceArn", + "SourceRoleArn" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Neptune::DBCluster" + "AWS::MediaPackage::Asset" ], "type": "string" }, @@ -58501,26 +58506,1264 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Neptune::DBCluster.DBClusterRole": { + "AWS::MediaPackage::Asset.EgressEndpoint": { "additionalProperties": false, "properties": { - "FeatureName": { + "PackagingConfigurationId": { "type": "string" }, - "RoleArn": { + "Url": { "type": "string" } }, "required": [ - "RoleArn" + "PackagingConfigurationId", + "Url" ], "type": "object" }, - "AWS::Neptune::DBClusterParameterGroup": { + "AWS::MediaPackage::Channel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::Channel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::Channel.HlsIngest": { + "additionalProperties": false, + "properties": { + "ingestEndpoints": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::Channel.IngestEndpoint" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaPackage::Channel.IngestEndpoint": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Password": { + "type": "string" + }, + "Url": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Authorization": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.Authorization" + }, + "ChannelId": { + "type": "string" + }, + "CmafPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafPackage" + }, + "DashPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashPackage" + }, + "Description": { + "type": "string" + }, + "HlsPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsPackage" + }, + "Id": { + "type": "string" + }, + "ManifestName": { + "type": "string" + }, + "MssPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssPackage" + }, + "Origination": { + "type": "string" + }, + "StartoverWindowSeconds": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TimeDelaySeconds": { + "type": "number" + }, + "Whitelist": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ChannelId", + "Id" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::OriginEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.AdTriggers": { + "additionalProperties": false, + "properties": { + "AdTriggers": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.Authorization": { + "additionalProperties": false, + "properties": { + "CdnIdentifierSecret": { + "type": "string" + }, + "SecretsRoleArn": { + "type": "string" + } + }, + "required": [ + "CdnIdentifierSecret", + "SecretsRoleArn" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.CmafEncryption": { + "additionalProperties": false, + "properties": { + "KeyRotationIntervalSeconds": { + "type": "number" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.CmafPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "SegmentPrefix": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.DashEncryption": { + "additionalProperties": false, + "properties": { + "KeyRotationIntervalSeconds": { + "type": "number" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.DashPackage": { + "additionalProperties": false, + "properties": { + "AdTriggers": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.AdTriggers" + }, + "AdsOnDeliveryRestrictions": { + "type": "string" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashEncryption" + }, + "ManifestLayout": { + "type": "string" + }, + "ManifestWindowSeconds": { + "type": "number" + }, + "MinBufferTimeSeconds": { + "type": "number" + }, + "MinUpdatePeriodSeconds": { + "type": "number" + }, + "PeriodTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Profile": { + "type": "string" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "SegmentTemplateFormat": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + }, + "SuggestedPresentationDelaySeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.HlsEncryption": { + "additionalProperties": false, + "properties": { + "ConstantInitializationVector": { + "type": "string" + }, + "EncryptionMethod": { + "type": "string" + }, + "KeyRotationIntervalSeconds": { + "type": "number" + }, + "RepeatExtXKey": { + "type": "boolean" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.HlsManifest": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "type": "string" + }, + "AdTriggers": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.AdTriggers" + }, + "AdsOnDeliveryRestrictions": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "ManifestName": { + "type": "string" + }, + "PlaylistType": { + "type": "string" + }, + "PlaylistWindowSeconds": { + "type": "number" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "number" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.HlsPackage": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "type": "string" + }, + "AdTriggers": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.AdTriggers" + }, + "AdsOnDeliveryRestrictions": { + "type": "string" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsEncryption" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "PlaylistType": { + "type": "string" + }, + "PlaylistWindowSeconds": { + "type": "number" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "number" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + }, + "UseAudioRenditionGroup": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.MssEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.MssPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssEncryption" + }, + "ManifestWindowSeconds": { + "type": "number" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SystemIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "ResourceId", + "RoleArn", + "SystemIds", + "Url" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.StreamSelection": { + "additionalProperties": false, + "properties": { + "MaxVideoBitsPerSecond": { + "type": "number" + }, + "MinVideoBitsPerSecond": { + "type": "number" + }, + "StreamOrder": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CmafPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafPackage" + }, + "DashPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashPackage" + }, + "HlsPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsPackage" + }, + "Id": { + "type": "string" + }, + "MssPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssPackage" + }, + "PackagingGroupId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id", + "PackagingGroupId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::PackagingConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.CmafEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration." + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.CmafPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + } + }, + "required": [ + "HlsManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.DashEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration." + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.DashManifest": { + "additionalProperties": false, + "properties": { + "ManifestLayout": { + "type": "string" + }, + "ManifestName": { + "type": "string" + }, + "MinBufferTimeSeconds": { + "type": "number" + }, + "Profile": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.DashPackage": { + "additionalProperties": false, + "properties": { + "DashManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashManifest" + }, + "type": "array" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashEncryption" + }, + "PeriodTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "SegmentTemplateFormat": { + "type": "string" + } + }, + "required": [ + "DashManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.HlsEncryption": { + "additionalProperties": false, + "properties": { + "ConstantInitializationVector": { + "type": "string" + }, + "EncryptionMethod": { + "type": "string" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration." + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.HlsManifest": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "type": "string" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "ManifestName": { + "type": "string" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "number" + }, + "RepeatExtXKey": { + "type": "boolean" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.HlsPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "UseAudioRenditionGroup": { + "type": "boolean" + } + }, + "required": [ + "HlsManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.MssEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration." + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.MssManifest": { + "additionalProperties": false, + "properties": { + "ManifestName": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.MssPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssEncryption" + }, + "MssManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + } + }, + "required": [ + "MssManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "SystemIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "SystemIds", + "Url" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.StreamSelection": { + "additionalProperties": false, + "properties": { + "MaxVideoBitsPerSecond": { + "type": "number" + }, + "MinVideoBitsPerSecond": { + "type": "number" + }, + "StreamOrder": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Authorization": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup.Authorization" + }, + "Id": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::PackagingGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingGroup.Authorization": { + "additionalProperties": false, + "properties": { + "CdnIdentifierSecret": { + "type": "string" + }, + "SecretsRoleArn": { + "type": "string" + } + }, + "required": [ + "CdnIdentifierSecret", + "SecretsRoleArn" + ], + "type": "object" + }, + "AWS::MediaStore::Container": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessLoggingEnabled": { + "type": "boolean" + }, + "ContainerName": { + "type": "string" + }, + "CorsPolicy": { + "items": { + "$ref": "#/definitions/AWS::MediaStore::Container.CorsRule" + }, + "type": "array" + }, + "LifecyclePolicy": { + "type": "string" + }, + "MetricPolicy": { + "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicy" + }, + "Policy": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ContainerName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaStore::Container" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaStore::Container.CorsRule": { + "additionalProperties": false, + "properties": { + "AllowedHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedOrigins": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExposeHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxAgeSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaStore::Container.MetricPolicy": { + "additionalProperties": false, + "properties": { + "ContainerLevelMetrics": { + "type": "string" + }, + "MetricPolicyRules": { + "items": { + "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicyRule" + }, + "type": "array" + } + }, + "required": [ + "ContainerLevelMetrics" + ], + "type": "object" + }, + "AWS::MediaStore::Container.MetricPolicyRule": { + "additionalProperties": false, + "properties": { + "ObjectGroup": { + "type": "string" + }, + "ObjectGroupName": { + "type": "string" + } + }, + "required": [ + "ObjectGroup", + "ObjectGroupName" + ], + "type": "object" + }, + "AWS::Neptune::DBCluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/AWS::Neptune::DBCluster.DBClusterRole" + }, + "type": "array" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BackupRetentionPeriod": { + "type": "number" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBClusterParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EngineVersion": { + "type": "string" + }, + "IamAuthEnabled": { + "type": "boolean" + }, + "KmsKeyId": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "RestoreToTime": { + "type": "string" + }, + "RestoreType": { + "type": "string" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Neptune::DBCluster.DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "AWS::Neptune::DBClusterParameterGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -63519,6 +64762,9 @@ "EngineVersion": { "type": "string" }, + "GlobalClusterIdentifier": { + "type": "string" + }, "KmsKeyId": { "type": "string" }, @@ -67348,7 +68594,6 @@ } }, "required": [ - "EventThreshold", "Status" ], "type": "object" @@ -67520,6 +68765,18 @@ }, "type": "object" }, + "AWS::S3::Bucket.ReplicaModifications": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, "AWS::S3::Bucket.ReplicationConfiguration": { "additionalProperties": false, "properties": { @@ -67784,13 +69041,13 @@ "AWS::S3::Bucket.SourceSelectionCriteria": { "additionalProperties": false, "properties": { + "ReplicaModifications": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicaModifications" + }, "SseKmsEncryptedObjects": { "$ref": "#/definitions/AWS::S3::Bucket.SseKmsEncryptedObjects" } }, - "required": [ - "SseKmsEncryptedObjects" - ], "type": "object" }, "AWS::S3::Bucket.SseKmsEncryptedObjects": { @@ -68752,6 +70009,9 @@ "Region": { "type": "string" }, + "SubscriptionRoleArn": { + "type": "string" + }, "TopicArn": { "type": "string" } @@ -68821,6 +70081,9 @@ "DisplayName": { "type": "string" }, + "FifoTopic": { + "type": "boolean" + }, "KmsMasterKeyId": { "type": "string" }, @@ -70859,6 +72122,9 @@ "Image": { "type": "string" }, + "ImageConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.ImageConfig" + }, "Mode": { "type": "string" }, @@ -70871,6 +72137,18 @@ }, "type": "object" }, + "AWS::SageMaker::Model.ImageConfig": { + "additionalProperties": false, + "properties": { + "RepositoryAccessMode": { + "type": "string" + } + }, + "required": [ + "RepositoryAccessMode" + ], + "type": "object" + }, "AWS::SageMaker::Model.VpcConfig": { "additionalProperties": false, "properties": { @@ -74341,6 +75619,12 @@ }, "type": "array" }, + "SecurityGroupIds": { + "items": { + "$ref": "#/definitions/AWS::Transfer::Server.SecurityGroupId" + }, + "type": "array" + }, "SubnetIds": { "items": { "type": "string" @@ -74377,6 +75661,11 @@ "properties": {}, "type": "object" }, + "AWS::Transfer::Server.SecurityGroupId": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::Transfer::User": { "additionalProperties": false, "properties": { @@ -79461,6 +80750,21 @@ { "$ref": "#/definitions/AWS::MediaLive::InputSecurityGroup" }, + { + "$ref": "#/definitions/AWS::MediaPackage::Asset" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::Channel" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup" + }, { "$ref": "#/definitions/AWS::MediaStore::Container" }, diff --git a/schema/sam.go b/schema/sam.go index 1b33419eba..c541a2c315 100644 --- a/schema/sam.go +++ b/schema/sam.go @@ -516,9 +516,6 @@ var SamSchema = `{ "HostInstanceType": { "type": "string" }, - "LdapMetadata": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.LdapMetadata" - }, "LdapServerMetadata": { "$ref": "#/definitions/AWS::AmazonMQ::Broker.LdapServerMetadata" }, @@ -623,40 +620,6 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::AmazonMQ::Broker.InterBrokerCred": { - "additionalProperties": false, - "properties": { - "Password": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "Password", - "Username" - ], - "type": "object" - }, - "AWS::AmazonMQ::Broker.LdapMetadata": { - "additionalProperties": false, - "properties": { - "InterBrokerCreds": { - "items": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.InterBrokerCred" - }, - "type": "array" - }, - "ServerMetadata": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.ServerMetadata" - } - }, - "required": [ - "ServerMetadata" - ], - "type": "object" - }, "AWS::AmazonMQ::Broker.LdapServerMetadata": { "additionalProperties": false, "properties": { @@ -740,57 +703,6 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::AmazonMQ::Broker.ServerMetadata": { - "additionalProperties": false, - "properties": { - "Hosts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RoleBase": { - "type": "string" - }, - "RoleName": { - "type": "string" - }, - "RoleSearchMatching": { - "type": "string" - }, - "RoleSearchSubtree": { - "type": "boolean" - }, - "ServiceAccountPassword": { - "type": "string" - }, - "ServiceAccountUsername": { - "type": "string" - }, - "UserBase": { - "type": "string" - }, - "UserRoleName": { - "type": "string" - }, - "UserSearchMatching": { - "type": "string" - }, - "UserSearchSubtree": { - "type": "boolean" - } - }, - "required": [ - "Hosts", - "RoleBase", - "RoleSearchMatching", - "ServiceAccountPassword", - "ServiceAccountUsername", - "UserBase", - "UserSearchMatching" - ], - "type": "object" - }, "AWS::AmazonMQ::Broker.TagsEntry": { "additionalProperties": false, "properties": { @@ -9478,6 +9390,9 @@ var SamSchema = `{ "ApiId": { "type": "string" }, + "ApiKeyId": { + "type": "string" + }, "Description": { "type": "string" }, @@ -9816,6 +9731,9 @@ var SamSchema = `{ }, "ResponseMappingTemplateS3Location": { "type": "string" + }, + "SyncConfig": { + "$ref": "#/definitions/AWS::AppSync::FunctionConfiguration.SyncConfig" } }, "required": [ @@ -9847,6 +9765,33 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::AppSync::FunctionConfiguration.LambdaConflictHandlerConfig": { + "additionalProperties": false, + "properties": { + "LambdaConflictHandlerArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppSync::FunctionConfiguration.SyncConfig": { + "additionalProperties": false, + "properties": { + "ConflictDetection": { + "type": "string" + }, + "ConflictHandler": { + "type": "string" + }, + "LambdaConflictHandlerConfig": { + "$ref": "#/definitions/AWS::AppSync::FunctionConfiguration.LambdaConflictHandlerConfig" + } + }, + "required": [ + "ConflictDetection" + ], + "type": "object" + }, "AWS::AppSync::GraphQLApi": { "additionalProperties": false, "properties": { @@ -11078,6 +11023,9 @@ var SamSchema = `{ }, "QueryString": { "type": "string" + }, + "WorkGroup": { + "type": "string" } }, "required": [ @@ -11333,6 +11281,9 @@ var SamSchema = `{ }, "type": "array" }, + "CapacityRebalance": { + "type": "boolean" + }, "Cooldown": { "type": "string" }, @@ -11502,6 +11453,9 @@ var SamSchema = `{ "InstanceType": { "type": "string" }, + "LaunchTemplateSpecification": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification" + }, "WeightedCapacity": { "type": "string" } @@ -11705,6 +11659,9 @@ var SamSchema = `{ "LaunchConfigurationName": { "type": "string" }, + "MetadataOptions": { + "$ref": "#/definitions/AWS::AutoScaling::LaunchConfiguration.MetadataOption" + }, "PlacementTenancy": { "type": "string" }, @@ -11796,6 +11753,21 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::AutoScaling::LaunchConfiguration.MetadataOption": { + "additionalProperties": false, + "properties": { + "HttpEndpoint": { + "type": "string" + }, + "HttpPutResponseHopLimit": { + "type": "number" + }, + "HttpTokens": { + "type": "string" + } + }, + "type": "object" + }, "AWS::AutoScaling::LifecycleHook": { "additionalProperties": false, "properties": { @@ -12867,6 +12839,9 @@ var SamSchema = `{ "State": { "type": "string" }, + "Tags": { + "type": "object" + }, "Type": { "type": "string" } @@ -13031,6 +13006,9 @@ var SamSchema = `{ "RetryStrategy": { "$ref": "#/definitions/AWS::Batch::JobDefinition.RetryStrategy" }, + "Tags": { + "type": "object" + }, "Timeout": { "$ref": "#/definitions/AWS::Batch::JobDefinition.Timeout" }, @@ -13437,6 +13415,9 @@ var SamSchema = `{ }, "State": { "type": "string" + }, + "Tags": { + "type": "object" } }, "required": [ @@ -15535,6 +15516,9 @@ var SamSchema = `{ "OriginPath": { "type": "string" }, + "OriginShield": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginShield" + }, "S3OriginConfig": { "$ref": "#/definitions/AWS::CloudFront::Distribution.S3OriginConfig" } @@ -15642,6 +15626,21 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::CloudFront::Distribution.OriginShield": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "OriginShieldRegion": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, "AWS::CloudFront::Distribution.Restrictions": { "additionalProperties": false, "properties": { @@ -27782,6 +27781,9 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "CarrierGatewayId": { + "type": "string" + }, "DestinationCidrBlock": { "type": "string" }, @@ -27797,6 +27799,9 @@ var SamSchema = `{ "InstanceId": { "type": "string" }, + "LocalGatewayId": { + "type": "string" + }, "NatGatewayId": { "type": "string" }, @@ -27809,6 +27814,9 @@ var SamSchema = `{ "TransitGatewayId": { "type": "string" }, + "VpcEndpointId": { + "type": "string" + }, "VpcPeeringConnectionId": { "type": "string" } @@ -28787,6 +28795,9 @@ var SamSchema = `{ "MapPublicIpOnLaunch": { "type": "boolean" }, + "OutpostArn": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -33351,9 +33362,15 @@ var SamSchema = `{ "KerberosAttributes": { "$ref": "#/definitions/AWS::EMR::Cluster.KerberosAttributes" }, + "LogEncryptionKmsKeyId": { + "type": "string" + }, "LogUri": { "type": "string" }, + "ManagedScalingPolicy": { + "$ref": "#/definitions/AWS::EMR::Cluster.ManagedScalingPolicy" + }, "Name": { "type": "string" }, @@ -33369,6 +33386,9 @@ var SamSchema = `{ "ServiceRole": { "type": "string" }, + "StepConcurrencyLevel": { + "type": "number" + }, "Steps": { "items": { "$ref": "#/definitions/AWS::EMR::Cluster.StepConfig" @@ -33518,6 +33538,32 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::EMR::Cluster.ComputeLimits": { + "additionalProperties": false, + "properties": { + "MaximumCapacityUnits": { + "type": "number" + }, + "MaximumCoreCapacityUnits": { + "type": "number" + }, + "MaximumOnDemandCapacityUnits": { + "type": "number" + }, + "MinimumCapacityUnits": { + "type": "number" + }, + "UnitType": { + "type": "string" + } + }, + "required": [ + "MaximumCapacityUnits", + "MinimumCapacityUnits", + "UnitType" + ], + "type": "object" + }, "AWS::EMR::Cluster.Configuration": { "additionalProperties": false, "properties": { @@ -33626,13 +33672,13 @@ var SamSchema = `{ "AWS::EMR::Cluster.InstanceFleetProvisioningSpecifications": { "additionalProperties": false, "properties": { + "OnDemandSpecification": { + "$ref": "#/definitions/AWS::EMR::Cluster.OnDemandProvisioningSpecification" + }, "SpotSpecification": { "$ref": "#/definitions/AWS::EMR::Cluster.SpotProvisioningSpecification" } }, - "required": [ - "SpotSpecification" - ], "type": "object" }, "AWS::EMR::Cluster.InstanceGroupConfig": { @@ -33802,6 +33848,15 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::EMR::Cluster.ManagedScalingPolicy": { + "additionalProperties": false, + "properties": { + "ComputeLimits": { + "$ref": "#/definitions/AWS::EMR::Cluster.ComputeLimits" + } + }, + "type": "object" + }, "AWS::EMR::Cluster.MetricDimension": { "additionalProperties": false, "properties": { @@ -33818,6 +33873,18 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::EMR::Cluster.OnDemandProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + } + }, + "required": [ + "AllocationStrategy" + ], + "type": "object" + }, "AWS::EMR::Cluster.PlacementType": { "additionalProperties": false, "properties": { @@ -33935,6 +34002,9 @@ var SamSchema = `{ "AWS::EMR::Cluster.SpotProvisioningSpecification": { "additionalProperties": false, "properties": { + "AllocationStrategy": { + "type": "string" + }, "BlockDurationMinutes": { "type": "number" }, @@ -34130,13 +34200,13 @@ var SamSchema = `{ "AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications": { "additionalProperties": false, "properties": { + "OnDemandSpecification": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification" + }, "SpotSpecification": { "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification" } }, - "required": [ - "SpotSpecification" - ], "type": "object" }, "AWS::EMR::InstanceFleetConfig.InstanceTypeConfig": { @@ -34169,9 +34239,24 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + } + }, + "required": [ + "AllocationStrategy" + ], + "type": "object" + }, "AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification": { "additionalProperties": false, "properties": { + "AllocationStrategy": { + "type": "string" + }, "BlockDurationMinutes": { "type": "number" }, @@ -34993,6 +35078,9 @@ var SamSchema = `{ "EngineVersion": { "type": "string" }, + "GlobalReplicationGroupId": { + "type": "string" + }, "KmsKeyId": { "type": "string" }, @@ -36155,9 +36243,7 @@ var SamSchema = `{ }, "required": [ "DefaultActions", - "LoadBalancerArn", - "Port", - "Protocol" + "LoadBalancerArn" ], "type": "object" }, @@ -37006,6 +37092,9 @@ var SamSchema = `{ "AllocationId": { "type": "string" }, + "IPv6Address": { + "type": "string" + }, "PrivateIPv4Address": { "type": "string" }, @@ -37140,9 +37229,6 @@ var SamSchema = `{ "type": "string" } }, - "required": [ - "HttpCode" - ], "type": "object" }, "AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription": { @@ -37371,6 +37457,15 @@ var SamSchema = `{ "InstanceType": { "type": "string" }, + "WarmCount": { + "type": "number" + }, + "WarmEnabled": { + "type": "boolean" + }, + "WarmType": { + "type": "string" + }, "ZoneAwarenessConfig": { "$ref": "#/definitions/AWS::Elasticsearch::Domain.ZoneAwarenessConfig" }, @@ -38103,6 +38198,15 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::Events::Rule.DeadLetterConfig": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Events::Rule.EcsParameters": { "additionalProperties": false, "properties": { @@ -38202,6 +38306,46 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::Events::Rule.RedshiftDataParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "DbUser": { + "type": "string" + }, + "SecretManagerArn": { + "type": "string" + }, + "Sql": { + "type": "string" + }, + "StatementName": { + "type": "string" + }, + "WithEvent": { + "type": "boolean" + } + }, + "required": [ + "Database", + "Sql" + ], + "type": "object" + }, + "AWS::Events::Rule.RetryPolicy": { + "additionalProperties": false, + "properties": { + "MaximumEventAgeInSeconds": { + "type": "number" + }, + "MaximumRetryAttempts": { + "type": "number" + } + }, + "type": "object" + }, "AWS::Events::Rule.RunCommandParameters": { "additionalProperties": false, "properties": { @@ -38257,6 +38401,9 @@ var SamSchema = `{ "BatchParameters": { "$ref": "#/definitions/AWS::Events::Rule.BatchParameters" }, + "DeadLetterConfig": { + "$ref": "#/definitions/AWS::Events::Rule.DeadLetterConfig" + }, "EcsParameters": { "$ref": "#/definitions/AWS::Events::Rule.EcsParameters" }, @@ -38278,6 +38425,12 @@ var SamSchema = `{ "KinesisParameters": { "$ref": "#/definitions/AWS::Events::Rule.KinesisParameters" }, + "RedshiftDataParameters": { + "$ref": "#/definitions/AWS::Events::Rule.RedshiftDataParameters" + }, + "RetryPolicy": { + "$ref": "#/definitions/AWS::Events::Rule.RetryPolicy" + }, "RoleArn": { "type": "string" }, @@ -39442,6 +39595,9 @@ var SamSchema = `{ "Description": { "type": "string" }, + "FlexMatchMode": { + "type": "string" + }, "GameProperties": { "items": { "$ref": "#/definitions/AWS::GameLift::MatchmakingConfiguration.GameProperty" @@ -39472,7 +39628,6 @@ var SamSchema = `{ }, "required": [ "AcceptanceRequired", - "GameSessionQueueArns", "Name", "RequestTimeoutSeconds", "RuleSetName" @@ -51940,6 +52095,9 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "DeliveryStreamEncryptionConfigurationInput": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput" + }, "DeliveryStreamName": { "type": "string" }, @@ -51966,6 +52124,12 @@ var SamSchema = `{ }, "SplunkDestinationConfiguration": { "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SplunkDestinationConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "type": "object" @@ -52053,6 +52217,21 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput": { + "additionalProperties": false, + "properties": { + "KeyARN": { + "type": "string" + }, + "KeyType": { + "type": "string" + } + }, + "required": [ + "KeyType" + ], + "type": "object" + }, "AWS::KinesisFirehose::DeliveryStream.Deserializer": { "additionalProperties": false, "properties": { @@ -53304,6 +53483,18 @@ var SamSchema = `{ "ParallelizationFactor": { "type": "number" }, + "Queues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceAccessConfigurations": { + "items": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.SourceAccessConfiguration" + }, + "type": "array" + }, "StartingPosition": { "type": "string" }, @@ -53359,6 +53550,18 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::Lambda::EventSourceMapping.SourceAccessConfiguration": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "URI": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Lambda::Function": { "additionalProperties": false, "properties": { @@ -54007,6 +54210,9 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "KmsKeyId": { + "type": "string" + }, "LogGroupName": { "type": "string" }, @@ -58219,7 +58425,7 @@ var SamSchema = `{ }, "type": "object" }, - "AWS::MediaStore::Container": { + "AWS::MediaPackage::Asset": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -58251,246 +58457,45 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AccessLoggingEnabled": { - "type": "boolean" - }, - "ContainerName": { - "type": "string" - }, - "CorsPolicy": { + "EgressEndpoints": { "items": { - "$ref": "#/definitions/AWS::MediaStore::Container.CorsRule" + "$ref": "#/definitions/AWS::MediaPackage::Asset.EgressEndpoint" }, "type": "array" }, - "LifecyclePolicy": { + "Id": { "type": "string" }, - "MetricPolicy": { - "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicy" - }, - "Policy": { + "PackagingGroupId": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ContainerName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaStore::Container" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaStore::Container.CorsRule": { - "additionalProperties": false, - "properties": { - "AllowedHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedMethods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedOrigins": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ExposeHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaxAgeSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaStore::Container.MetricPolicy": { - "additionalProperties": false, - "properties": { - "ContainerLevelMetrics": { - "type": "string" - }, - "MetricPolicyRules": { - "items": { - "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicyRule" - }, - "type": "array" - } - }, - "required": [ - "ContainerLevelMetrics" - ], - "type": "object" - }, - "AWS::MediaStore::Container.MetricPolicyRule": { - "additionalProperties": false, - "properties": { - "ObjectGroup": { - "type": "string" - }, - "ObjectGroupName": { - "type": "string" - } - }, - "required": [ - "ObjectGroup", - "ObjectGroupName" - ], - "type": "object" - }, - "AWS::Neptune::DBCluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/AWS::Neptune::DBCluster.DBClusterRole" - }, - "type": "array" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BackupRetentionPeriod": { - "type": "number" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBClusterParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EngineVersion": { - "type": "string" - }, - "IamAuthEnabled": { - "type": "boolean" - }, - "KmsKeyId": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "RestoreToTime": { - "type": "string" - }, - "RestoreType": { + "ResourceId": { "type": "string" }, - "SnapshotIdentifier": { + "SourceArn": { "type": "string" }, - "SourceDBClusterIdentifier": { + "SourceRoleArn": { "type": "string" }, - "StorageEncrypted": { - "type": "boolean" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" } }, + "required": [ + "Id", + "PackagingGroupId", + "SourceArn", + "SourceRoleArn" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Neptune::DBCluster" + "AWS::MediaPackage::Asset" ], "type": "string" }, @@ -58504,26 +58509,1264 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Neptune::DBCluster.DBClusterRole": { + "AWS::MediaPackage::Asset.EgressEndpoint": { "additionalProperties": false, "properties": { - "FeatureName": { + "PackagingConfigurationId": { "type": "string" }, - "RoleArn": { + "Url": { "type": "string" } }, "required": [ - "RoleArn" + "PackagingConfigurationId", + "Url" ], "type": "object" }, - "AWS::Neptune::DBClusterParameterGroup": { + "AWS::MediaPackage::Channel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::Channel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::Channel.HlsIngest": { + "additionalProperties": false, + "properties": { + "ingestEndpoints": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::Channel.IngestEndpoint" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaPackage::Channel.IngestEndpoint": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Password": { + "type": "string" + }, + "Url": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Authorization": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.Authorization" + }, + "ChannelId": { + "type": "string" + }, + "CmafPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafPackage" + }, + "DashPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashPackage" + }, + "Description": { + "type": "string" + }, + "HlsPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsPackage" + }, + "Id": { + "type": "string" + }, + "ManifestName": { + "type": "string" + }, + "MssPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssPackage" + }, + "Origination": { + "type": "string" + }, + "StartoverWindowSeconds": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TimeDelaySeconds": { + "type": "number" + }, + "Whitelist": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ChannelId", + "Id" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::OriginEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.AdTriggers": { + "additionalProperties": false, + "properties": { + "AdTriggers": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.Authorization": { + "additionalProperties": false, + "properties": { + "CdnIdentifierSecret": { + "type": "string" + }, + "SecretsRoleArn": { + "type": "string" + } + }, + "required": [ + "CdnIdentifierSecret", + "SecretsRoleArn" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.CmafEncryption": { + "additionalProperties": false, + "properties": { + "KeyRotationIntervalSeconds": { + "type": "number" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.CmafPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "SegmentPrefix": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.DashEncryption": { + "additionalProperties": false, + "properties": { + "KeyRotationIntervalSeconds": { + "type": "number" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.DashPackage": { + "additionalProperties": false, + "properties": { + "AdTriggers": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.AdTriggers" + }, + "AdsOnDeliveryRestrictions": { + "type": "string" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashEncryption" + }, + "ManifestLayout": { + "type": "string" + }, + "ManifestWindowSeconds": { + "type": "number" + }, + "MinBufferTimeSeconds": { + "type": "number" + }, + "MinUpdatePeriodSeconds": { + "type": "number" + }, + "PeriodTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Profile": { + "type": "string" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "SegmentTemplateFormat": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + }, + "SuggestedPresentationDelaySeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.HlsEncryption": { + "additionalProperties": false, + "properties": { + "ConstantInitializationVector": { + "type": "string" + }, + "EncryptionMethod": { + "type": "string" + }, + "KeyRotationIntervalSeconds": { + "type": "number" + }, + "RepeatExtXKey": { + "type": "boolean" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.HlsManifest": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "type": "string" + }, + "AdTriggers": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.AdTriggers" + }, + "AdsOnDeliveryRestrictions": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "ManifestName": { + "type": "string" + }, + "PlaylistType": { + "type": "string" + }, + "PlaylistWindowSeconds": { + "type": "number" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "number" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.HlsPackage": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "type": "string" + }, + "AdTriggers": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.AdTriggers" + }, + "AdsOnDeliveryRestrictions": { + "type": "string" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsEncryption" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "PlaylistType": { + "type": "string" + }, + "PlaylistWindowSeconds": { + "type": "number" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "number" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + }, + "UseAudioRenditionGroup": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.MssEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.MssPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssEncryption" + }, + "ManifestWindowSeconds": { + "type": "number" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SystemIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "ResourceId", + "RoleArn", + "SystemIds", + "Url" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.StreamSelection": { + "additionalProperties": false, + "properties": { + "MaxVideoBitsPerSecond": { + "type": "number" + }, + "MinVideoBitsPerSecond": { + "type": "number" + }, + "StreamOrder": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CmafPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafPackage" + }, + "DashPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashPackage" + }, + "HlsPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsPackage" + }, + "Id": { + "type": "string" + }, + "MssPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssPackage" + }, + "PackagingGroupId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id", + "PackagingGroupId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::PackagingConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.CmafEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration." + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.CmafPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + } + }, + "required": [ + "HlsManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.DashEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration." + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.DashManifest": { + "additionalProperties": false, + "properties": { + "ManifestLayout": { + "type": "string" + }, + "ManifestName": { + "type": "string" + }, + "MinBufferTimeSeconds": { + "type": "number" + }, + "Profile": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.DashPackage": { + "additionalProperties": false, + "properties": { + "DashManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashManifest" + }, + "type": "array" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashEncryption" + }, + "PeriodTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "SegmentTemplateFormat": { + "type": "string" + } + }, + "required": [ + "DashManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.HlsEncryption": { + "additionalProperties": false, + "properties": { + "ConstantInitializationVector": { + "type": "string" + }, + "EncryptionMethod": { + "type": "string" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration." + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.HlsManifest": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "type": "string" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "ManifestName": { + "type": "string" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "number" + }, + "RepeatExtXKey": { + "type": "boolean" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.HlsPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "UseAudioRenditionGroup": { + "type": "boolean" + } + }, + "required": [ + "HlsManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.MssEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration." + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.MssManifest": { + "additionalProperties": false, + "properties": { + "ManifestName": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.MssPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssEncryption" + }, + "MssManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + } + }, + "required": [ + "MssManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "SystemIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "SystemIds", + "Url" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.StreamSelection": { + "additionalProperties": false, + "properties": { + "MaxVideoBitsPerSecond": { + "type": "number" + }, + "MinVideoBitsPerSecond": { + "type": "number" + }, + "StreamOrder": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Authorization": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup.Authorization" + }, + "Id": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::PackagingGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingGroup.Authorization": { + "additionalProperties": false, + "properties": { + "CdnIdentifierSecret": { + "type": "string" + }, + "SecretsRoleArn": { + "type": "string" + } + }, + "required": [ + "CdnIdentifierSecret", + "SecretsRoleArn" + ], + "type": "object" + }, + "AWS::MediaStore::Container": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessLoggingEnabled": { + "type": "boolean" + }, + "ContainerName": { + "type": "string" + }, + "CorsPolicy": { + "items": { + "$ref": "#/definitions/AWS::MediaStore::Container.CorsRule" + }, + "type": "array" + }, + "LifecyclePolicy": { + "type": "string" + }, + "MetricPolicy": { + "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicy" + }, + "Policy": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ContainerName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaStore::Container" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaStore::Container.CorsRule": { + "additionalProperties": false, + "properties": { + "AllowedHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedOrigins": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExposeHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxAgeSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaStore::Container.MetricPolicy": { + "additionalProperties": false, + "properties": { + "ContainerLevelMetrics": { + "type": "string" + }, + "MetricPolicyRules": { + "items": { + "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicyRule" + }, + "type": "array" + } + }, + "required": [ + "ContainerLevelMetrics" + ], + "type": "object" + }, + "AWS::MediaStore::Container.MetricPolicyRule": { + "additionalProperties": false, + "properties": { + "ObjectGroup": { + "type": "string" + }, + "ObjectGroupName": { + "type": "string" + } + }, + "required": [ + "ObjectGroup", + "ObjectGroupName" + ], + "type": "object" + }, + "AWS::Neptune::DBCluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/AWS::Neptune::DBCluster.DBClusterRole" + }, + "type": "array" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BackupRetentionPeriod": { + "type": "number" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBClusterParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EngineVersion": { + "type": "string" + }, + "IamAuthEnabled": { + "type": "boolean" + }, + "KmsKeyId": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "RestoreToTime": { + "type": "string" + }, + "RestoreType": { + "type": "string" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Neptune::DBCluster.DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "AWS::Neptune::DBClusterParameterGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -63522,6 +64765,9 @@ var SamSchema = `{ "EngineVersion": { "type": "string" }, + "GlobalClusterIdentifier": { + "type": "string" + }, "KmsKeyId": { "type": "string" }, @@ -67351,7 +68597,6 @@ var SamSchema = `{ } }, "required": [ - "EventThreshold", "Status" ], "type": "object" @@ -67523,6 +68768,18 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::S3::Bucket.ReplicaModifications": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, "AWS::S3::Bucket.ReplicationConfiguration": { "additionalProperties": false, "properties": { @@ -67787,13 +69044,13 @@ var SamSchema = `{ "AWS::S3::Bucket.SourceSelectionCriteria": { "additionalProperties": false, "properties": { + "ReplicaModifications": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicaModifications" + }, "SseKmsEncryptedObjects": { "$ref": "#/definitions/AWS::S3::Bucket.SseKmsEncryptedObjects" } }, - "required": [ - "SseKmsEncryptedObjects" - ], "type": "object" }, "AWS::S3::Bucket.SseKmsEncryptedObjects": { @@ -68755,6 +70012,9 @@ var SamSchema = `{ "Region": { "type": "string" }, + "SubscriptionRoleArn": { + "type": "string" + }, "TopicArn": { "type": "string" } @@ -68824,6 +70084,9 @@ var SamSchema = `{ "DisplayName": { "type": "string" }, + "FifoTopic": { + "type": "boolean" + }, "KmsMasterKeyId": { "type": "string" }, @@ -70862,6 +72125,9 @@ var SamSchema = `{ "Image": { "type": "string" }, + "ImageConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.ImageConfig" + }, "Mode": { "type": "string" }, @@ -70874,6 +72140,18 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::SageMaker::Model.ImageConfig": { + "additionalProperties": false, + "properties": { + "RepositoryAccessMode": { + "type": "string" + } + }, + "required": [ + "RepositoryAccessMode" + ], + "type": "object" + }, "AWS::SageMaker::Model.VpcConfig": { "additionalProperties": false, "properties": { @@ -76423,6 +77701,12 @@ var SamSchema = `{ }, "type": "array" }, + "SecurityGroupIds": { + "items": { + "$ref": "#/definitions/AWS::Transfer::Server.SecurityGroupId" + }, + "type": "array" + }, "SubnetIds": { "items": { "type": "string" @@ -76459,6 +77743,11 @@ var SamSchema = `{ "properties": {}, "type": "object" }, + "AWS::Transfer::Server.SecurityGroupId": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::Transfer::User": { "additionalProperties": false, "properties": { @@ -81543,6 +82832,21 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::MediaLive::InputSecurityGroup" }, + { + "$ref": "#/definitions/AWS::MediaPackage::Asset" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::Channel" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup" + }, { "$ref": "#/definitions/AWS::MediaStore::Container" }, diff --git a/schema/sam.schema.json b/schema/sam.schema.json index 2e2e52ca4f..33abe8e8cf 100644 --- a/schema/sam.schema.json +++ b/schema/sam.schema.json @@ -513,9 +513,6 @@ "HostInstanceType": { "type": "string" }, - "LdapMetadata": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.LdapMetadata" - }, "LdapServerMetadata": { "$ref": "#/definitions/AWS::AmazonMQ::Broker.LdapServerMetadata" }, @@ -620,40 +617,6 @@ ], "type": "object" }, - "AWS::AmazonMQ::Broker.InterBrokerCred": { - "additionalProperties": false, - "properties": { - "Password": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "Password", - "Username" - ], - "type": "object" - }, - "AWS::AmazonMQ::Broker.LdapMetadata": { - "additionalProperties": false, - "properties": { - "InterBrokerCreds": { - "items": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.InterBrokerCred" - }, - "type": "array" - }, - "ServerMetadata": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.ServerMetadata" - } - }, - "required": [ - "ServerMetadata" - ], - "type": "object" - }, "AWS::AmazonMQ::Broker.LdapServerMetadata": { "additionalProperties": false, "properties": { @@ -737,57 +700,6 @@ ], "type": "object" }, - "AWS::AmazonMQ::Broker.ServerMetadata": { - "additionalProperties": false, - "properties": { - "Hosts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RoleBase": { - "type": "string" - }, - "RoleName": { - "type": "string" - }, - "RoleSearchMatching": { - "type": "string" - }, - "RoleSearchSubtree": { - "type": "boolean" - }, - "ServiceAccountPassword": { - "type": "string" - }, - "ServiceAccountUsername": { - "type": "string" - }, - "UserBase": { - "type": "string" - }, - "UserRoleName": { - "type": "string" - }, - "UserSearchMatching": { - "type": "string" - }, - "UserSearchSubtree": { - "type": "boolean" - } - }, - "required": [ - "Hosts", - "RoleBase", - "RoleSearchMatching", - "ServiceAccountPassword", - "ServiceAccountUsername", - "UserBase", - "UserSearchMatching" - ], - "type": "object" - }, "AWS::AmazonMQ::Broker.TagsEntry": { "additionalProperties": false, "properties": { @@ -9475,6 +9387,9 @@ "ApiId": { "type": "string" }, + "ApiKeyId": { + "type": "string" + }, "Description": { "type": "string" }, @@ -9813,6 +9728,9 @@ }, "ResponseMappingTemplateS3Location": { "type": "string" + }, + "SyncConfig": { + "$ref": "#/definitions/AWS::AppSync::FunctionConfiguration.SyncConfig" } }, "required": [ @@ -9844,6 +9762,33 @@ ], "type": "object" }, + "AWS::AppSync::FunctionConfiguration.LambdaConflictHandlerConfig": { + "additionalProperties": false, + "properties": { + "LambdaConflictHandlerArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppSync::FunctionConfiguration.SyncConfig": { + "additionalProperties": false, + "properties": { + "ConflictDetection": { + "type": "string" + }, + "ConflictHandler": { + "type": "string" + }, + "LambdaConflictHandlerConfig": { + "$ref": "#/definitions/AWS::AppSync::FunctionConfiguration.LambdaConflictHandlerConfig" + } + }, + "required": [ + "ConflictDetection" + ], + "type": "object" + }, "AWS::AppSync::GraphQLApi": { "additionalProperties": false, "properties": { @@ -11075,6 +11020,9 @@ }, "QueryString": { "type": "string" + }, + "WorkGroup": { + "type": "string" } }, "required": [ @@ -11330,6 +11278,9 @@ }, "type": "array" }, + "CapacityRebalance": { + "type": "boolean" + }, "Cooldown": { "type": "string" }, @@ -11499,6 +11450,9 @@ "InstanceType": { "type": "string" }, + "LaunchTemplateSpecification": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification" + }, "WeightedCapacity": { "type": "string" } @@ -11702,6 +11656,9 @@ "LaunchConfigurationName": { "type": "string" }, + "MetadataOptions": { + "$ref": "#/definitions/AWS::AutoScaling::LaunchConfiguration.MetadataOption" + }, "PlacementTenancy": { "type": "string" }, @@ -11793,6 +11750,21 @@ ], "type": "object" }, + "AWS::AutoScaling::LaunchConfiguration.MetadataOption": { + "additionalProperties": false, + "properties": { + "HttpEndpoint": { + "type": "string" + }, + "HttpPutResponseHopLimit": { + "type": "number" + }, + "HttpTokens": { + "type": "string" + } + }, + "type": "object" + }, "AWS::AutoScaling::LifecycleHook": { "additionalProperties": false, "properties": { @@ -12864,6 +12836,9 @@ "State": { "type": "string" }, + "Tags": { + "type": "object" + }, "Type": { "type": "string" } @@ -13028,6 +13003,9 @@ "RetryStrategy": { "$ref": "#/definitions/AWS::Batch::JobDefinition.RetryStrategy" }, + "Tags": { + "type": "object" + }, "Timeout": { "$ref": "#/definitions/AWS::Batch::JobDefinition.Timeout" }, @@ -13434,6 +13412,9 @@ }, "State": { "type": "string" + }, + "Tags": { + "type": "object" } }, "required": [ @@ -15532,6 +15513,9 @@ "OriginPath": { "type": "string" }, + "OriginShield": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginShield" + }, "S3OriginConfig": { "$ref": "#/definitions/AWS::CloudFront::Distribution.S3OriginConfig" } @@ -15639,6 +15623,21 @@ ], "type": "object" }, + "AWS::CloudFront::Distribution.OriginShield": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "OriginShieldRegion": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, "AWS::CloudFront::Distribution.Restrictions": { "additionalProperties": false, "properties": { @@ -27779,6 +27778,9 @@ "Properties": { "additionalProperties": false, "properties": { + "CarrierGatewayId": { + "type": "string" + }, "DestinationCidrBlock": { "type": "string" }, @@ -27794,6 +27796,9 @@ "InstanceId": { "type": "string" }, + "LocalGatewayId": { + "type": "string" + }, "NatGatewayId": { "type": "string" }, @@ -27806,6 +27811,9 @@ "TransitGatewayId": { "type": "string" }, + "VpcEndpointId": { + "type": "string" + }, "VpcPeeringConnectionId": { "type": "string" } @@ -28784,6 +28792,9 @@ "MapPublicIpOnLaunch": { "type": "boolean" }, + "OutpostArn": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -33348,9 +33359,15 @@ "KerberosAttributes": { "$ref": "#/definitions/AWS::EMR::Cluster.KerberosAttributes" }, + "LogEncryptionKmsKeyId": { + "type": "string" + }, "LogUri": { "type": "string" }, + "ManagedScalingPolicy": { + "$ref": "#/definitions/AWS::EMR::Cluster.ManagedScalingPolicy" + }, "Name": { "type": "string" }, @@ -33366,6 +33383,9 @@ "ServiceRole": { "type": "string" }, + "StepConcurrencyLevel": { + "type": "number" + }, "Steps": { "items": { "$ref": "#/definitions/AWS::EMR::Cluster.StepConfig" @@ -33515,6 +33535,32 @@ ], "type": "object" }, + "AWS::EMR::Cluster.ComputeLimits": { + "additionalProperties": false, + "properties": { + "MaximumCapacityUnits": { + "type": "number" + }, + "MaximumCoreCapacityUnits": { + "type": "number" + }, + "MaximumOnDemandCapacityUnits": { + "type": "number" + }, + "MinimumCapacityUnits": { + "type": "number" + }, + "UnitType": { + "type": "string" + } + }, + "required": [ + "MaximumCapacityUnits", + "MinimumCapacityUnits", + "UnitType" + ], + "type": "object" + }, "AWS::EMR::Cluster.Configuration": { "additionalProperties": false, "properties": { @@ -33623,13 +33669,13 @@ "AWS::EMR::Cluster.InstanceFleetProvisioningSpecifications": { "additionalProperties": false, "properties": { + "OnDemandSpecification": { + "$ref": "#/definitions/AWS::EMR::Cluster.OnDemandProvisioningSpecification" + }, "SpotSpecification": { "$ref": "#/definitions/AWS::EMR::Cluster.SpotProvisioningSpecification" } }, - "required": [ - "SpotSpecification" - ], "type": "object" }, "AWS::EMR::Cluster.InstanceGroupConfig": { @@ -33799,6 +33845,15 @@ }, "type": "object" }, + "AWS::EMR::Cluster.ManagedScalingPolicy": { + "additionalProperties": false, + "properties": { + "ComputeLimits": { + "$ref": "#/definitions/AWS::EMR::Cluster.ComputeLimits" + } + }, + "type": "object" + }, "AWS::EMR::Cluster.MetricDimension": { "additionalProperties": false, "properties": { @@ -33815,6 +33870,18 @@ ], "type": "object" }, + "AWS::EMR::Cluster.OnDemandProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + } + }, + "required": [ + "AllocationStrategy" + ], + "type": "object" + }, "AWS::EMR::Cluster.PlacementType": { "additionalProperties": false, "properties": { @@ -33932,6 +33999,9 @@ "AWS::EMR::Cluster.SpotProvisioningSpecification": { "additionalProperties": false, "properties": { + "AllocationStrategy": { + "type": "string" + }, "BlockDurationMinutes": { "type": "number" }, @@ -34127,13 +34197,13 @@ "AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications": { "additionalProperties": false, "properties": { + "OnDemandSpecification": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification" + }, "SpotSpecification": { "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification" } }, - "required": [ - "SpotSpecification" - ], "type": "object" }, "AWS::EMR::InstanceFleetConfig.InstanceTypeConfig": { @@ -34166,9 +34236,24 @@ ], "type": "object" }, + "AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + } + }, + "required": [ + "AllocationStrategy" + ], + "type": "object" + }, "AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification": { "additionalProperties": false, "properties": { + "AllocationStrategy": { + "type": "string" + }, "BlockDurationMinutes": { "type": "number" }, @@ -34990,6 +35075,9 @@ "EngineVersion": { "type": "string" }, + "GlobalReplicationGroupId": { + "type": "string" + }, "KmsKeyId": { "type": "string" }, @@ -36152,9 +36240,7 @@ }, "required": [ "DefaultActions", - "LoadBalancerArn", - "Port", - "Protocol" + "LoadBalancerArn" ], "type": "object" }, @@ -37003,6 +37089,9 @@ "AllocationId": { "type": "string" }, + "IPv6Address": { + "type": "string" + }, "PrivateIPv4Address": { "type": "string" }, @@ -37137,9 +37226,6 @@ "type": "string" } }, - "required": [ - "HttpCode" - ], "type": "object" }, "AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription": { @@ -37368,6 +37454,15 @@ "InstanceType": { "type": "string" }, + "WarmCount": { + "type": "number" + }, + "WarmEnabled": { + "type": "boolean" + }, + "WarmType": { + "type": "string" + }, "ZoneAwarenessConfig": { "$ref": "#/definitions/AWS::Elasticsearch::Domain.ZoneAwarenessConfig" }, @@ -38100,6 +38195,15 @@ }, "type": "object" }, + "AWS::Events::Rule.DeadLetterConfig": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Events::Rule.EcsParameters": { "additionalProperties": false, "properties": { @@ -38199,6 +38303,46 @@ }, "type": "object" }, + "AWS::Events::Rule.RedshiftDataParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "DbUser": { + "type": "string" + }, + "SecretManagerArn": { + "type": "string" + }, + "Sql": { + "type": "string" + }, + "StatementName": { + "type": "string" + }, + "WithEvent": { + "type": "boolean" + } + }, + "required": [ + "Database", + "Sql" + ], + "type": "object" + }, + "AWS::Events::Rule.RetryPolicy": { + "additionalProperties": false, + "properties": { + "MaximumEventAgeInSeconds": { + "type": "number" + }, + "MaximumRetryAttempts": { + "type": "number" + } + }, + "type": "object" + }, "AWS::Events::Rule.RunCommandParameters": { "additionalProperties": false, "properties": { @@ -38254,6 +38398,9 @@ "BatchParameters": { "$ref": "#/definitions/AWS::Events::Rule.BatchParameters" }, + "DeadLetterConfig": { + "$ref": "#/definitions/AWS::Events::Rule.DeadLetterConfig" + }, "EcsParameters": { "$ref": "#/definitions/AWS::Events::Rule.EcsParameters" }, @@ -38275,6 +38422,12 @@ "KinesisParameters": { "$ref": "#/definitions/AWS::Events::Rule.KinesisParameters" }, + "RedshiftDataParameters": { + "$ref": "#/definitions/AWS::Events::Rule.RedshiftDataParameters" + }, + "RetryPolicy": { + "$ref": "#/definitions/AWS::Events::Rule.RetryPolicy" + }, "RoleArn": { "type": "string" }, @@ -39439,6 +39592,9 @@ "Description": { "type": "string" }, + "FlexMatchMode": { + "type": "string" + }, "GameProperties": { "items": { "$ref": "#/definitions/AWS::GameLift::MatchmakingConfiguration.GameProperty" @@ -39469,7 +39625,6 @@ }, "required": [ "AcceptanceRequired", - "GameSessionQueueArns", "Name", "RequestTimeoutSeconds", "RuleSetName" @@ -51937,6 +52092,9 @@ "Properties": { "additionalProperties": false, "properties": { + "DeliveryStreamEncryptionConfigurationInput": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput" + }, "DeliveryStreamName": { "type": "string" }, @@ -51963,6 +52121,12 @@ }, "SplunkDestinationConfiguration": { "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SplunkDestinationConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "type": "object" @@ -52050,6 +52214,21 @@ }, "type": "object" }, + "AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput": { + "additionalProperties": false, + "properties": { + "KeyARN": { + "type": "string" + }, + "KeyType": { + "type": "string" + } + }, + "required": [ + "KeyType" + ], + "type": "object" + }, "AWS::KinesisFirehose::DeliveryStream.Deserializer": { "additionalProperties": false, "properties": { @@ -53301,6 +53480,18 @@ "ParallelizationFactor": { "type": "number" }, + "Queues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceAccessConfigurations": { + "items": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.SourceAccessConfiguration" + }, + "type": "array" + }, "StartingPosition": { "type": "string" }, @@ -53356,6 +53547,18 @@ }, "type": "object" }, + "AWS::Lambda::EventSourceMapping.SourceAccessConfiguration": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "URI": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Lambda::Function": { "additionalProperties": false, "properties": { @@ -54004,6 +54207,9 @@ "Properties": { "additionalProperties": false, "properties": { + "KmsKeyId": { + "type": "string" + }, "LogGroupName": { "type": "string" }, @@ -58216,7 +58422,7 @@ }, "type": "object" }, - "AWS::MediaStore::Container": { + "AWS::MediaPackage::Asset": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -58248,246 +58454,45 @@ "Properties": { "additionalProperties": false, "properties": { - "AccessLoggingEnabled": { - "type": "boolean" - }, - "ContainerName": { - "type": "string" - }, - "CorsPolicy": { + "EgressEndpoints": { "items": { - "$ref": "#/definitions/AWS::MediaStore::Container.CorsRule" + "$ref": "#/definitions/AWS::MediaPackage::Asset.EgressEndpoint" }, "type": "array" }, - "LifecyclePolicy": { + "Id": { "type": "string" }, - "MetricPolicy": { - "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicy" - }, - "Policy": { + "PackagingGroupId": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ContainerName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaStore::Container" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaStore::Container.CorsRule": { - "additionalProperties": false, - "properties": { - "AllowedHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedMethods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedOrigins": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ExposeHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaxAgeSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaStore::Container.MetricPolicy": { - "additionalProperties": false, - "properties": { - "ContainerLevelMetrics": { - "type": "string" - }, - "MetricPolicyRules": { - "items": { - "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicyRule" - }, - "type": "array" - } - }, - "required": [ - "ContainerLevelMetrics" - ], - "type": "object" - }, - "AWS::MediaStore::Container.MetricPolicyRule": { - "additionalProperties": false, - "properties": { - "ObjectGroup": { - "type": "string" - }, - "ObjectGroupName": { - "type": "string" - } - }, - "required": [ - "ObjectGroup", - "ObjectGroupName" - ], - "type": "object" - }, - "AWS::Neptune::DBCluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/AWS::Neptune::DBCluster.DBClusterRole" - }, - "type": "array" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BackupRetentionPeriod": { - "type": "number" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBClusterParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EngineVersion": { - "type": "string" - }, - "IamAuthEnabled": { - "type": "boolean" - }, - "KmsKeyId": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "RestoreToTime": { - "type": "string" - }, - "RestoreType": { + "ResourceId": { "type": "string" }, - "SnapshotIdentifier": { + "SourceArn": { "type": "string" }, - "SourceDBClusterIdentifier": { + "SourceRoleArn": { "type": "string" }, - "StorageEncrypted": { - "type": "boolean" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" } }, + "required": [ + "Id", + "PackagingGroupId", + "SourceArn", + "SourceRoleArn" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Neptune::DBCluster" + "AWS::MediaPackage::Asset" ], "type": "string" }, @@ -58501,26 +58506,1264 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Neptune::DBCluster.DBClusterRole": { + "AWS::MediaPackage::Asset.EgressEndpoint": { "additionalProperties": false, "properties": { - "FeatureName": { + "PackagingConfigurationId": { "type": "string" }, - "RoleArn": { + "Url": { "type": "string" } }, "required": [ - "RoleArn" + "PackagingConfigurationId", + "Url" ], "type": "object" }, - "AWS::Neptune::DBClusterParameterGroup": { + "AWS::MediaPackage::Channel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::Channel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::Channel.HlsIngest": { + "additionalProperties": false, + "properties": { + "ingestEndpoints": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::Channel.IngestEndpoint" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaPackage::Channel.IngestEndpoint": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Password": { + "type": "string" + }, + "Url": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Authorization": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.Authorization" + }, + "ChannelId": { + "type": "string" + }, + "CmafPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafPackage" + }, + "DashPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashPackage" + }, + "Description": { + "type": "string" + }, + "HlsPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsPackage" + }, + "Id": { + "type": "string" + }, + "ManifestName": { + "type": "string" + }, + "MssPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssPackage" + }, + "Origination": { + "type": "string" + }, + "StartoverWindowSeconds": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TimeDelaySeconds": { + "type": "number" + }, + "Whitelist": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ChannelId", + "Id" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::OriginEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.AdTriggers": { + "additionalProperties": false, + "properties": { + "AdTriggers": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.Authorization": { + "additionalProperties": false, + "properties": { + "CdnIdentifierSecret": { + "type": "string" + }, + "SecretsRoleArn": { + "type": "string" + } + }, + "required": [ + "CdnIdentifierSecret", + "SecretsRoleArn" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.CmafEncryption": { + "additionalProperties": false, + "properties": { + "KeyRotationIntervalSeconds": { + "type": "number" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.CmafPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "SegmentPrefix": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.DashEncryption": { + "additionalProperties": false, + "properties": { + "KeyRotationIntervalSeconds": { + "type": "number" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.DashPackage": { + "additionalProperties": false, + "properties": { + "AdTriggers": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.AdTriggers" + }, + "AdsOnDeliveryRestrictions": { + "type": "string" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashEncryption" + }, + "ManifestLayout": { + "type": "string" + }, + "ManifestWindowSeconds": { + "type": "number" + }, + "MinBufferTimeSeconds": { + "type": "number" + }, + "MinUpdatePeriodSeconds": { + "type": "number" + }, + "PeriodTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Profile": { + "type": "string" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "SegmentTemplateFormat": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + }, + "SuggestedPresentationDelaySeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.HlsEncryption": { + "additionalProperties": false, + "properties": { + "ConstantInitializationVector": { + "type": "string" + }, + "EncryptionMethod": { + "type": "string" + }, + "KeyRotationIntervalSeconds": { + "type": "number" + }, + "RepeatExtXKey": { + "type": "boolean" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.HlsManifest": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "type": "string" + }, + "AdTriggers": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.AdTriggers" + }, + "AdsOnDeliveryRestrictions": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "ManifestName": { + "type": "string" + }, + "PlaylistType": { + "type": "string" + }, + "PlaylistWindowSeconds": { + "type": "number" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "number" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.HlsPackage": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "type": "string" + }, + "AdTriggers": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.AdTriggers" + }, + "AdsOnDeliveryRestrictions": { + "type": "string" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsEncryption" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "PlaylistType": { + "type": "string" + }, + "PlaylistWindowSeconds": { + "type": "number" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "number" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + }, + "UseAudioRenditionGroup": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.MssEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.MssPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssEncryption" + }, + "ManifestWindowSeconds": { + "type": "number" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SystemIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "ResourceId", + "RoleArn", + "SystemIds", + "Url" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.StreamSelection": { + "additionalProperties": false, + "properties": { + "MaxVideoBitsPerSecond": { + "type": "number" + }, + "MinVideoBitsPerSecond": { + "type": "number" + }, + "StreamOrder": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CmafPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafPackage" + }, + "DashPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashPackage" + }, + "HlsPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsPackage" + }, + "Id": { + "type": "string" + }, + "MssPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssPackage" + }, + "PackagingGroupId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id", + "PackagingGroupId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::PackagingConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.CmafEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration." + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.CmafPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + } + }, + "required": [ + "HlsManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.DashEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration." + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.DashManifest": { + "additionalProperties": false, + "properties": { + "ManifestLayout": { + "type": "string" + }, + "ManifestName": { + "type": "string" + }, + "MinBufferTimeSeconds": { + "type": "number" + }, + "Profile": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.DashPackage": { + "additionalProperties": false, + "properties": { + "DashManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashManifest" + }, + "type": "array" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashEncryption" + }, + "PeriodTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "SegmentTemplateFormat": { + "type": "string" + } + }, + "required": [ + "DashManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.HlsEncryption": { + "additionalProperties": false, + "properties": { + "ConstantInitializationVector": { + "type": "string" + }, + "EncryptionMethod": { + "type": "string" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration." + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.HlsManifest": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "type": "string" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "ManifestName": { + "type": "string" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "number" + }, + "RepeatExtXKey": { + "type": "boolean" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.HlsPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "UseAudioRenditionGroup": { + "type": "boolean" + } + }, + "required": [ + "HlsManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.MssEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration." + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.MssManifest": { + "additionalProperties": false, + "properties": { + "ManifestName": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.MssPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssEncryption" + }, + "MssManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + } + }, + "required": [ + "MssManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "SystemIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "SystemIds", + "Url" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.StreamSelection": { + "additionalProperties": false, + "properties": { + "MaxVideoBitsPerSecond": { + "type": "number" + }, + "MinVideoBitsPerSecond": { + "type": "number" + }, + "StreamOrder": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Authorization": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup.Authorization" + }, + "Id": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::PackagingGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingGroup.Authorization": { + "additionalProperties": false, + "properties": { + "CdnIdentifierSecret": { + "type": "string" + }, + "SecretsRoleArn": { + "type": "string" + } + }, + "required": [ + "CdnIdentifierSecret", + "SecretsRoleArn" + ], + "type": "object" + }, + "AWS::MediaStore::Container": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessLoggingEnabled": { + "type": "boolean" + }, + "ContainerName": { + "type": "string" + }, + "CorsPolicy": { + "items": { + "$ref": "#/definitions/AWS::MediaStore::Container.CorsRule" + }, + "type": "array" + }, + "LifecyclePolicy": { + "type": "string" + }, + "MetricPolicy": { + "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicy" + }, + "Policy": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ContainerName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaStore::Container" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaStore::Container.CorsRule": { + "additionalProperties": false, + "properties": { + "AllowedHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedOrigins": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExposeHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxAgeSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaStore::Container.MetricPolicy": { + "additionalProperties": false, + "properties": { + "ContainerLevelMetrics": { + "type": "string" + }, + "MetricPolicyRules": { + "items": { + "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicyRule" + }, + "type": "array" + } + }, + "required": [ + "ContainerLevelMetrics" + ], + "type": "object" + }, + "AWS::MediaStore::Container.MetricPolicyRule": { + "additionalProperties": false, + "properties": { + "ObjectGroup": { + "type": "string" + }, + "ObjectGroupName": { + "type": "string" + } + }, + "required": [ + "ObjectGroup", + "ObjectGroupName" + ], + "type": "object" + }, + "AWS::Neptune::DBCluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/AWS::Neptune::DBCluster.DBClusterRole" + }, + "type": "array" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BackupRetentionPeriod": { + "type": "number" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBClusterParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EngineVersion": { + "type": "string" + }, + "IamAuthEnabled": { + "type": "boolean" + }, + "KmsKeyId": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "RestoreToTime": { + "type": "string" + }, + "RestoreType": { + "type": "string" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Neptune::DBCluster.DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "AWS::Neptune::DBClusterParameterGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -63519,6 +64762,9 @@ "EngineVersion": { "type": "string" }, + "GlobalClusterIdentifier": { + "type": "string" + }, "KmsKeyId": { "type": "string" }, @@ -67348,7 +68594,6 @@ } }, "required": [ - "EventThreshold", "Status" ], "type": "object" @@ -67520,6 +68765,18 @@ }, "type": "object" }, + "AWS::S3::Bucket.ReplicaModifications": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, "AWS::S3::Bucket.ReplicationConfiguration": { "additionalProperties": false, "properties": { @@ -67784,13 +69041,13 @@ "AWS::S3::Bucket.SourceSelectionCriteria": { "additionalProperties": false, "properties": { + "ReplicaModifications": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicaModifications" + }, "SseKmsEncryptedObjects": { "$ref": "#/definitions/AWS::S3::Bucket.SseKmsEncryptedObjects" } }, - "required": [ - "SseKmsEncryptedObjects" - ], "type": "object" }, "AWS::S3::Bucket.SseKmsEncryptedObjects": { @@ -68752,6 +70009,9 @@ "Region": { "type": "string" }, + "SubscriptionRoleArn": { + "type": "string" + }, "TopicArn": { "type": "string" } @@ -68821,6 +70081,9 @@ "DisplayName": { "type": "string" }, + "FifoTopic": { + "type": "boolean" + }, "KmsMasterKeyId": { "type": "string" }, @@ -70859,6 +72122,9 @@ "Image": { "type": "string" }, + "ImageConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.ImageConfig" + }, "Mode": { "type": "string" }, @@ -70871,6 +72137,18 @@ }, "type": "object" }, + "AWS::SageMaker::Model.ImageConfig": { + "additionalProperties": false, + "properties": { + "RepositoryAccessMode": { + "type": "string" + } + }, + "required": [ + "RepositoryAccessMode" + ], + "type": "object" + }, "AWS::SageMaker::Model.VpcConfig": { "additionalProperties": false, "properties": { @@ -76420,6 +77698,12 @@ }, "type": "array" }, + "SecurityGroupIds": { + "items": { + "$ref": "#/definitions/AWS::Transfer::Server.SecurityGroupId" + }, + "type": "array" + }, "SubnetIds": { "items": { "type": "string" @@ -76456,6 +77740,11 @@ "properties": {}, "type": "object" }, + "AWS::Transfer::Server.SecurityGroupId": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::Transfer::User": { "additionalProperties": false, "properties": { @@ -81540,6 +82829,21 @@ { "$ref": "#/definitions/AWS::MediaLive::InputSecurityGroup" }, + { + "$ref": "#/definitions/AWS::MediaPackage::Asset" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::Channel" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup" + }, { "$ref": "#/definitions/AWS::MediaStore::Container" }, From 40703191771425b3519128027478cf740d10f2d9 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 1 Nov 2020 22:38:15 +0400 Subject: [PATCH 53/57] fix(schema): CloudFormation Updates (#330) Co-authored-by: Paul Maddox --- cloudformation/all.go | 152 +++ .../dlm/aws-dlm-lifecyclepolicy_parameters.go | 5 + .../ec2/aws-ec2-clientvpnendpoint.go | 5 + ...endpoint_federatedauthenticationrequest.go | 5 + .../ec2/aws-ec2-vpcendpointservice.go | 5 - .../aws-globalaccelerator-endpointgroup.go | 5 + ...laccelerator-endpointgroup_portoverride.go | 40 + .../iotsitewise/aws-iotsitewise-asset.go | 127 ++ .../aws-iotsitewise-asset_assethierarchy.go | 40 + .../aws-iotsitewise-asset_assetproperty.go | 45 + .../iotsitewise/aws-iotsitewise-assetmodel.go | 127 ++ ...sitewise-assetmodel_assetmodelhierarchy.go | 45 + ...tsitewise-assetmodel_assetmodelproperty.go | 55 + .../aws-iotsitewise-assetmodel_attribute.go | 35 + ...tsitewise-assetmodel_expressionvariable.go | 40 + .../aws-iotsitewise-assetmodel_metric.go | 45 + ...aws-iotsitewise-assetmodel_metricwindow.go | 35 + ...aws-iotsitewise-assetmodel_propertytype.go | 50 + .../aws-iotsitewise-assetmodel_transform.go | 40 + ...s-iotsitewise-assetmodel_tumblingwindow.go | 35 + ...ws-iotsitewise-assetmodel_variablevalue.go | 40 + .../iotsitewise/aws-iotsitewise-gateway.go | 122 ++ ...tewise-gateway_gatewaycapabilitysummary.go | 40 + ...aws-iotsitewise-gateway_gatewayplatform.go | 35 + .../aws-iotsitewise-gateway_greengrass.go | 35 + cloudformation/ivs/aws-ivs-channel.go | 127 ++ cloudformation/ivs/aws-ivs-playbackkeypair.go | 117 ++ cloudformation/ivs/aws-ivs-streamkey.go | 112 ++ .../aws-lakeformation-datalakesettings.go | 5 + ...mediapackage-originendpoint_dashpackage.go | 2 +- ...mediapackage-originendpoint_hlsmanifest.go | 2 +- ...-mediapackage-originendpoint_hlspackage.go | 2 +- .../aws-s3-bucket_sourceselectioncriteria.go | 5 - schema/cloudformation.go | 1080 ++++++++++++++--- schema/cloudformation.schema.json | 1080 ++++++++++++++--- schema/sam.go | 1080 ++++++++++++++--- schema/sam.schema.json | 1080 ++++++++++++++--- 37 files changed, 5191 insertions(+), 709 deletions(-) create mode 100644 cloudformation/globalaccelerator/aws-globalaccelerator-endpointgroup_portoverride.go create mode 100644 cloudformation/iotsitewise/aws-iotsitewise-asset.go create mode 100644 cloudformation/iotsitewise/aws-iotsitewise-asset_assethierarchy.go create mode 100644 cloudformation/iotsitewise/aws-iotsitewise-asset_assetproperty.go create mode 100644 cloudformation/iotsitewise/aws-iotsitewise-assetmodel.go create mode 100644 cloudformation/iotsitewise/aws-iotsitewise-assetmodel_assetmodelhierarchy.go create mode 100644 cloudformation/iotsitewise/aws-iotsitewise-assetmodel_assetmodelproperty.go create mode 100644 cloudformation/iotsitewise/aws-iotsitewise-assetmodel_attribute.go create mode 100644 cloudformation/iotsitewise/aws-iotsitewise-assetmodel_expressionvariable.go create mode 100644 cloudformation/iotsitewise/aws-iotsitewise-assetmodel_metric.go create mode 100644 cloudformation/iotsitewise/aws-iotsitewise-assetmodel_metricwindow.go create mode 100644 cloudformation/iotsitewise/aws-iotsitewise-assetmodel_propertytype.go create mode 100644 cloudformation/iotsitewise/aws-iotsitewise-assetmodel_transform.go create mode 100644 cloudformation/iotsitewise/aws-iotsitewise-assetmodel_tumblingwindow.go create mode 100644 cloudformation/iotsitewise/aws-iotsitewise-assetmodel_variablevalue.go create mode 100644 cloudformation/iotsitewise/aws-iotsitewise-gateway.go create mode 100644 cloudformation/iotsitewise/aws-iotsitewise-gateway_gatewaycapabilitysummary.go create mode 100644 cloudformation/iotsitewise/aws-iotsitewise-gateway_gatewayplatform.go create mode 100644 cloudformation/iotsitewise/aws-iotsitewise-gateway_greengrass.go create mode 100644 cloudformation/ivs/aws-ivs-channel.go create mode 100644 cloudformation/ivs/aws-ivs-playbackkeypair.go create mode 100644 cloudformation/ivs/aws-ivs-streamkey.go diff --git a/cloudformation/all.go b/cloudformation/all.go index e979c4c2a3..550fd7e95f 100644 --- a/cloudformation/all.go +++ b/cloudformation/all.go @@ -78,7 +78,9 @@ import ( "github.com/awslabs/goformation/v4/cloudformation/iot1click" "github.com/awslabs/goformation/v4/cloudformation/iotanalytics" "github.com/awslabs/goformation/v4/cloudformation/iotevents" + "github.com/awslabs/goformation/v4/cloudformation/iotsitewise" "github.com/awslabs/goformation/v4/cloudformation/iotthingsgraph" + "github.com/awslabs/goformation/v4/cloudformation/ivs" "github.com/awslabs/goformation/v4/cloudformation/kendra" "github.com/awslabs/goformation/v4/cloudformation/kinesis" "github.com/awslabs/goformation/v4/cloudformation/kinesisanalytics" @@ -470,6 +472,9 @@ func AllResources() map[string]Resource { "AWS::IAM::ServiceLinkedRole": &iam.ServiceLinkedRole{}, "AWS::IAM::User": &iam.User{}, "AWS::IAM::UserToGroupAddition": &iam.UserToGroupAddition{}, + "AWS::IVS::Channel": &ivs.Channel{}, + "AWS::IVS::PlaybackKeyPair": &ivs.PlaybackKeyPair{}, + "AWS::IVS::StreamKey": &ivs.StreamKey{}, "AWS::ImageBuilder::Component": &imagebuilder.Component{}, "AWS::ImageBuilder::DistributionConfiguration": &imagebuilder.DistributionConfiguration{}, "AWS::ImageBuilder::Image": &imagebuilder.Image{}, @@ -496,6 +501,9 @@ func AllResources() map[string]Resource { "AWS::IoTAnalytics::Pipeline": &iotanalytics.Pipeline{}, "AWS::IoTEvents::DetectorModel": &iotevents.DetectorModel{}, "AWS::IoTEvents::Input": &iotevents.Input{}, + "AWS::IoTSiteWise::Asset": &iotsitewise.Asset{}, + "AWS::IoTSiteWise::AssetModel": &iotsitewise.AssetModel{}, + "AWS::IoTSiteWise::Gateway": &iotsitewise.Gateway{}, "AWS::IoTThingsGraph::FlowTemplate": &iotthingsgraph.FlowTemplate{}, "AWS::KMS::Alias": &kms.Alias{}, "AWS::KMS::Key": &kms.Key{}, @@ -8762,6 +8770,78 @@ func (t *Template) GetIAMUserToGroupAdditionWithName(name string) (*iam.UserToGr return nil, fmt.Errorf("resource %q of type iam.UserToGroupAddition not found", name) } +// GetAllIVSChannelResources retrieves all ivs.Channel items from an AWS CloudFormation template +func (t *Template) GetAllIVSChannelResources() map[string]*ivs.Channel { + results := map[string]*ivs.Channel{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ivs.Channel: + results[name] = resource + } + } + return results +} + +// GetIVSChannelWithName retrieves all ivs.Channel items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetIVSChannelWithName(name string) (*ivs.Channel, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ivs.Channel: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ivs.Channel not found", name) +} + +// GetAllIVSPlaybackKeyPairResources retrieves all ivs.PlaybackKeyPair items from an AWS CloudFormation template +func (t *Template) GetAllIVSPlaybackKeyPairResources() map[string]*ivs.PlaybackKeyPair { + results := map[string]*ivs.PlaybackKeyPair{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ivs.PlaybackKeyPair: + results[name] = resource + } + } + return results +} + +// GetIVSPlaybackKeyPairWithName retrieves all ivs.PlaybackKeyPair items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetIVSPlaybackKeyPairWithName(name string) (*ivs.PlaybackKeyPair, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ivs.PlaybackKeyPair: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ivs.PlaybackKeyPair not found", name) +} + +// GetAllIVSStreamKeyResources retrieves all ivs.StreamKey items from an AWS CloudFormation template +func (t *Template) GetAllIVSStreamKeyResources() map[string]*ivs.StreamKey { + results := map[string]*ivs.StreamKey{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ivs.StreamKey: + results[name] = resource + } + } + return results +} + +// GetIVSStreamKeyWithName retrieves all ivs.StreamKey items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetIVSStreamKeyWithName(name string) (*ivs.StreamKey, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ivs.StreamKey: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ivs.StreamKey not found", name) +} + // GetAllImageBuilderComponentResources retrieves all imagebuilder.Component items from an AWS CloudFormation template func (t *Template) GetAllImageBuilderComponentResources() map[string]*imagebuilder.Component { results := map[string]*imagebuilder.Component{} @@ -9386,6 +9466,78 @@ func (t *Template) GetIoTEventsInputWithName(name string) (*iotevents.Input, err return nil, fmt.Errorf("resource %q of type iotevents.Input not found", name) } +// GetAllIoTSiteWiseAssetResources retrieves all iotsitewise.Asset items from an AWS CloudFormation template +func (t *Template) GetAllIoTSiteWiseAssetResources() map[string]*iotsitewise.Asset { + results := map[string]*iotsitewise.Asset{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *iotsitewise.Asset: + results[name] = resource + } + } + return results +} + +// GetIoTSiteWiseAssetWithName retrieves all iotsitewise.Asset items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetIoTSiteWiseAssetWithName(name string) (*iotsitewise.Asset, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *iotsitewise.Asset: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type iotsitewise.Asset not found", name) +} + +// GetAllIoTSiteWiseAssetModelResources retrieves all iotsitewise.AssetModel items from an AWS CloudFormation template +func (t *Template) GetAllIoTSiteWiseAssetModelResources() map[string]*iotsitewise.AssetModel { + results := map[string]*iotsitewise.AssetModel{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *iotsitewise.AssetModel: + results[name] = resource + } + } + return results +} + +// GetIoTSiteWiseAssetModelWithName retrieves all iotsitewise.AssetModel items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetIoTSiteWiseAssetModelWithName(name string) (*iotsitewise.AssetModel, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *iotsitewise.AssetModel: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type iotsitewise.AssetModel not found", name) +} + +// GetAllIoTSiteWiseGatewayResources retrieves all iotsitewise.Gateway items from an AWS CloudFormation template +func (t *Template) GetAllIoTSiteWiseGatewayResources() map[string]*iotsitewise.Gateway { + results := map[string]*iotsitewise.Gateway{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *iotsitewise.Gateway: + results[name] = resource + } + } + return results +} + +// GetIoTSiteWiseGatewayWithName retrieves all iotsitewise.Gateway items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetIoTSiteWiseGatewayWithName(name string) (*iotsitewise.Gateway, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *iotsitewise.Gateway: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type iotsitewise.Gateway not found", name) +} + // GetAllIoTThingsGraphFlowTemplateResources retrieves all iotthingsgraph.FlowTemplate items from an AWS CloudFormation template func (t *Template) GetAllIoTThingsGraphFlowTemplateResources() map[string]*iotthingsgraph.FlowTemplate { results := map[string]*iotthingsgraph.FlowTemplate{} diff --git a/cloudformation/dlm/aws-dlm-lifecyclepolicy_parameters.go b/cloudformation/dlm/aws-dlm-lifecyclepolicy_parameters.go index 1d0709372e..664f70e87b 100644 --- a/cloudformation/dlm/aws-dlm-lifecyclepolicy_parameters.go +++ b/cloudformation/dlm/aws-dlm-lifecyclepolicy_parameters.go @@ -13,6 +13,11 @@ type LifecyclePolicy_Parameters struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-parameters.html#cfn-dlm-lifecyclepolicy-parameters-excludebootvolume ExcludeBootVolume bool `json:"ExcludeBootVolume,omitempty"` + // NoReboot AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-parameters.html#cfn-dlm-lifecyclepolicy-parameters-noreboot + NoReboot bool `json:"NoReboot,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-clientvpnendpoint.go b/cloudformation/ec2/aws-ec2-clientvpnendpoint.go index 9396cc7bac..05cdeb7797 100644 --- a/cloudformation/ec2/aws-ec2-clientvpnendpoint.go +++ b/cloudformation/ec2/aws-ec2-clientvpnendpoint.go @@ -42,6 +42,11 @@ type ClientVpnEndpoint struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-securitygroupids SecurityGroupIds []string `json:"SecurityGroupIds,omitempty"` + // SelfServicePortal AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-selfserviceportal + SelfServicePortal string `json:"SelfServicePortal,omitempty"` + // ServerCertificateArn AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-servercertificatearn diff --git a/cloudformation/ec2/aws-ec2-clientvpnendpoint_federatedauthenticationrequest.go b/cloudformation/ec2/aws-ec2-clientvpnendpoint_federatedauthenticationrequest.go index 6ca623a75e..8d5a73baa0 100644 --- a/cloudformation/ec2/aws-ec2-clientvpnendpoint_federatedauthenticationrequest.go +++ b/cloudformation/ec2/aws-ec2-clientvpnendpoint_federatedauthenticationrequest.go @@ -13,6 +13,11 @@ type ClientVpnEndpoint_FederatedAuthenticationRequest struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-federatedauthenticationrequest.html#cfn-ec2-clientvpnendpoint-federatedauthenticationrequest-samlproviderarn SAMLProviderArn string `json:"SAMLProviderArn,omitempty"` + // SelfServiceSAMLProviderArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-federatedauthenticationrequest.html#cfn-ec2-clientvpnendpoint-federatedauthenticationrequest-selfservicesamlproviderarn + SelfServiceSAMLProviderArn string `json:"SelfServiceSAMLProviderArn,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-vpcendpointservice.go b/cloudformation/ec2/aws-ec2-vpcendpointservice.go index 849484108d..31fa9cc250 100644 --- a/cloudformation/ec2/aws-ec2-vpcendpointservice.go +++ b/cloudformation/ec2/aws-ec2-vpcendpointservice.go @@ -17,11 +17,6 @@ type VPCEndpointService struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservice.html#cfn-ec2-vpcendpointservice-acceptancerequired AcceptanceRequired bool `json:"AcceptanceRequired,omitempty"` - // ApplianceLoadBalancerArns AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservice.html#cfn-ec2-vpcendpointservice-applianceloadbalancerarns - ApplianceLoadBalancerArns []string `json:"ApplianceLoadBalancerArns,omitempty"` - // NetworkLoadBalancerArns AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservice.html#cfn-ec2-vpcendpointservice-networkloadbalancerarns diff --git a/cloudformation/globalaccelerator/aws-globalaccelerator-endpointgroup.go b/cloudformation/globalaccelerator/aws-globalaccelerator-endpointgroup.go index f50d6f6406..97005e014e 100644 --- a/cloudformation/globalaccelerator/aws-globalaccelerator-endpointgroup.go +++ b/cloudformation/globalaccelerator/aws-globalaccelerator-endpointgroup.go @@ -47,6 +47,11 @@ type EndpointGroup struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html#cfn-globalaccelerator-endpointgroup-listenerarn ListenerArn string `json:"ListenerArn,omitempty"` + // PortOverrides AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html#cfn-globalaccelerator-endpointgroup-portoverrides + PortOverrides []EndpointGroup_PortOverride `json:"PortOverrides,omitempty"` + // ThresholdCount AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html#cfn-globalaccelerator-endpointgroup-thresholdcount diff --git a/cloudformation/globalaccelerator/aws-globalaccelerator-endpointgroup_portoverride.go b/cloudformation/globalaccelerator/aws-globalaccelerator-endpointgroup_portoverride.go new file mode 100644 index 0000000000..cba0620a19 --- /dev/null +++ b/cloudformation/globalaccelerator/aws-globalaccelerator-endpointgroup_portoverride.go @@ -0,0 +1,40 @@ +package globalaccelerator + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// EndpointGroup_PortOverride AWS CloudFormation Resource (AWS::GlobalAccelerator::EndpointGroup.PortOverride) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-globalaccelerator-endpointgroup-portoverride.html +type EndpointGroup_PortOverride struct { + + // EndpointPort AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-globalaccelerator-endpointgroup-portoverride.html#cfn-globalaccelerator-endpointgroup-portoverride-endpointport + EndpointPort int `json:"EndpointPort"` + + // ListenerPort AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-globalaccelerator-endpointgroup-portoverride.html#cfn-globalaccelerator-endpointgroup-portoverride-listenerport + ListenerPort int `json:"ListenerPort"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *EndpointGroup_PortOverride) AWSCloudFormationType() string { + return "AWS::GlobalAccelerator::EndpointGroup.PortOverride" +} diff --git a/cloudformation/iotsitewise/aws-iotsitewise-asset.go b/cloudformation/iotsitewise/aws-iotsitewise-asset.go new file mode 100644 index 0000000000..f15b680501 --- /dev/null +++ b/cloudformation/iotsitewise/aws-iotsitewise-asset.go @@ -0,0 +1,127 @@ +package iotsitewise + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// Asset AWS CloudFormation Resource (AWS::IoTSiteWise::Asset) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-asset.html +type Asset struct { + + // AssetHierarchies AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-asset.html#cfn-iotsitewise-asset-assethierarchies + AssetHierarchies []Asset_AssetHierarchy `json:"AssetHierarchies,omitempty"` + + // AssetModelId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-asset.html#cfn-iotsitewise-asset-assetmodelid + AssetModelId string `json:"AssetModelId,omitempty"` + + // AssetName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-asset.html#cfn-iotsitewise-asset-assetname + AssetName string `json:"AssetName,omitempty"` + + // AssetProperties AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-asset.html#cfn-iotsitewise-asset-assetproperties + AssetProperties []Asset_AssetProperty `json:"AssetProperties,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-asset.html#cfn-iotsitewise-asset-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Asset) AWSCloudFormationType() string { + return "AWS::IoTSiteWise::Asset" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r Asset) MarshalJSON() ([]byte, error) { + type Properties Asset + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *Asset) UnmarshalJSON(b []byte) error { + type Properties Asset + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = Asset(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/iotsitewise/aws-iotsitewise-asset_assethierarchy.go b/cloudformation/iotsitewise/aws-iotsitewise-asset_assethierarchy.go new file mode 100644 index 0000000000..f8e299a102 --- /dev/null +++ b/cloudformation/iotsitewise/aws-iotsitewise-asset_assethierarchy.go @@ -0,0 +1,40 @@ +package iotsitewise + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Asset_AssetHierarchy AWS CloudFormation Resource (AWS::IoTSiteWise::Asset.AssetHierarchy) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-asset-assethierarchy.html +type Asset_AssetHierarchy struct { + + // ChildAssetId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-asset-assethierarchy.html#cfn-iotsitewise-asset-assethierarchy-childassetid + ChildAssetId string `json:"ChildAssetId,omitempty"` + + // LogicalId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-asset-assethierarchy.html#cfn-iotsitewise-asset-assethierarchy-logicalid + LogicalId string `json:"LogicalId,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Asset_AssetHierarchy) AWSCloudFormationType() string { + return "AWS::IoTSiteWise::Asset.AssetHierarchy" +} diff --git a/cloudformation/iotsitewise/aws-iotsitewise-asset_assetproperty.go b/cloudformation/iotsitewise/aws-iotsitewise-asset_assetproperty.go new file mode 100644 index 0000000000..818de18686 --- /dev/null +++ b/cloudformation/iotsitewise/aws-iotsitewise-asset_assetproperty.go @@ -0,0 +1,45 @@ +package iotsitewise + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Asset_AssetProperty AWS CloudFormation Resource (AWS::IoTSiteWise::Asset.AssetProperty) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-asset-assetproperty.html +type Asset_AssetProperty struct { + + // Alias AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-asset-assetproperty.html#cfn-iotsitewise-asset-assetproperty-alias + Alias string `json:"Alias,omitempty"` + + // LogicalId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-asset-assetproperty.html#cfn-iotsitewise-asset-assetproperty-logicalid + LogicalId string `json:"LogicalId,omitempty"` + + // NotificationState AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-asset-assetproperty.html#cfn-iotsitewise-asset-assetproperty-notificationstate + NotificationState string `json:"NotificationState,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Asset_AssetProperty) AWSCloudFormationType() string { + return "AWS::IoTSiteWise::Asset.AssetProperty" +} diff --git a/cloudformation/iotsitewise/aws-iotsitewise-assetmodel.go b/cloudformation/iotsitewise/aws-iotsitewise-assetmodel.go new file mode 100644 index 0000000000..81fcdb5c17 --- /dev/null +++ b/cloudformation/iotsitewise/aws-iotsitewise-assetmodel.go @@ -0,0 +1,127 @@ +package iotsitewise + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// AssetModel AWS CloudFormation Resource (AWS::IoTSiteWise::AssetModel) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-assetmodel.html +type AssetModel struct { + + // AssetModelDescription AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-assetmodel.html#cfn-iotsitewise-assetmodel-assetmodeldescription + AssetModelDescription string `json:"AssetModelDescription,omitempty"` + + // AssetModelHierarchies AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-assetmodel.html#cfn-iotsitewise-assetmodel-assetmodelhierarchies + AssetModelHierarchies []AssetModel_AssetModelHierarchy `json:"AssetModelHierarchies,omitempty"` + + // AssetModelName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-assetmodel.html#cfn-iotsitewise-assetmodel-assetmodelname + AssetModelName string `json:"AssetModelName,omitempty"` + + // AssetModelProperties AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-assetmodel.html#cfn-iotsitewise-assetmodel-assetmodelproperties + AssetModelProperties []AssetModel_AssetModelProperty `json:"AssetModelProperties,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-assetmodel.html#cfn-iotsitewise-assetmodel-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AssetModel) AWSCloudFormationType() string { + return "AWS::IoTSiteWise::AssetModel" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r AssetModel) MarshalJSON() ([]byte, error) { + type Properties AssetModel + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *AssetModel) UnmarshalJSON(b []byte) error { + type Properties AssetModel + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = AssetModel(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/iotsitewise/aws-iotsitewise-assetmodel_assetmodelhierarchy.go b/cloudformation/iotsitewise/aws-iotsitewise-assetmodel_assetmodelhierarchy.go new file mode 100644 index 0000000000..33086f7e78 --- /dev/null +++ b/cloudformation/iotsitewise/aws-iotsitewise-assetmodel_assetmodelhierarchy.go @@ -0,0 +1,45 @@ +package iotsitewise + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// AssetModel_AssetModelHierarchy AWS CloudFormation Resource (AWS::IoTSiteWise::AssetModel.AssetModelHierarchy) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-assetmodelhierarchy.html +type AssetModel_AssetModelHierarchy struct { + + // ChildAssetModelId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-assetmodelhierarchy.html#cfn-iotsitewise-assetmodel-assetmodelhierarchy-childassetmodelid + ChildAssetModelId string `json:"ChildAssetModelId,omitempty"` + + // LogicalId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-assetmodelhierarchy.html#cfn-iotsitewise-assetmodel-assetmodelhierarchy-logicalid + LogicalId string `json:"LogicalId,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-assetmodelhierarchy.html#cfn-iotsitewise-assetmodel-assetmodelhierarchy-name + Name string `json:"Name,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AssetModel_AssetModelHierarchy) AWSCloudFormationType() string { + return "AWS::IoTSiteWise::AssetModel.AssetModelHierarchy" +} diff --git a/cloudformation/iotsitewise/aws-iotsitewise-assetmodel_assetmodelproperty.go b/cloudformation/iotsitewise/aws-iotsitewise-assetmodel_assetmodelproperty.go new file mode 100644 index 0000000000..241a4b9c77 --- /dev/null +++ b/cloudformation/iotsitewise/aws-iotsitewise-assetmodel_assetmodelproperty.go @@ -0,0 +1,55 @@ +package iotsitewise + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// AssetModel_AssetModelProperty AWS CloudFormation Resource (AWS::IoTSiteWise::AssetModel.AssetModelProperty) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-assetmodelproperty.html +type AssetModel_AssetModelProperty struct { + + // DataType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-assetmodelproperty.html#cfn-iotsitewise-assetmodel-assetmodelproperty-datatype + DataType string `json:"DataType,omitempty"` + + // LogicalId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-assetmodelproperty.html#cfn-iotsitewise-assetmodel-assetmodelproperty-logicalid + LogicalId string `json:"LogicalId,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-assetmodelproperty.html#cfn-iotsitewise-assetmodel-assetmodelproperty-name + Name string `json:"Name,omitempty"` + + // Type AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-assetmodelproperty.html#cfn-iotsitewise-assetmodel-assetmodelproperty-type + Type *AssetModel_PropertyType `json:"Type,omitempty"` + + // Unit AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-assetmodelproperty.html#cfn-iotsitewise-assetmodel-assetmodelproperty-unit + Unit string `json:"Unit,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AssetModel_AssetModelProperty) AWSCloudFormationType() string { + return "AWS::IoTSiteWise::AssetModel.AssetModelProperty" +} diff --git a/cloudformation/iotsitewise/aws-iotsitewise-assetmodel_attribute.go b/cloudformation/iotsitewise/aws-iotsitewise-assetmodel_attribute.go new file mode 100644 index 0000000000..85798383e5 --- /dev/null +++ b/cloudformation/iotsitewise/aws-iotsitewise-assetmodel_attribute.go @@ -0,0 +1,35 @@ +package iotsitewise + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// AssetModel_Attribute AWS CloudFormation Resource (AWS::IoTSiteWise::AssetModel.Attribute) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-attribute.html +type AssetModel_Attribute struct { + + // DefaultValue AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-attribute.html#cfn-iotsitewise-assetmodel-attribute-defaultvalue + DefaultValue string `json:"DefaultValue,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AssetModel_Attribute) AWSCloudFormationType() string { + return "AWS::IoTSiteWise::AssetModel.Attribute" +} diff --git a/cloudformation/iotsitewise/aws-iotsitewise-assetmodel_expressionvariable.go b/cloudformation/iotsitewise/aws-iotsitewise-assetmodel_expressionvariable.go new file mode 100644 index 0000000000..5dd73b6cb3 --- /dev/null +++ b/cloudformation/iotsitewise/aws-iotsitewise-assetmodel_expressionvariable.go @@ -0,0 +1,40 @@ +package iotsitewise + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// AssetModel_ExpressionVariable AWS CloudFormation Resource (AWS::IoTSiteWise::AssetModel.ExpressionVariable) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-expressionvariable.html +type AssetModel_ExpressionVariable struct { + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-expressionvariable.html#cfn-iotsitewise-assetmodel-expressionvariable-name + Name string `json:"Name,omitempty"` + + // Value AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-expressionvariable.html#cfn-iotsitewise-assetmodel-expressionvariable-value + Value *AssetModel_VariableValue `json:"Value,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AssetModel_ExpressionVariable) AWSCloudFormationType() string { + return "AWS::IoTSiteWise::AssetModel.ExpressionVariable" +} diff --git a/cloudformation/iotsitewise/aws-iotsitewise-assetmodel_metric.go b/cloudformation/iotsitewise/aws-iotsitewise-assetmodel_metric.go new file mode 100644 index 0000000000..f143acedec --- /dev/null +++ b/cloudformation/iotsitewise/aws-iotsitewise-assetmodel_metric.go @@ -0,0 +1,45 @@ +package iotsitewise + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// AssetModel_Metric AWS CloudFormation Resource (AWS::IoTSiteWise::AssetModel.Metric) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-metric.html +type AssetModel_Metric struct { + + // Expression AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-metric.html#cfn-iotsitewise-assetmodel-metric-expression + Expression string `json:"Expression,omitempty"` + + // Variables AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-metric.html#cfn-iotsitewise-assetmodel-metric-variables + Variables []AssetModel_ExpressionVariable `json:"Variables,omitempty"` + + // Window AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-metric.html#cfn-iotsitewise-assetmodel-metric-window + Window *AssetModel_MetricWindow `json:"Window,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AssetModel_Metric) AWSCloudFormationType() string { + return "AWS::IoTSiteWise::AssetModel.Metric" +} diff --git a/cloudformation/iotsitewise/aws-iotsitewise-assetmodel_metricwindow.go b/cloudformation/iotsitewise/aws-iotsitewise-assetmodel_metricwindow.go new file mode 100644 index 0000000000..3b4aa77f92 --- /dev/null +++ b/cloudformation/iotsitewise/aws-iotsitewise-assetmodel_metricwindow.go @@ -0,0 +1,35 @@ +package iotsitewise + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// AssetModel_MetricWindow AWS CloudFormation Resource (AWS::IoTSiteWise::AssetModel.MetricWindow) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-metricwindow.html +type AssetModel_MetricWindow struct { + + // Tumbling AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-metricwindow.html#cfn-iotsitewise-assetmodel-metricwindow-tumbling + Tumbling *AssetModel_TumblingWindow `json:"Tumbling,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AssetModel_MetricWindow) AWSCloudFormationType() string { + return "AWS::IoTSiteWise::AssetModel.MetricWindow" +} diff --git a/cloudformation/iotsitewise/aws-iotsitewise-assetmodel_propertytype.go b/cloudformation/iotsitewise/aws-iotsitewise-assetmodel_propertytype.go new file mode 100644 index 0000000000..52053c2290 --- /dev/null +++ b/cloudformation/iotsitewise/aws-iotsitewise-assetmodel_propertytype.go @@ -0,0 +1,50 @@ +package iotsitewise + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// AssetModel_PropertyType AWS CloudFormation Resource (AWS::IoTSiteWise::AssetModel.PropertyType) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-propertytype.html +type AssetModel_PropertyType struct { + + // Attribute AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-propertytype.html#cfn-iotsitewise-assetmodel-propertytype-attribute + Attribute *AssetModel_Attribute `json:"Attribute,omitempty"` + + // Metric AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-propertytype.html#cfn-iotsitewise-assetmodel-propertytype-metric + Metric *AssetModel_Metric `json:"Metric,omitempty"` + + // Transform AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-propertytype.html#cfn-iotsitewise-assetmodel-propertytype-transform + Transform *AssetModel_Transform `json:"Transform,omitempty"` + + // TypeName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-propertytype.html#cfn-iotsitewise-assetmodel-propertytype-typename + TypeName string `json:"TypeName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AssetModel_PropertyType) AWSCloudFormationType() string { + return "AWS::IoTSiteWise::AssetModel.PropertyType" +} diff --git a/cloudformation/iotsitewise/aws-iotsitewise-assetmodel_transform.go b/cloudformation/iotsitewise/aws-iotsitewise-assetmodel_transform.go new file mode 100644 index 0000000000..139102fdcf --- /dev/null +++ b/cloudformation/iotsitewise/aws-iotsitewise-assetmodel_transform.go @@ -0,0 +1,40 @@ +package iotsitewise + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// AssetModel_Transform AWS CloudFormation Resource (AWS::IoTSiteWise::AssetModel.Transform) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-transform.html +type AssetModel_Transform struct { + + // Expression AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-transform.html#cfn-iotsitewise-assetmodel-transform-expression + Expression string `json:"Expression,omitempty"` + + // Variables AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-transform.html#cfn-iotsitewise-assetmodel-transform-variables + Variables []AssetModel_ExpressionVariable `json:"Variables,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AssetModel_Transform) AWSCloudFormationType() string { + return "AWS::IoTSiteWise::AssetModel.Transform" +} diff --git a/cloudformation/iotsitewise/aws-iotsitewise-assetmodel_tumblingwindow.go b/cloudformation/iotsitewise/aws-iotsitewise-assetmodel_tumblingwindow.go new file mode 100644 index 0000000000..92c24c0e20 --- /dev/null +++ b/cloudformation/iotsitewise/aws-iotsitewise-assetmodel_tumblingwindow.go @@ -0,0 +1,35 @@ +package iotsitewise + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// AssetModel_TumblingWindow AWS CloudFormation Resource (AWS::IoTSiteWise::AssetModel.TumblingWindow) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-tumblingwindow.html +type AssetModel_TumblingWindow struct { + + // Interval AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-tumblingwindow.html#cfn-iotsitewise-assetmodel-tumblingwindow-interval + Interval string `json:"Interval,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AssetModel_TumblingWindow) AWSCloudFormationType() string { + return "AWS::IoTSiteWise::AssetModel.TumblingWindow" +} diff --git a/cloudformation/iotsitewise/aws-iotsitewise-assetmodel_variablevalue.go b/cloudformation/iotsitewise/aws-iotsitewise-assetmodel_variablevalue.go new file mode 100644 index 0000000000..c4a2326a30 --- /dev/null +++ b/cloudformation/iotsitewise/aws-iotsitewise-assetmodel_variablevalue.go @@ -0,0 +1,40 @@ +package iotsitewise + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// AssetModel_VariableValue AWS CloudFormation Resource (AWS::IoTSiteWise::AssetModel.VariableValue) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-variablevalue.html +type AssetModel_VariableValue struct { + + // HierarchyLogicalId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-variablevalue.html#cfn-iotsitewise-assetmodel-variablevalue-hierarchylogicalid + HierarchyLogicalId string `json:"HierarchyLogicalId,omitempty"` + + // PropertyLogicalId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-variablevalue.html#cfn-iotsitewise-assetmodel-variablevalue-propertylogicalid + PropertyLogicalId string `json:"PropertyLogicalId,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AssetModel_VariableValue) AWSCloudFormationType() string { + return "AWS::IoTSiteWise::AssetModel.VariableValue" +} diff --git a/cloudformation/iotsitewise/aws-iotsitewise-gateway.go b/cloudformation/iotsitewise/aws-iotsitewise-gateway.go new file mode 100644 index 0000000000..8c7d1b99dc --- /dev/null +++ b/cloudformation/iotsitewise/aws-iotsitewise-gateway.go @@ -0,0 +1,122 @@ +package iotsitewise + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// Gateway AWS CloudFormation Resource (AWS::IoTSiteWise::Gateway) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-gateway.html +type Gateway struct { + + // GatewayCapabilitySummaries AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-gateway.html#cfn-iotsitewise-gateway-gatewaycapabilitysummaries + GatewayCapabilitySummaries []Gateway_GatewayCapabilitySummary `json:"GatewayCapabilitySummaries,omitempty"` + + // GatewayName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-gateway.html#cfn-iotsitewise-gateway-gatewayname + GatewayName string `json:"GatewayName,omitempty"` + + // GatewayPlatform AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-gateway.html#cfn-iotsitewise-gateway-gatewayplatform + GatewayPlatform *Gateway_GatewayPlatform `json:"GatewayPlatform,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-gateway.html#cfn-iotsitewise-gateway-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Gateway) AWSCloudFormationType() string { + return "AWS::IoTSiteWise::Gateway" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r Gateway) MarshalJSON() ([]byte, error) { + type Properties Gateway + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *Gateway) UnmarshalJSON(b []byte) error { + type Properties Gateway + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = Gateway(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/iotsitewise/aws-iotsitewise-gateway_gatewaycapabilitysummary.go b/cloudformation/iotsitewise/aws-iotsitewise-gateway_gatewaycapabilitysummary.go new file mode 100644 index 0000000000..8e7adfb548 --- /dev/null +++ b/cloudformation/iotsitewise/aws-iotsitewise-gateway_gatewaycapabilitysummary.go @@ -0,0 +1,40 @@ +package iotsitewise + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Gateway_GatewayCapabilitySummary AWS CloudFormation Resource (AWS::IoTSiteWise::Gateway.GatewayCapabilitySummary) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-gateway-gatewaycapabilitysummary.html +type Gateway_GatewayCapabilitySummary struct { + + // CapabilityConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-gateway-gatewaycapabilitysummary.html#cfn-iotsitewise-gateway-gatewaycapabilitysummary-capabilityconfiguration + CapabilityConfiguration string `json:"CapabilityConfiguration,omitempty"` + + // CapabilityNamespace AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-gateway-gatewaycapabilitysummary.html#cfn-iotsitewise-gateway-gatewaycapabilitysummary-capabilitynamespace + CapabilityNamespace string `json:"CapabilityNamespace,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Gateway_GatewayCapabilitySummary) AWSCloudFormationType() string { + return "AWS::IoTSiteWise::Gateway.GatewayCapabilitySummary" +} diff --git a/cloudformation/iotsitewise/aws-iotsitewise-gateway_gatewayplatform.go b/cloudformation/iotsitewise/aws-iotsitewise-gateway_gatewayplatform.go new file mode 100644 index 0000000000..551e266146 --- /dev/null +++ b/cloudformation/iotsitewise/aws-iotsitewise-gateway_gatewayplatform.go @@ -0,0 +1,35 @@ +package iotsitewise + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Gateway_GatewayPlatform AWS CloudFormation Resource (AWS::IoTSiteWise::Gateway.GatewayPlatform) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-gateway-gatewayplatform.html +type Gateway_GatewayPlatform struct { + + // Greengrass AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-gateway-gatewayplatform.html#cfn-iotsitewise-gateway-gatewayplatform-greengrass + Greengrass *Gateway_Greengrass `json:"Greengrass,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Gateway_GatewayPlatform) AWSCloudFormationType() string { + return "AWS::IoTSiteWise::Gateway.GatewayPlatform" +} diff --git a/cloudformation/iotsitewise/aws-iotsitewise-gateway_greengrass.go b/cloudformation/iotsitewise/aws-iotsitewise-gateway_greengrass.go new file mode 100644 index 0000000000..2096d2c9b1 --- /dev/null +++ b/cloudformation/iotsitewise/aws-iotsitewise-gateway_greengrass.go @@ -0,0 +1,35 @@ +package iotsitewise + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Gateway_Greengrass AWS CloudFormation Resource (AWS::IoTSiteWise::Gateway.Greengrass) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-gateway-greengrass.html +type Gateway_Greengrass struct { + + // GroupArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-gateway-greengrass.html#cfn-iotsitewise-gateway-greengrass-grouparn + GroupArn string `json:"GroupArn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Gateway_Greengrass) AWSCloudFormationType() string { + return "AWS::IoTSiteWise::Gateway.Greengrass" +} diff --git a/cloudformation/ivs/aws-ivs-channel.go b/cloudformation/ivs/aws-ivs-channel.go new file mode 100644 index 0000000000..032b73a83c --- /dev/null +++ b/cloudformation/ivs/aws-ivs-channel.go @@ -0,0 +1,127 @@ +package ivs + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// Channel AWS CloudFormation Resource (AWS::IVS::Channel) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-channel.html +type Channel struct { + + // Authorized AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-channel.html#cfn-ivs-channel-authorized + Authorized bool `json:"Authorized,omitempty"` + + // LatencyMode AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-channel.html#cfn-ivs-channel-latencymode + LatencyMode string `json:"LatencyMode,omitempty"` + + // Name AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-channel.html#cfn-ivs-channel-name + Name string `json:"Name,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-channel.html#cfn-ivs-channel-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // Type AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-channel.html#cfn-ivs-channel-type + Type string `json:"Type,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Channel) AWSCloudFormationType() string { + return "AWS::IVS::Channel" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r Channel) MarshalJSON() ([]byte, error) { + type Properties Channel + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *Channel) UnmarshalJSON(b []byte) error { + type Properties Channel + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = Channel(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/ivs/aws-ivs-playbackkeypair.go b/cloudformation/ivs/aws-ivs-playbackkeypair.go new file mode 100644 index 0000000000..d8eb5d1565 --- /dev/null +++ b/cloudformation/ivs/aws-ivs-playbackkeypair.go @@ -0,0 +1,117 @@ +package ivs + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// PlaybackKeyPair AWS CloudFormation Resource (AWS::IVS::PlaybackKeyPair) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-playbackkeypair.html +type PlaybackKeyPair struct { + + // Name AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-playbackkeypair.html#cfn-ivs-playbackkeypair-name + Name string `json:"Name,omitempty"` + + // PublicKeyMaterial AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-playbackkeypair.html#cfn-ivs-playbackkeypair-publickeymaterial + PublicKeyMaterial string `json:"PublicKeyMaterial,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-playbackkeypair.html#cfn-ivs-playbackkeypair-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *PlaybackKeyPair) AWSCloudFormationType() string { + return "AWS::IVS::PlaybackKeyPair" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r PlaybackKeyPair) MarshalJSON() ([]byte, error) { + type Properties PlaybackKeyPair + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *PlaybackKeyPair) UnmarshalJSON(b []byte) error { + type Properties PlaybackKeyPair + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = PlaybackKeyPair(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/ivs/aws-ivs-streamkey.go b/cloudformation/ivs/aws-ivs-streamkey.go new file mode 100644 index 0000000000..60325298d3 --- /dev/null +++ b/cloudformation/ivs/aws-ivs-streamkey.go @@ -0,0 +1,112 @@ +package ivs + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// StreamKey AWS CloudFormation Resource (AWS::IVS::StreamKey) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-streamkey.html +type StreamKey struct { + + // ChannelArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-streamkey.html#cfn-ivs-streamkey-channelarn + ChannelArn string `json:"ChannelArn,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-streamkey.html#cfn-ivs-streamkey-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *StreamKey) AWSCloudFormationType() string { + return "AWS::IVS::StreamKey" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r StreamKey) MarshalJSON() ([]byte, error) { + type Properties StreamKey + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *StreamKey) UnmarshalJSON(b []byte) error { + type Properties StreamKey + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = StreamKey(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/lakeformation/aws-lakeformation-datalakesettings.go b/cloudformation/lakeformation/aws-lakeformation-datalakesettings.go index c6aa3e9c37..36cad9f09a 100644 --- a/cloudformation/lakeformation/aws-lakeformation-datalakesettings.go +++ b/cloudformation/lakeformation/aws-lakeformation-datalakesettings.go @@ -17,6 +17,11 @@ type DataLakeSettings struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-datalakesettings.html#cfn-lakeformation-datalakesettings-admins Admins *DataLakeSettings_Admins `json:"Admins,omitempty"` + // TrustedResourceOwners AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-datalakesettings.html#cfn-lakeformation-datalakesettings-trustedresourceowners + TrustedResourceOwners []string `json:"TrustedResourceOwners,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/mediapackage/aws-mediapackage-originendpoint_dashpackage.go b/cloudformation/mediapackage/aws-mediapackage-originendpoint_dashpackage.go index bfc4af26d6..44b54de88e 100644 --- a/cloudformation/mediapackage/aws-mediapackage-originendpoint_dashpackage.go +++ b/cloudformation/mediapackage/aws-mediapackage-originendpoint_dashpackage.go @@ -11,7 +11,7 @@ type OriginEndpoint_DashPackage struct { // AdTriggers AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashpackage.html#cfn-mediapackage-originendpoint-dashpackage-adtriggers - AdTriggers *OriginEndpoint_AdTriggers `json:"AdTriggers,omitempty"` + AdTriggers []string `json:"AdTriggers,omitempty"` // AdsOnDeliveryRestrictions AWS CloudFormation Property // Required: false diff --git a/cloudformation/mediapackage/aws-mediapackage-originendpoint_hlsmanifest.go b/cloudformation/mediapackage/aws-mediapackage-originendpoint_hlsmanifest.go index 1e905fd3ba..b1518a0434 100644 --- a/cloudformation/mediapackage/aws-mediapackage-originendpoint_hlsmanifest.go +++ b/cloudformation/mediapackage/aws-mediapackage-originendpoint_hlsmanifest.go @@ -16,7 +16,7 @@ type OriginEndpoint_HlsManifest struct { // AdTriggers AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsmanifest.html#cfn-mediapackage-originendpoint-hlsmanifest-adtriggers - AdTriggers *OriginEndpoint_AdTriggers `json:"AdTriggers,omitempty"` + AdTriggers []string `json:"AdTriggers,omitempty"` // AdsOnDeliveryRestrictions AWS CloudFormation Property // Required: false diff --git a/cloudformation/mediapackage/aws-mediapackage-originendpoint_hlspackage.go b/cloudformation/mediapackage/aws-mediapackage-originendpoint_hlspackage.go index 4b4823e2b9..63cc77a7c1 100644 --- a/cloudformation/mediapackage/aws-mediapackage-originendpoint_hlspackage.go +++ b/cloudformation/mediapackage/aws-mediapackage-originendpoint_hlspackage.go @@ -16,7 +16,7 @@ type OriginEndpoint_HlsPackage struct { // AdTriggers AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlspackage.html#cfn-mediapackage-originendpoint-hlspackage-adtriggers - AdTriggers *OriginEndpoint_AdTriggers `json:"AdTriggers,omitempty"` + AdTriggers []string `json:"AdTriggers,omitempty"` // AdsOnDeliveryRestrictions AWS CloudFormation Property // Required: false diff --git a/cloudformation/s3/aws-s3-bucket_sourceselectioncriteria.go b/cloudformation/s3/aws-s3-bucket_sourceselectioncriteria.go index 17817183b7..9628c606b0 100644 --- a/cloudformation/s3/aws-s3-bucket_sourceselectioncriteria.go +++ b/cloudformation/s3/aws-s3-bucket_sourceselectioncriteria.go @@ -8,11 +8,6 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-sourceselectioncriteria.html type Bucket_SourceSelectionCriteria struct { - // ReplicaModifications AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-sourceselectioncriteria.html#cfn-s3-bucket-sourceselectioncriteria-replicamodifications - ReplicaModifications *Bucket_ReplicaModifications `json:"ReplicaModifications,omitempty"` - // SseKmsEncryptedObjects AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-sourceselectioncriteria.html#cfn-s3-bucket-sourceselectioncriteria-ssekmsencryptedobjects diff --git a/schema/cloudformation.go b/schema/cloudformation.go index 9d261fbe21..0276e86f57 100644 --- a/schema/cloudformation.go +++ b/schema/cloudformation.go @@ -22424,6 +22424,9 @@ var CloudformationSchema = `{ "properties": { "ExcludeBootVolume": { "type": "boolean" + }, + "NoReboot": { + "type": "boolean" } }, "type": "object" @@ -24729,6 +24732,9 @@ var CloudformationSchema = `{ }, "type": "array" }, + "SelfServicePortal": { + "type": "string" + }, "ServerCertificateArn": { "type": "string" }, @@ -24848,6 +24854,9 @@ var CloudformationSchema = `{ "properties": { "SAMLProviderArn": { "type": "string" + }, + "SelfServiceSAMLProviderArn": { + "type": "string" } }, "required": [ @@ -30218,12 +30227,6 @@ var CloudformationSchema = `{ "AcceptanceRequired": { "type": "boolean" }, - "ApplianceLoadBalancerArns": { - "items": { - "type": "string" - }, - "type": "array" - }, "NetworkLoadBalancerArns": { "items": { "type": "string" @@ -39961,6 +39964,12 @@ var CloudformationSchema = `{ "ListenerArn": { "type": "string" }, + "PortOverrides": { + "items": { + "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup.PortOverride" + }, + "type": "array" + }, "ThresholdCount": { "type": "number" }, @@ -40013,6 +40022,22 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::GlobalAccelerator::EndpointGroup.PortOverride": { + "additionalProperties": false, + "properties": { + "EndpointPort": { + "type": "number" + }, + "ListenerPort": { + "type": "number" + } + }, + "required": [ + "EndpointPort", + "ListenerPort" + ], + "type": "object" + }, "AWS::GlobalAccelerator::Listener": { "additionalProperties": false, "properties": { @@ -45320,7 +45345,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ImageBuilder::Component": { + "AWS::IVS::Channel": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45352,56 +45377,30 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ChangeDescription": { - "type": "string" - }, - "Data": { - "type": "string" - }, - "Description": { - "type": "string" + "Authorized": { + "type": "boolean" }, - "KmsKeyId": { + "LatencyMode": { "type": "string" }, "Name": { "type": "string" }, - "Platform": { - "type": "string" - }, - "SupportedOsVersions": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Uri": { - "type": "string" - }, - "Version": { + "Type": { "type": "string" } }, - "required": [ - "Name", - "Platform", - "Version" - ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::Component" + "AWS::IVS::Channel" ], "type": "string" }, @@ -45415,12 +45414,11 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::ImageBuilder::DistributionConfiguration": { + "AWS::IVS::PlaybackKeyPair": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45452,37 +45450,27 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "Name": { "type": "string" }, - "Distributions": { - "items": { - "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration.Distribution" - }, - "type": "array" - }, - "Name": { + "PublicKeyMaterial": { "type": "string" }, "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "items": { + "$ref": "#/definitions/Tag" }, - "type": "object" + "type": "array" } }, "required": [ - "Distributions", - "Name" + "PublicKeyMaterial" ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::DistributionConfiguration" + "AWS::IVS::PlaybackKeyPair" ], "type": "string" }, @@ -45501,28 +45489,75 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ImageBuilder::DistributionConfiguration.Distribution": { + "AWS::IVS::StreamKey": { "additionalProperties": false, "properties": { - "AmiDistributionConfiguration": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { "type": "object" }, - "LicenseConfigurationArns": { - "items": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "ChannelArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } }, - "type": "array" + "required": [ + "ChannelArn" + ], + "type": "object" }, - "Region": { + "Type": { + "enum": [ + "AWS::IVS::StreamKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Region" + "Type", + "Properties" ], "type": "object" }, - "AWS::ImageBuilder::Image": { + "AWS::ImageBuilder::Component": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45554,21 +45589,30 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DistributionConfigurationArn": { + "ChangeDescription": { "type": "string" }, - "EnhancedImageMetadataEnabled": { - "type": "boolean" + "Data": { + "type": "string" }, - "ImageRecipeArn": { + "Description": { "type": "string" }, - "ImageTestsConfiguration": { - "$ref": "#/definitions/AWS::ImageBuilder::Image.ImageTestsConfiguration" + "KmsKeyId": { + "type": "string" }, - "InfrastructureConfigurationArn": { + "Name": { + "type": "string" + }, + "Platform": { "type": "string" }, + "SupportedOsVersions": { + "items": { + "type": "string" + }, + "type": "array" + }, "Tags": { "additionalProperties": true, "patternProperties": { @@ -45577,17 +45621,24 @@ var CloudformationSchema = `{ } }, "type": "object" + }, + "Uri": { + "type": "string" + }, + "Version": { + "type": "string" } }, "required": [ - "ImageRecipeArn", - "InfrastructureConfigurationArn" + "Name", + "Platform", + "Version" ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::Image" + "AWS::ImageBuilder::Component" ], "type": "string" }, @@ -45606,19 +45657,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ImageBuilder::Image.ImageTestsConfiguration": { - "additionalProperties": false, - "properties": { - "ImageTestsEnabled": { - "type": "boolean" - }, - "TimeoutMinutes": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ImagePipeline": { + "AWS::ImageBuilder::DistributionConfiguration": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45653,30 +45692,15 @@ var CloudformationSchema = `{ "Description": { "type": "string" }, - "DistributionConfigurationArn": { - "type": "string" - }, - "EnhancedImageMetadataEnabled": { - "type": "boolean" - }, - "ImageRecipeArn": { - "type": "string" - }, - "ImageTestsConfiguration": { - "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration" - }, - "InfrastructureConfigurationArn": { - "type": "string" + "Distributions": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration.Distribution" + }, + "type": "array" }, "Name": { "type": "string" }, - "Schedule": { - "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.Schedule" - }, - "Status": { - "type": "string" - }, "Tags": { "additionalProperties": true, "patternProperties": { @@ -45688,15 +45712,14 @@ var CloudformationSchema = `{ } }, "required": [ - "ImageRecipeArn", - "InfrastructureConfigurationArn", + "Distributions", "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::ImagePipeline" + "AWS::ImageBuilder::DistributionConfiguration" ], "type": "string" }, @@ -45715,31 +45738,245 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration": { + "AWS::ImageBuilder::DistributionConfiguration.Distribution": { "additionalProperties": false, "properties": { - "ImageTestsEnabled": { - "type": "boolean" + "AmiDistributionConfiguration": { + "type": "object" }, - "TimeoutMinutes": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ImagePipeline.Schedule": { - "additionalProperties": false, - "properties": { - "PipelineExecutionStartCondition": { - "type": "string" + "LicenseConfigurationArns": { + "items": { + "type": "string" + }, + "type": "array" }, - "ScheduleExpression": { + "Region": { "type": "string" } }, + "required": [ + "Region" + ], "type": "object" }, - "AWS::ImageBuilder::ImageRecipe": { + "AWS::ImageBuilder::Image": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DistributionConfigurationArn": { + "type": "string" + }, + "EnhancedImageMetadataEnabled": { + "type": "boolean" + }, + "ImageRecipeArn": { + "type": "string" + }, + "ImageTestsConfiguration": { + "$ref": "#/definitions/AWS::ImageBuilder::Image.ImageTestsConfiguration" + }, + "InfrastructureConfigurationArn": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "ImageRecipeArn", + "InfrastructureConfigurationArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ImageBuilder::Image" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::Image.ImageTestsConfiguration": { + "additionalProperties": false, + "properties": { + "ImageTestsEnabled": { + "type": "boolean" + }, + "TimeoutMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImagePipeline": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "DistributionConfigurationArn": { + "type": "string" + }, + "EnhancedImageMetadataEnabled": { + "type": "boolean" + }, + "ImageRecipeArn": { + "type": "string" + }, + "ImageTestsConfiguration": { + "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration" + }, + "InfrastructureConfigurationArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.Schedule" + }, + "Status": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "ImageRecipeArn", + "InfrastructureConfigurationArn", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ImageBuilder::ImagePipeline" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration": { + "additionalProperties": false, + "properties": { + "ImageTestsEnabled": { + "type": "boolean" + }, + "TimeoutMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImagePipeline.Schedule": { + "additionalProperties": false, + "properties": { + "PipelineExecutionStartCondition": { + "type": "string" + }, + "ScheduleExpression": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImageRecipe": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -49135,7 +49372,7 @@ var CloudformationSchema = `{ }, "type": "object" }, - "AWS::IoTThingsGraph::FlowTemplate": { + "AWS::IoTSiteWise::Asset": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -49167,21 +49404,40 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CompatibleNamespaceVersion": { - "type": "number" + "AssetHierarchies": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::Asset.AssetHierarchy" + }, + "type": "array" }, - "Definition": { - "$ref": "#/definitions/AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument" + "AssetModelId": { + "type": "string" + }, + "AssetName": { + "type": "string" + }, + "AssetProperties": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::Asset.AssetProperty" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Definition" + "AssetModelId", + "AssetName" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoTThingsGraph::FlowTemplate" + "AWS::IoTSiteWise::Asset" ], "type": "string" }, @@ -49200,23 +49456,493 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument": { + "AWS::IoTSiteWise::Asset.AssetHierarchy": { "additionalProperties": false, "properties": { - "Language": { + "ChildAssetId": { "type": "string" }, - "Text": { + "LogicalId": { "type": "string" } }, "required": [ - "Language", - "Text" + "ChildAssetId", + "LogicalId" ], "type": "object" }, - "AWS::KMS::Alias": { + "AWS::IoTSiteWise::Asset.AssetProperty": { + "additionalProperties": false, + "properties": { + "Alias": { + "type": "string" + }, + "LogicalId": { + "type": "string" + }, + "NotificationState": { + "type": "string" + } + }, + "required": [ + "LogicalId" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssetModelDescription": { + "type": "string" + }, + "AssetModelHierarchies": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelHierarchy" + }, + "type": "array" + }, + "AssetModelName": { + "type": "string" + }, + "AssetModelProperties": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelProperty" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AssetModelName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTSiteWise::AssetModel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.AssetModelHierarchy": { + "additionalProperties": false, + "properties": { + "ChildAssetModelId": { + "type": "string" + }, + "LogicalId": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "ChildAssetModelId", + "LogicalId", + "Name" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.AssetModelProperty": { + "additionalProperties": false, + "properties": { + "DataType": { + "type": "string" + }, + "LogicalId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Type": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.PropertyType" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "DataType", + "LogicalId", + "Name", + "Type" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.Attribute": { + "additionalProperties": false, + "properties": { + "DefaultValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.ExpressionVariable": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.VariableValue" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.Metric": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "Variables": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.ExpressionVariable" + }, + "type": "array" + }, + "Window": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.MetricWindow" + } + }, + "required": [ + "Expression", + "Variables", + "Window" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.MetricWindow": { + "additionalProperties": false, + "properties": { + "Tumbling": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.TumblingWindow" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.PropertyType": { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Attribute" + }, + "Metric": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Metric" + }, + "Transform": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Transform" + }, + "TypeName": { + "type": "string" + } + }, + "required": [ + "TypeName" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.Transform": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "Variables": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.ExpressionVariable" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "Variables" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.TumblingWindow": { + "additionalProperties": false, + "properties": { + "Interval": { + "type": "string" + } + }, + "required": [ + "Interval" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.VariableValue": { + "additionalProperties": false, + "properties": { + "HierarchyLogicalId": { + "type": "string" + }, + "PropertyLogicalId": { + "type": "string" + } + }, + "required": [ + "PropertyLogicalId" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Gateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GatewayCapabilitySummaries": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.GatewayCapabilitySummary" + }, + "type": "array" + }, + "GatewayName": { + "type": "string" + }, + "GatewayPlatform": { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.GatewayPlatform" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "GatewayName", + "GatewayPlatform" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTSiteWise::Gateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Gateway.GatewayCapabilitySummary": { + "additionalProperties": false, + "properties": { + "CapabilityConfiguration": { + "type": "string" + }, + "CapabilityNamespace": { + "type": "string" + } + }, + "required": [ + "CapabilityNamespace" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Gateway.GatewayPlatform": { + "additionalProperties": false, + "properties": { + "Greengrass": { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.Greengrass" + } + }, + "required": [ + "Greengrass" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Gateway.Greengrass": { + "additionalProperties": false, + "properties": { + "GroupArn": { + "type": "string" + } + }, + "required": [ + "GroupArn" + ], + "type": "object" + }, + "AWS::IoTThingsGraph::FlowTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CompatibleNamespaceVersion": { + "type": "number" + }, + "Definition": { + "$ref": "#/definitions/AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument" + } + }, + "required": [ + "Definition" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTThingsGraph::FlowTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument": { + "additionalProperties": false, + "properties": { + "Language": { + "type": "string" + }, + "Text": { + "type": "string" + } + }, + "required": [ + "Language", + "Text" + ], + "type": "object" + }, + "AWS::KMS::Alias": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -52890,6 +53616,12 @@ var CloudformationSchema = `{ "properties": { "Admins": { "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.Admins" + }, + "TrustedResourceOwners": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" @@ -58736,18 +59468,6 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.AdTriggers": { - "additionalProperties": false, - "properties": { - "AdTriggers": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "AWS::MediaPackage::OriginEndpoint.Authorization": { "additionalProperties": false, "properties": { @@ -58822,7 +59542,10 @@ var CloudformationSchema = `{ "additionalProperties": false, "properties": { "AdTriggers": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.AdTriggers" + "items": { + "type": "string" + }, + "type": "array" }, "AdsOnDeliveryRestrictions": { "type": "string" @@ -58897,7 +59620,10 @@ var CloudformationSchema = `{ "type": "string" }, "AdTriggers": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.AdTriggers" + "items": { + "type": "string" + }, + "type": "array" }, "AdsOnDeliveryRestrictions": { "type": "string" @@ -58936,7 +59662,10 @@ var CloudformationSchema = `{ "type": "string" }, "AdTriggers": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.AdTriggers" + "items": { + "type": "string" + }, + "type": "array" }, "AdsOnDeliveryRestrictions": { "type": "string" @@ -68768,18 +69497,6 @@ var CloudformationSchema = `{ }, "type": "object" }, - "AWS::S3::Bucket.ReplicaModifications": { - "additionalProperties": false, - "properties": { - "Status": { - "type": "string" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, "AWS::S3::Bucket.ReplicationConfiguration": { "additionalProperties": false, "properties": { @@ -69044,9 +69761,6 @@ var CloudformationSchema = `{ "AWS::S3::Bucket.SourceSelectionCriteria": { "additionalProperties": false, "properties": { - "ReplicaModifications": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicaModifications" - }, "SseKmsEncryptedObjects": { "$ref": "#/definitions/AWS::S3::Bucket.SseKmsEncryptedObjects" } @@ -80543,6 +81257,15 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::IAM::UserToGroupAddition" }, + { + "$ref": "#/definitions/AWS::IVS::Channel" + }, + { + "$ref": "#/definitions/AWS::IVS::PlaybackKeyPair" + }, + { + "$ref": "#/definitions/AWS::IVS::StreamKey" + }, { "$ref": "#/definitions/AWS::ImageBuilder::Component" }, @@ -80621,6 +81344,15 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::IoTEvents::Input" }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Asset" + }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel" + }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway" + }, { "$ref": "#/definitions/AWS::IoTThingsGraph::FlowTemplate" }, diff --git a/schema/cloudformation.schema.json b/schema/cloudformation.schema.json index 3fb8ddab46..b03d4a658a 100644 --- a/schema/cloudformation.schema.json +++ b/schema/cloudformation.schema.json @@ -22421,6 +22421,9 @@ "properties": { "ExcludeBootVolume": { "type": "boolean" + }, + "NoReboot": { + "type": "boolean" } }, "type": "object" @@ -24726,6 +24729,9 @@ }, "type": "array" }, + "SelfServicePortal": { + "type": "string" + }, "ServerCertificateArn": { "type": "string" }, @@ -24845,6 +24851,9 @@ "properties": { "SAMLProviderArn": { "type": "string" + }, + "SelfServiceSAMLProviderArn": { + "type": "string" } }, "required": [ @@ -30215,12 +30224,6 @@ "AcceptanceRequired": { "type": "boolean" }, - "ApplianceLoadBalancerArns": { - "items": { - "type": "string" - }, - "type": "array" - }, "NetworkLoadBalancerArns": { "items": { "type": "string" @@ -39958,6 +39961,12 @@ "ListenerArn": { "type": "string" }, + "PortOverrides": { + "items": { + "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup.PortOverride" + }, + "type": "array" + }, "ThresholdCount": { "type": "number" }, @@ -40010,6 +40019,22 @@ ], "type": "object" }, + "AWS::GlobalAccelerator::EndpointGroup.PortOverride": { + "additionalProperties": false, + "properties": { + "EndpointPort": { + "type": "number" + }, + "ListenerPort": { + "type": "number" + } + }, + "required": [ + "EndpointPort", + "ListenerPort" + ], + "type": "object" + }, "AWS::GlobalAccelerator::Listener": { "additionalProperties": false, "properties": { @@ -45317,7 +45342,7 @@ ], "type": "object" }, - "AWS::ImageBuilder::Component": { + "AWS::IVS::Channel": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45349,56 +45374,30 @@ "Properties": { "additionalProperties": false, "properties": { - "ChangeDescription": { - "type": "string" - }, - "Data": { - "type": "string" - }, - "Description": { - "type": "string" + "Authorized": { + "type": "boolean" }, - "KmsKeyId": { + "LatencyMode": { "type": "string" }, "Name": { "type": "string" }, - "Platform": { - "type": "string" - }, - "SupportedOsVersions": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Uri": { - "type": "string" - }, - "Version": { + "Type": { "type": "string" } }, - "required": [ - "Name", - "Platform", - "Version" - ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::Component" + "AWS::IVS::Channel" ], "type": "string" }, @@ -45412,12 +45411,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::ImageBuilder::DistributionConfiguration": { + "AWS::IVS::PlaybackKeyPair": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45449,37 +45447,27 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "Name": { "type": "string" }, - "Distributions": { - "items": { - "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration.Distribution" - }, - "type": "array" - }, - "Name": { + "PublicKeyMaterial": { "type": "string" }, "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "items": { + "$ref": "#/definitions/Tag" }, - "type": "object" + "type": "array" } }, "required": [ - "Distributions", - "Name" + "PublicKeyMaterial" ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::DistributionConfiguration" + "AWS::IVS::PlaybackKeyPair" ], "type": "string" }, @@ -45498,28 +45486,75 @@ ], "type": "object" }, - "AWS::ImageBuilder::DistributionConfiguration.Distribution": { + "AWS::IVS::StreamKey": { "additionalProperties": false, "properties": { - "AmiDistributionConfiguration": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { "type": "object" }, - "LicenseConfigurationArns": { - "items": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "ChannelArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } }, - "type": "array" + "required": [ + "ChannelArn" + ], + "type": "object" }, - "Region": { + "Type": { + "enum": [ + "AWS::IVS::StreamKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Region" + "Type", + "Properties" ], "type": "object" }, - "AWS::ImageBuilder::Image": { + "AWS::ImageBuilder::Component": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45551,21 +45586,30 @@ "Properties": { "additionalProperties": false, "properties": { - "DistributionConfigurationArn": { + "ChangeDescription": { "type": "string" }, - "EnhancedImageMetadataEnabled": { - "type": "boolean" + "Data": { + "type": "string" }, - "ImageRecipeArn": { + "Description": { "type": "string" }, - "ImageTestsConfiguration": { - "$ref": "#/definitions/AWS::ImageBuilder::Image.ImageTestsConfiguration" + "KmsKeyId": { + "type": "string" }, - "InfrastructureConfigurationArn": { + "Name": { + "type": "string" + }, + "Platform": { "type": "string" }, + "SupportedOsVersions": { + "items": { + "type": "string" + }, + "type": "array" + }, "Tags": { "additionalProperties": true, "patternProperties": { @@ -45574,17 +45618,24 @@ } }, "type": "object" + }, + "Uri": { + "type": "string" + }, + "Version": { + "type": "string" } }, "required": [ - "ImageRecipeArn", - "InfrastructureConfigurationArn" + "Name", + "Platform", + "Version" ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::Image" + "AWS::ImageBuilder::Component" ], "type": "string" }, @@ -45603,19 +45654,7 @@ ], "type": "object" }, - "AWS::ImageBuilder::Image.ImageTestsConfiguration": { - "additionalProperties": false, - "properties": { - "ImageTestsEnabled": { - "type": "boolean" - }, - "TimeoutMinutes": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ImagePipeline": { + "AWS::ImageBuilder::DistributionConfiguration": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45650,30 +45689,15 @@ "Description": { "type": "string" }, - "DistributionConfigurationArn": { - "type": "string" - }, - "EnhancedImageMetadataEnabled": { - "type": "boolean" - }, - "ImageRecipeArn": { - "type": "string" - }, - "ImageTestsConfiguration": { - "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration" - }, - "InfrastructureConfigurationArn": { - "type": "string" + "Distributions": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration.Distribution" + }, + "type": "array" }, "Name": { "type": "string" }, - "Schedule": { - "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.Schedule" - }, - "Status": { - "type": "string" - }, "Tags": { "additionalProperties": true, "patternProperties": { @@ -45685,15 +45709,14 @@ } }, "required": [ - "ImageRecipeArn", - "InfrastructureConfigurationArn", + "Distributions", "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::ImagePipeline" + "AWS::ImageBuilder::DistributionConfiguration" ], "type": "string" }, @@ -45712,31 +45735,245 @@ ], "type": "object" }, - "AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration": { + "AWS::ImageBuilder::DistributionConfiguration.Distribution": { "additionalProperties": false, "properties": { - "ImageTestsEnabled": { - "type": "boolean" + "AmiDistributionConfiguration": { + "type": "object" }, - "TimeoutMinutes": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ImagePipeline.Schedule": { - "additionalProperties": false, - "properties": { - "PipelineExecutionStartCondition": { - "type": "string" + "LicenseConfigurationArns": { + "items": { + "type": "string" + }, + "type": "array" }, - "ScheduleExpression": { + "Region": { "type": "string" } }, + "required": [ + "Region" + ], "type": "object" }, - "AWS::ImageBuilder::ImageRecipe": { + "AWS::ImageBuilder::Image": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DistributionConfigurationArn": { + "type": "string" + }, + "EnhancedImageMetadataEnabled": { + "type": "boolean" + }, + "ImageRecipeArn": { + "type": "string" + }, + "ImageTestsConfiguration": { + "$ref": "#/definitions/AWS::ImageBuilder::Image.ImageTestsConfiguration" + }, + "InfrastructureConfigurationArn": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "ImageRecipeArn", + "InfrastructureConfigurationArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ImageBuilder::Image" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::Image.ImageTestsConfiguration": { + "additionalProperties": false, + "properties": { + "ImageTestsEnabled": { + "type": "boolean" + }, + "TimeoutMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImagePipeline": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "DistributionConfigurationArn": { + "type": "string" + }, + "EnhancedImageMetadataEnabled": { + "type": "boolean" + }, + "ImageRecipeArn": { + "type": "string" + }, + "ImageTestsConfiguration": { + "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration" + }, + "InfrastructureConfigurationArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.Schedule" + }, + "Status": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "ImageRecipeArn", + "InfrastructureConfigurationArn", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ImageBuilder::ImagePipeline" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration": { + "additionalProperties": false, + "properties": { + "ImageTestsEnabled": { + "type": "boolean" + }, + "TimeoutMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImagePipeline.Schedule": { + "additionalProperties": false, + "properties": { + "PipelineExecutionStartCondition": { + "type": "string" + }, + "ScheduleExpression": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImageRecipe": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -49132,7 +49369,7 @@ }, "type": "object" }, - "AWS::IoTThingsGraph::FlowTemplate": { + "AWS::IoTSiteWise::Asset": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -49164,21 +49401,40 @@ "Properties": { "additionalProperties": false, "properties": { - "CompatibleNamespaceVersion": { - "type": "number" + "AssetHierarchies": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::Asset.AssetHierarchy" + }, + "type": "array" }, - "Definition": { - "$ref": "#/definitions/AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument" + "AssetModelId": { + "type": "string" + }, + "AssetName": { + "type": "string" + }, + "AssetProperties": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::Asset.AssetProperty" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Definition" + "AssetModelId", + "AssetName" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoTThingsGraph::FlowTemplate" + "AWS::IoTSiteWise::Asset" ], "type": "string" }, @@ -49197,23 +49453,493 @@ ], "type": "object" }, - "AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument": { + "AWS::IoTSiteWise::Asset.AssetHierarchy": { "additionalProperties": false, "properties": { - "Language": { + "ChildAssetId": { "type": "string" }, - "Text": { + "LogicalId": { "type": "string" } }, "required": [ - "Language", - "Text" + "ChildAssetId", + "LogicalId" ], "type": "object" }, - "AWS::KMS::Alias": { + "AWS::IoTSiteWise::Asset.AssetProperty": { + "additionalProperties": false, + "properties": { + "Alias": { + "type": "string" + }, + "LogicalId": { + "type": "string" + }, + "NotificationState": { + "type": "string" + } + }, + "required": [ + "LogicalId" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssetModelDescription": { + "type": "string" + }, + "AssetModelHierarchies": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelHierarchy" + }, + "type": "array" + }, + "AssetModelName": { + "type": "string" + }, + "AssetModelProperties": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelProperty" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AssetModelName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTSiteWise::AssetModel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.AssetModelHierarchy": { + "additionalProperties": false, + "properties": { + "ChildAssetModelId": { + "type": "string" + }, + "LogicalId": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "ChildAssetModelId", + "LogicalId", + "Name" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.AssetModelProperty": { + "additionalProperties": false, + "properties": { + "DataType": { + "type": "string" + }, + "LogicalId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Type": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.PropertyType" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "DataType", + "LogicalId", + "Name", + "Type" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.Attribute": { + "additionalProperties": false, + "properties": { + "DefaultValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.ExpressionVariable": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.VariableValue" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.Metric": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "Variables": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.ExpressionVariable" + }, + "type": "array" + }, + "Window": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.MetricWindow" + } + }, + "required": [ + "Expression", + "Variables", + "Window" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.MetricWindow": { + "additionalProperties": false, + "properties": { + "Tumbling": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.TumblingWindow" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.PropertyType": { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Attribute" + }, + "Metric": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Metric" + }, + "Transform": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Transform" + }, + "TypeName": { + "type": "string" + } + }, + "required": [ + "TypeName" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.Transform": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "Variables": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.ExpressionVariable" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "Variables" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.TumblingWindow": { + "additionalProperties": false, + "properties": { + "Interval": { + "type": "string" + } + }, + "required": [ + "Interval" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.VariableValue": { + "additionalProperties": false, + "properties": { + "HierarchyLogicalId": { + "type": "string" + }, + "PropertyLogicalId": { + "type": "string" + } + }, + "required": [ + "PropertyLogicalId" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Gateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GatewayCapabilitySummaries": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.GatewayCapabilitySummary" + }, + "type": "array" + }, + "GatewayName": { + "type": "string" + }, + "GatewayPlatform": { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.GatewayPlatform" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "GatewayName", + "GatewayPlatform" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTSiteWise::Gateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Gateway.GatewayCapabilitySummary": { + "additionalProperties": false, + "properties": { + "CapabilityConfiguration": { + "type": "string" + }, + "CapabilityNamespace": { + "type": "string" + } + }, + "required": [ + "CapabilityNamespace" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Gateway.GatewayPlatform": { + "additionalProperties": false, + "properties": { + "Greengrass": { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.Greengrass" + } + }, + "required": [ + "Greengrass" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Gateway.Greengrass": { + "additionalProperties": false, + "properties": { + "GroupArn": { + "type": "string" + } + }, + "required": [ + "GroupArn" + ], + "type": "object" + }, + "AWS::IoTThingsGraph::FlowTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CompatibleNamespaceVersion": { + "type": "number" + }, + "Definition": { + "$ref": "#/definitions/AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument" + } + }, + "required": [ + "Definition" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTThingsGraph::FlowTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument": { + "additionalProperties": false, + "properties": { + "Language": { + "type": "string" + }, + "Text": { + "type": "string" + } + }, + "required": [ + "Language", + "Text" + ], + "type": "object" + }, + "AWS::KMS::Alias": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -52887,6 +53613,12 @@ "properties": { "Admins": { "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.Admins" + }, + "TrustedResourceOwners": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" @@ -58733,18 +59465,6 @@ ], "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.AdTriggers": { - "additionalProperties": false, - "properties": { - "AdTriggers": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "AWS::MediaPackage::OriginEndpoint.Authorization": { "additionalProperties": false, "properties": { @@ -58819,7 +59539,10 @@ "additionalProperties": false, "properties": { "AdTriggers": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.AdTriggers" + "items": { + "type": "string" + }, + "type": "array" }, "AdsOnDeliveryRestrictions": { "type": "string" @@ -58894,7 +59617,10 @@ "type": "string" }, "AdTriggers": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.AdTriggers" + "items": { + "type": "string" + }, + "type": "array" }, "AdsOnDeliveryRestrictions": { "type": "string" @@ -58933,7 +59659,10 @@ "type": "string" }, "AdTriggers": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.AdTriggers" + "items": { + "type": "string" + }, + "type": "array" }, "AdsOnDeliveryRestrictions": { "type": "string" @@ -68765,18 +69494,6 @@ }, "type": "object" }, - "AWS::S3::Bucket.ReplicaModifications": { - "additionalProperties": false, - "properties": { - "Status": { - "type": "string" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, "AWS::S3::Bucket.ReplicationConfiguration": { "additionalProperties": false, "properties": { @@ -69041,9 +69758,6 @@ "AWS::S3::Bucket.SourceSelectionCriteria": { "additionalProperties": false, "properties": { - "ReplicaModifications": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicaModifications" - }, "SseKmsEncryptedObjects": { "$ref": "#/definitions/AWS::S3::Bucket.SseKmsEncryptedObjects" } @@ -80540,6 +81254,15 @@ { "$ref": "#/definitions/AWS::IAM::UserToGroupAddition" }, + { + "$ref": "#/definitions/AWS::IVS::Channel" + }, + { + "$ref": "#/definitions/AWS::IVS::PlaybackKeyPair" + }, + { + "$ref": "#/definitions/AWS::IVS::StreamKey" + }, { "$ref": "#/definitions/AWS::ImageBuilder::Component" }, @@ -80618,6 +81341,15 @@ { "$ref": "#/definitions/AWS::IoTEvents::Input" }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Asset" + }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel" + }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway" + }, { "$ref": "#/definitions/AWS::IoTThingsGraph::FlowTemplate" }, diff --git a/schema/sam.go b/schema/sam.go index 7779e29d52..556d61b4d8 100644 --- a/schema/sam.go +++ b/schema/sam.go @@ -22424,6 +22424,9 @@ var SamSchema = `{ "properties": { "ExcludeBootVolume": { "type": "boolean" + }, + "NoReboot": { + "type": "boolean" } }, "type": "object" @@ -24729,6 +24732,9 @@ var SamSchema = `{ }, "type": "array" }, + "SelfServicePortal": { + "type": "string" + }, "ServerCertificateArn": { "type": "string" }, @@ -24848,6 +24854,9 @@ var SamSchema = `{ "properties": { "SAMLProviderArn": { "type": "string" + }, + "SelfServiceSAMLProviderArn": { + "type": "string" } }, "required": [ @@ -30218,12 +30227,6 @@ var SamSchema = `{ "AcceptanceRequired": { "type": "boolean" }, - "ApplianceLoadBalancerArns": { - "items": { - "type": "string" - }, - "type": "array" - }, "NetworkLoadBalancerArns": { "items": { "type": "string" @@ -39961,6 +39964,12 @@ var SamSchema = `{ "ListenerArn": { "type": "string" }, + "PortOverrides": { + "items": { + "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup.PortOverride" + }, + "type": "array" + }, "ThresholdCount": { "type": "number" }, @@ -40013,6 +40022,22 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::GlobalAccelerator::EndpointGroup.PortOverride": { + "additionalProperties": false, + "properties": { + "EndpointPort": { + "type": "number" + }, + "ListenerPort": { + "type": "number" + } + }, + "required": [ + "EndpointPort", + "ListenerPort" + ], + "type": "object" + }, "AWS::GlobalAccelerator::Listener": { "additionalProperties": false, "properties": { @@ -45320,7 +45345,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::ImageBuilder::Component": { + "AWS::IVS::Channel": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45352,56 +45377,30 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ChangeDescription": { - "type": "string" - }, - "Data": { - "type": "string" - }, - "Description": { - "type": "string" + "Authorized": { + "type": "boolean" }, - "KmsKeyId": { + "LatencyMode": { "type": "string" }, "Name": { "type": "string" }, - "Platform": { - "type": "string" - }, - "SupportedOsVersions": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Uri": { - "type": "string" - }, - "Version": { + "Type": { "type": "string" } }, - "required": [ - "Name", - "Platform", - "Version" - ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::Component" + "AWS::IVS::Channel" ], "type": "string" }, @@ -45415,12 +45414,11 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::ImageBuilder::DistributionConfiguration": { + "AWS::IVS::PlaybackKeyPair": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45452,37 +45450,27 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "Name": { "type": "string" }, - "Distributions": { - "items": { - "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration.Distribution" - }, - "type": "array" - }, - "Name": { + "PublicKeyMaterial": { "type": "string" }, "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "items": { + "$ref": "#/definitions/Tag" }, - "type": "object" + "type": "array" } }, "required": [ - "Distributions", - "Name" + "PublicKeyMaterial" ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::DistributionConfiguration" + "AWS::IVS::PlaybackKeyPair" ], "type": "string" }, @@ -45501,28 +45489,75 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::ImageBuilder::DistributionConfiguration.Distribution": { + "AWS::IVS::StreamKey": { "additionalProperties": false, "properties": { - "AmiDistributionConfiguration": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { "type": "object" }, - "LicenseConfigurationArns": { - "items": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "ChannelArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } }, - "type": "array" + "required": [ + "ChannelArn" + ], + "type": "object" }, - "Region": { + "Type": { + "enum": [ + "AWS::IVS::StreamKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Region" + "Type", + "Properties" ], "type": "object" }, - "AWS::ImageBuilder::Image": { + "AWS::ImageBuilder::Component": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45554,21 +45589,30 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DistributionConfigurationArn": { + "ChangeDescription": { "type": "string" }, - "EnhancedImageMetadataEnabled": { - "type": "boolean" + "Data": { + "type": "string" }, - "ImageRecipeArn": { + "Description": { "type": "string" }, - "ImageTestsConfiguration": { - "$ref": "#/definitions/AWS::ImageBuilder::Image.ImageTestsConfiguration" + "KmsKeyId": { + "type": "string" }, - "InfrastructureConfigurationArn": { + "Name": { + "type": "string" + }, + "Platform": { "type": "string" }, + "SupportedOsVersions": { + "items": { + "type": "string" + }, + "type": "array" + }, "Tags": { "additionalProperties": true, "patternProperties": { @@ -45577,17 +45621,24 @@ var SamSchema = `{ } }, "type": "object" + }, + "Uri": { + "type": "string" + }, + "Version": { + "type": "string" } }, "required": [ - "ImageRecipeArn", - "InfrastructureConfigurationArn" + "Name", + "Platform", + "Version" ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::Image" + "AWS::ImageBuilder::Component" ], "type": "string" }, @@ -45606,19 +45657,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::ImageBuilder::Image.ImageTestsConfiguration": { - "additionalProperties": false, - "properties": { - "ImageTestsEnabled": { - "type": "boolean" - }, - "TimeoutMinutes": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ImagePipeline": { + "AWS::ImageBuilder::DistributionConfiguration": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45653,30 +45692,15 @@ var SamSchema = `{ "Description": { "type": "string" }, - "DistributionConfigurationArn": { - "type": "string" - }, - "EnhancedImageMetadataEnabled": { - "type": "boolean" - }, - "ImageRecipeArn": { - "type": "string" - }, - "ImageTestsConfiguration": { - "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration" - }, - "InfrastructureConfigurationArn": { - "type": "string" + "Distributions": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration.Distribution" + }, + "type": "array" }, "Name": { "type": "string" }, - "Schedule": { - "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.Schedule" - }, - "Status": { - "type": "string" - }, "Tags": { "additionalProperties": true, "patternProperties": { @@ -45688,15 +45712,14 @@ var SamSchema = `{ } }, "required": [ - "ImageRecipeArn", - "InfrastructureConfigurationArn", + "Distributions", "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::ImagePipeline" + "AWS::ImageBuilder::DistributionConfiguration" ], "type": "string" }, @@ -45715,31 +45738,245 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration": { + "AWS::ImageBuilder::DistributionConfiguration.Distribution": { "additionalProperties": false, "properties": { - "ImageTestsEnabled": { - "type": "boolean" + "AmiDistributionConfiguration": { + "type": "object" }, - "TimeoutMinutes": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ImagePipeline.Schedule": { - "additionalProperties": false, - "properties": { - "PipelineExecutionStartCondition": { - "type": "string" + "LicenseConfigurationArns": { + "items": { + "type": "string" + }, + "type": "array" }, - "ScheduleExpression": { + "Region": { "type": "string" } }, + "required": [ + "Region" + ], "type": "object" }, - "AWS::ImageBuilder::ImageRecipe": { + "AWS::ImageBuilder::Image": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DistributionConfigurationArn": { + "type": "string" + }, + "EnhancedImageMetadataEnabled": { + "type": "boolean" + }, + "ImageRecipeArn": { + "type": "string" + }, + "ImageTestsConfiguration": { + "$ref": "#/definitions/AWS::ImageBuilder::Image.ImageTestsConfiguration" + }, + "InfrastructureConfigurationArn": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "ImageRecipeArn", + "InfrastructureConfigurationArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ImageBuilder::Image" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::Image.ImageTestsConfiguration": { + "additionalProperties": false, + "properties": { + "ImageTestsEnabled": { + "type": "boolean" + }, + "TimeoutMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImagePipeline": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "DistributionConfigurationArn": { + "type": "string" + }, + "EnhancedImageMetadataEnabled": { + "type": "boolean" + }, + "ImageRecipeArn": { + "type": "string" + }, + "ImageTestsConfiguration": { + "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration" + }, + "InfrastructureConfigurationArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.Schedule" + }, + "Status": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "ImageRecipeArn", + "InfrastructureConfigurationArn", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ImageBuilder::ImagePipeline" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration": { + "additionalProperties": false, + "properties": { + "ImageTestsEnabled": { + "type": "boolean" + }, + "TimeoutMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImagePipeline.Schedule": { + "additionalProperties": false, + "properties": { + "PipelineExecutionStartCondition": { + "type": "string" + }, + "ScheduleExpression": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImageRecipe": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -49135,7 +49372,7 @@ var SamSchema = `{ }, "type": "object" }, - "AWS::IoTThingsGraph::FlowTemplate": { + "AWS::IoTSiteWise::Asset": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -49167,21 +49404,40 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CompatibleNamespaceVersion": { - "type": "number" + "AssetHierarchies": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::Asset.AssetHierarchy" + }, + "type": "array" }, - "Definition": { - "$ref": "#/definitions/AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument" + "AssetModelId": { + "type": "string" + }, + "AssetName": { + "type": "string" + }, + "AssetProperties": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::Asset.AssetProperty" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Definition" + "AssetModelId", + "AssetName" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoTThingsGraph::FlowTemplate" + "AWS::IoTSiteWise::Asset" ], "type": "string" }, @@ -49200,23 +49456,493 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument": { + "AWS::IoTSiteWise::Asset.AssetHierarchy": { "additionalProperties": false, "properties": { - "Language": { + "ChildAssetId": { "type": "string" }, - "Text": { + "LogicalId": { "type": "string" } }, "required": [ - "Language", - "Text" + "ChildAssetId", + "LogicalId" ], "type": "object" }, - "AWS::KMS::Alias": { + "AWS::IoTSiteWise::Asset.AssetProperty": { + "additionalProperties": false, + "properties": { + "Alias": { + "type": "string" + }, + "LogicalId": { + "type": "string" + }, + "NotificationState": { + "type": "string" + } + }, + "required": [ + "LogicalId" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssetModelDescription": { + "type": "string" + }, + "AssetModelHierarchies": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelHierarchy" + }, + "type": "array" + }, + "AssetModelName": { + "type": "string" + }, + "AssetModelProperties": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelProperty" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AssetModelName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTSiteWise::AssetModel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.AssetModelHierarchy": { + "additionalProperties": false, + "properties": { + "ChildAssetModelId": { + "type": "string" + }, + "LogicalId": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "ChildAssetModelId", + "LogicalId", + "Name" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.AssetModelProperty": { + "additionalProperties": false, + "properties": { + "DataType": { + "type": "string" + }, + "LogicalId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Type": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.PropertyType" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "DataType", + "LogicalId", + "Name", + "Type" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.Attribute": { + "additionalProperties": false, + "properties": { + "DefaultValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.ExpressionVariable": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.VariableValue" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.Metric": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "Variables": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.ExpressionVariable" + }, + "type": "array" + }, + "Window": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.MetricWindow" + } + }, + "required": [ + "Expression", + "Variables", + "Window" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.MetricWindow": { + "additionalProperties": false, + "properties": { + "Tumbling": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.TumblingWindow" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.PropertyType": { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Attribute" + }, + "Metric": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Metric" + }, + "Transform": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Transform" + }, + "TypeName": { + "type": "string" + } + }, + "required": [ + "TypeName" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.Transform": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "Variables": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.ExpressionVariable" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "Variables" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.TumblingWindow": { + "additionalProperties": false, + "properties": { + "Interval": { + "type": "string" + } + }, + "required": [ + "Interval" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.VariableValue": { + "additionalProperties": false, + "properties": { + "HierarchyLogicalId": { + "type": "string" + }, + "PropertyLogicalId": { + "type": "string" + } + }, + "required": [ + "PropertyLogicalId" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Gateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GatewayCapabilitySummaries": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.GatewayCapabilitySummary" + }, + "type": "array" + }, + "GatewayName": { + "type": "string" + }, + "GatewayPlatform": { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.GatewayPlatform" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "GatewayName", + "GatewayPlatform" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTSiteWise::Gateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Gateway.GatewayCapabilitySummary": { + "additionalProperties": false, + "properties": { + "CapabilityConfiguration": { + "type": "string" + }, + "CapabilityNamespace": { + "type": "string" + } + }, + "required": [ + "CapabilityNamespace" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Gateway.GatewayPlatform": { + "additionalProperties": false, + "properties": { + "Greengrass": { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.Greengrass" + } + }, + "required": [ + "Greengrass" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Gateway.Greengrass": { + "additionalProperties": false, + "properties": { + "GroupArn": { + "type": "string" + } + }, + "required": [ + "GroupArn" + ], + "type": "object" + }, + "AWS::IoTThingsGraph::FlowTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CompatibleNamespaceVersion": { + "type": "number" + }, + "Definition": { + "$ref": "#/definitions/AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument" + } + }, + "required": [ + "Definition" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTThingsGraph::FlowTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument": { + "additionalProperties": false, + "properties": { + "Language": { + "type": "string" + }, + "Text": { + "type": "string" + } + }, + "required": [ + "Language", + "Text" + ], + "type": "object" + }, + "AWS::KMS::Alias": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -52890,6 +53616,12 @@ var SamSchema = `{ "properties": { "Admins": { "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.Admins" + }, + "TrustedResourceOwners": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" @@ -58736,18 +59468,6 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.AdTriggers": { - "additionalProperties": false, - "properties": { - "AdTriggers": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "AWS::MediaPackage::OriginEndpoint.Authorization": { "additionalProperties": false, "properties": { @@ -58822,7 +59542,10 @@ var SamSchema = `{ "additionalProperties": false, "properties": { "AdTriggers": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.AdTriggers" + "items": { + "type": "string" + }, + "type": "array" }, "AdsOnDeliveryRestrictions": { "type": "string" @@ -58897,7 +59620,10 @@ var SamSchema = `{ "type": "string" }, "AdTriggers": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.AdTriggers" + "items": { + "type": "string" + }, + "type": "array" }, "AdsOnDeliveryRestrictions": { "type": "string" @@ -58936,7 +59662,10 @@ var SamSchema = `{ "type": "string" }, "AdTriggers": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.AdTriggers" + "items": { + "type": "string" + }, + "type": "array" }, "AdsOnDeliveryRestrictions": { "type": "string" @@ -68768,18 +69497,6 @@ var SamSchema = `{ }, "type": "object" }, - "AWS::S3::Bucket.ReplicaModifications": { - "additionalProperties": false, - "properties": { - "Status": { - "type": "string" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, "AWS::S3::Bucket.ReplicationConfiguration": { "additionalProperties": false, "properties": { @@ -69044,9 +69761,6 @@ var SamSchema = `{ "AWS::S3::Bucket.SourceSelectionCriteria": { "additionalProperties": false, "properties": { - "ReplicaModifications": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicaModifications" - }, "SseKmsEncryptedObjects": { "$ref": "#/definitions/AWS::S3::Bucket.SseKmsEncryptedObjects" } @@ -82344,6 +83058,15 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::IAM::UserToGroupAddition" }, + { + "$ref": "#/definitions/AWS::IVS::Channel" + }, + { + "$ref": "#/definitions/AWS::IVS::PlaybackKeyPair" + }, + { + "$ref": "#/definitions/AWS::IVS::StreamKey" + }, { "$ref": "#/definitions/AWS::ImageBuilder::Component" }, @@ -82422,6 +83145,15 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::IoTEvents::Input" }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Asset" + }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel" + }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway" + }, { "$ref": "#/definitions/AWS::IoTThingsGraph::FlowTemplate" }, diff --git a/schema/sam.schema.json b/schema/sam.schema.json index c28ff43fd7..640fa1a5b8 100644 --- a/schema/sam.schema.json +++ b/schema/sam.schema.json @@ -22421,6 +22421,9 @@ "properties": { "ExcludeBootVolume": { "type": "boolean" + }, + "NoReboot": { + "type": "boolean" } }, "type": "object" @@ -24726,6 +24729,9 @@ }, "type": "array" }, + "SelfServicePortal": { + "type": "string" + }, "ServerCertificateArn": { "type": "string" }, @@ -24845,6 +24851,9 @@ "properties": { "SAMLProviderArn": { "type": "string" + }, + "SelfServiceSAMLProviderArn": { + "type": "string" } }, "required": [ @@ -30215,12 +30224,6 @@ "AcceptanceRequired": { "type": "boolean" }, - "ApplianceLoadBalancerArns": { - "items": { - "type": "string" - }, - "type": "array" - }, "NetworkLoadBalancerArns": { "items": { "type": "string" @@ -39958,6 +39961,12 @@ "ListenerArn": { "type": "string" }, + "PortOverrides": { + "items": { + "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup.PortOverride" + }, + "type": "array" + }, "ThresholdCount": { "type": "number" }, @@ -40010,6 +40019,22 @@ ], "type": "object" }, + "AWS::GlobalAccelerator::EndpointGroup.PortOverride": { + "additionalProperties": false, + "properties": { + "EndpointPort": { + "type": "number" + }, + "ListenerPort": { + "type": "number" + } + }, + "required": [ + "EndpointPort", + "ListenerPort" + ], + "type": "object" + }, "AWS::GlobalAccelerator::Listener": { "additionalProperties": false, "properties": { @@ -45317,7 +45342,7 @@ ], "type": "object" }, - "AWS::ImageBuilder::Component": { + "AWS::IVS::Channel": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45349,56 +45374,30 @@ "Properties": { "additionalProperties": false, "properties": { - "ChangeDescription": { - "type": "string" - }, - "Data": { - "type": "string" - }, - "Description": { - "type": "string" + "Authorized": { + "type": "boolean" }, - "KmsKeyId": { + "LatencyMode": { "type": "string" }, "Name": { "type": "string" }, - "Platform": { - "type": "string" - }, - "SupportedOsVersions": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Uri": { - "type": "string" - }, - "Version": { + "Type": { "type": "string" } }, - "required": [ - "Name", - "Platform", - "Version" - ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::Component" + "AWS::IVS::Channel" ], "type": "string" }, @@ -45412,12 +45411,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::ImageBuilder::DistributionConfiguration": { + "AWS::IVS::PlaybackKeyPair": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45449,37 +45447,27 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "Name": { "type": "string" }, - "Distributions": { - "items": { - "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration.Distribution" - }, - "type": "array" - }, - "Name": { + "PublicKeyMaterial": { "type": "string" }, "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "items": { + "$ref": "#/definitions/Tag" }, - "type": "object" + "type": "array" } }, "required": [ - "Distributions", - "Name" + "PublicKeyMaterial" ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::DistributionConfiguration" + "AWS::IVS::PlaybackKeyPair" ], "type": "string" }, @@ -45498,28 +45486,75 @@ ], "type": "object" }, - "AWS::ImageBuilder::DistributionConfiguration.Distribution": { + "AWS::IVS::StreamKey": { "additionalProperties": false, "properties": { - "AmiDistributionConfiguration": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { "type": "object" }, - "LicenseConfigurationArns": { - "items": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "ChannelArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } }, - "type": "array" + "required": [ + "ChannelArn" + ], + "type": "object" }, - "Region": { + "Type": { + "enum": [ + "AWS::IVS::StreamKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Region" + "Type", + "Properties" ], "type": "object" }, - "AWS::ImageBuilder::Image": { + "AWS::ImageBuilder::Component": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45551,21 +45586,30 @@ "Properties": { "additionalProperties": false, "properties": { - "DistributionConfigurationArn": { + "ChangeDescription": { "type": "string" }, - "EnhancedImageMetadataEnabled": { - "type": "boolean" + "Data": { + "type": "string" }, - "ImageRecipeArn": { + "Description": { "type": "string" }, - "ImageTestsConfiguration": { - "$ref": "#/definitions/AWS::ImageBuilder::Image.ImageTestsConfiguration" + "KmsKeyId": { + "type": "string" }, - "InfrastructureConfigurationArn": { + "Name": { + "type": "string" + }, + "Platform": { "type": "string" }, + "SupportedOsVersions": { + "items": { + "type": "string" + }, + "type": "array" + }, "Tags": { "additionalProperties": true, "patternProperties": { @@ -45574,17 +45618,24 @@ } }, "type": "object" + }, + "Uri": { + "type": "string" + }, + "Version": { + "type": "string" } }, "required": [ - "ImageRecipeArn", - "InfrastructureConfigurationArn" + "Name", + "Platform", + "Version" ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::Image" + "AWS::ImageBuilder::Component" ], "type": "string" }, @@ -45603,19 +45654,7 @@ ], "type": "object" }, - "AWS::ImageBuilder::Image.ImageTestsConfiguration": { - "additionalProperties": false, - "properties": { - "ImageTestsEnabled": { - "type": "boolean" - }, - "TimeoutMinutes": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ImagePipeline": { + "AWS::ImageBuilder::DistributionConfiguration": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45650,30 +45689,15 @@ "Description": { "type": "string" }, - "DistributionConfigurationArn": { - "type": "string" - }, - "EnhancedImageMetadataEnabled": { - "type": "boolean" - }, - "ImageRecipeArn": { - "type": "string" - }, - "ImageTestsConfiguration": { - "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration" - }, - "InfrastructureConfigurationArn": { - "type": "string" + "Distributions": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration.Distribution" + }, + "type": "array" }, "Name": { "type": "string" }, - "Schedule": { - "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.Schedule" - }, - "Status": { - "type": "string" - }, "Tags": { "additionalProperties": true, "patternProperties": { @@ -45685,15 +45709,14 @@ } }, "required": [ - "ImageRecipeArn", - "InfrastructureConfigurationArn", + "Distributions", "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::ImagePipeline" + "AWS::ImageBuilder::DistributionConfiguration" ], "type": "string" }, @@ -45712,31 +45735,245 @@ ], "type": "object" }, - "AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration": { + "AWS::ImageBuilder::DistributionConfiguration.Distribution": { "additionalProperties": false, "properties": { - "ImageTestsEnabled": { - "type": "boolean" + "AmiDistributionConfiguration": { + "type": "object" }, - "TimeoutMinutes": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ImagePipeline.Schedule": { - "additionalProperties": false, - "properties": { - "PipelineExecutionStartCondition": { - "type": "string" + "LicenseConfigurationArns": { + "items": { + "type": "string" + }, + "type": "array" }, - "ScheduleExpression": { + "Region": { "type": "string" } }, + "required": [ + "Region" + ], "type": "object" }, - "AWS::ImageBuilder::ImageRecipe": { + "AWS::ImageBuilder::Image": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DistributionConfigurationArn": { + "type": "string" + }, + "EnhancedImageMetadataEnabled": { + "type": "boolean" + }, + "ImageRecipeArn": { + "type": "string" + }, + "ImageTestsConfiguration": { + "$ref": "#/definitions/AWS::ImageBuilder::Image.ImageTestsConfiguration" + }, + "InfrastructureConfigurationArn": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "ImageRecipeArn", + "InfrastructureConfigurationArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ImageBuilder::Image" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::Image.ImageTestsConfiguration": { + "additionalProperties": false, + "properties": { + "ImageTestsEnabled": { + "type": "boolean" + }, + "TimeoutMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImagePipeline": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "DistributionConfigurationArn": { + "type": "string" + }, + "EnhancedImageMetadataEnabled": { + "type": "boolean" + }, + "ImageRecipeArn": { + "type": "string" + }, + "ImageTestsConfiguration": { + "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration" + }, + "InfrastructureConfigurationArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.Schedule" + }, + "Status": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "ImageRecipeArn", + "InfrastructureConfigurationArn", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ImageBuilder::ImagePipeline" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration": { + "additionalProperties": false, + "properties": { + "ImageTestsEnabled": { + "type": "boolean" + }, + "TimeoutMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImagePipeline.Schedule": { + "additionalProperties": false, + "properties": { + "PipelineExecutionStartCondition": { + "type": "string" + }, + "ScheduleExpression": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImageRecipe": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -49132,7 +49369,7 @@ }, "type": "object" }, - "AWS::IoTThingsGraph::FlowTemplate": { + "AWS::IoTSiteWise::Asset": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -49164,21 +49401,40 @@ "Properties": { "additionalProperties": false, "properties": { - "CompatibleNamespaceVersion": { - "type": "number" + "AssetHierarchies": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::Asset.AssetHierarchy" + }, + "type": "array" }, - "Definition": { - "$ref": "#/definitions/AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument" + "AssetModelId": { + "type": "string" + }, + "AssetName": { + "type": "string" + }, + "AssetProperties": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::Asset.AssetProperty" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Definition" + "AssetModelId", + "AssetName" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoTThingsGraph::FlowTemplate" + "AWS::IoTSiteWise::Asset" ], "type": "string" }, @@ -49197,23 +49453,493 @@ ], "type": "object" }, - "AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument": { + "AWS::IoTSiteWise::Asset.AssetHierarchy": { "additionalProperties": false, "properties": { - "Language": { + "ChildAssetId": { "type": "string" }, - "Text": { + "LogicalId": { "type": "string" } }, "required": [ - "Language", - "Text" + "ChildAssetId", + "LogicalId" ], "type": "object" }, - "AWS::KMS::Alias": { + "AWS::IoTSiteWise::Asset.AssetProperty": { + "additionalProperties": false, + "properties": { + "Alias": { + "type": "string" + }, + "LogicalId": { + "type": "string" + }, + "NotificationState": { + "type": "string" + } + }, + "required": [ + "LogicalId" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssetModelDescription": { + "type": "string" + }, + "AssetModelHierarchies": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelHierarchy" + }, + "type": "array" + }, + "AssetModelName": { + "type": "string" + }, + "AssetModelProperties": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelProperty" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AssetModelName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTSiteWise::AssetModel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.AssetModelHierarchy": { + "additionalProperties": false, + "properties": { + "ChildAssetModelId": { + "type": "string" + }, + "LogicalId": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "ChildAssetModelId", + "LogicalId", + "Name" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.AssetModelProperty": { + "additionalProperties": false, + "properties": { + "DataType": { + "type": "string" + }, + "LogicalId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Type": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.PropertyType" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "DataType", + "LogicalId", + "Name", + "Type" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.Attribute": { + "additionalProperties": false, + "properties": { + "DefaultValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.ExpressionVariable": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.VariableValue" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.Metric": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "Variables": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.ExpressionVariable" + }, + "type": "array" + }, + "Window": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.MetricWindow" + } + }, + "required": [ + "Expression", + "Variables", + "Window" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.MetricWindow": { + "additionalProperties": false, + "properties": { + "Tumbling": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.TumblingWindow" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.PropertyType": { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Attribute" + }, + "Metric": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Metric" + }, + "Transform": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Transform" + }, + "TypeName": { + "type": "string" + } + }, + "required": [ + "TypeName" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.Transform": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "Variables": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.ExpressionVariable" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "Variables" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.TumblingWindow": { + "additionalProperties": false, + "properties": { + "Interval": { + "type": "string" + } + }, + "required": [ + "Interval" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.VariableValue": { + "additionalProperties": false, + "properties": { + "HierarchyLogicalId": { + "type": "string" + }, + "PropertyLogicalId": { + "type": "string" + } + }, + "required": [ + "PropertyLogicalId" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Gateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GatewayCapabilitySummaries": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.GatewayCapabilitySummary" + }, + "type": "array" + }, + "GatewayName": { + "type": "string" + }, + "GatewayPlatform": { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.GatewayPlatform" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "GatewayName", + "GatewayPlatform" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTSiteWise::Gateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Gateway.GatewayCapabilitySummary": { + "additionalProperties": false, + "properties": { + "CapabilityConfiguration": { + "type": "string" + }, + "CapabilityNamespace": { + "type": "string" + } + }, + "required": [ + "CapabilityNamespace" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Gateway.GatewayPlatform": { + "additionalProperties": false, + "properties": { + "Greengrass": { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.Greengrass" + } + }, + "required": [ + "Greengrass" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Gateway.Greengrass": { + "additionalProperties": false, + "properties": { + "GroupArn": { + "type": "string" + } + }, + "required": [ + "GroupArn" + ], + "type": "object" + }, + "AWS::IoTThingsGraph::FlowTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CompatibleNamespaceVersion": { + "type": "number" + }, + "Definition": { + "$ref": "#/definitions/AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument" + } + }, + "required": [ + "Definition" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTThingsGraph::FlowTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument": { + "additionalProperties": false, + "properties": { + "Language": { + "type": "string" + }, + "Text": { + "type": "string" + } + }, + "required": [ + "Language", + "Text" + ], + "type": "object" + }, + "AWS::KMS::Alias": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -52887,6 +53613,12 @@ "properties": { "Admins": { "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.Admins" + }, + "TrustedResourceOwners": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" @@ -58733,18 +59465,6 @@ ], "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.AdTriggers": { - "additionalProperties": false, - "properties": { - "AdTriggers": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "AWS::MediaPackage::OriginEndpoint.Authorization": { "additionalProperties": false, "properties": { @@ -58819,7 +59539,10 @@ "additionalProperties": false, "properties": { "AdTriggers": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.AdTriggers" + "items": { + "type": "string" + }, + "type": "array" }, "AdsOnDeliveryRestrictions": { "type": "string" @@ -58894,7 +59617,10 @@ "type": "string" }, "AdTriggers": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.AdTriggers" + "items": { + "type": "string" + }, + "type": "array" }, "AdsOnDeliveryRestrictions": { "type": "string" @@ -58933,7 +59659,10 @@ "type": "string" }, "AdTriggers": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.AdTriggers" + "items": { + "type": "string" + }, + "type": "array" }, "AdsOnDeliveryRestrictions": { "type": "string" @@ -68765,18 +69494,6 @@ }, "type": "object" }, - "AWS::S3::Bucket.ReplicaModifications": { - "additionalProperties": false, - "properties": { - "Status": { - "type": "string" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, "AWS::S3::Bucket.ReplicationConfiguration": { "additionalProperties": false, "properties": { @@ -69041,9 +69758,6 @@ "AWS::S3::Bucket.SourceSelectionCriteria": { "additionalProperties": false, "properties": { - "ReplicaModifications": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicaModifications" - }, "SseKmsEncryptedObjects": { "$ref": "#/definitions/AWS::S3::Bucket.SseKmsEncryptedObjects" } @@ -82341,6 +83055,15 @@ { "$ref": "#/definitions/AWS::IAM::UserToGroupAddition" }, + { + "$ref": "#/definitions/AWS::IVS::Channel" + }, + { + "$ref": "#/definitions/AWS::IVS::PlaybackKeyPair" + }, + { + "$ref": "#/definitions/AWS::IVS::StreamKey" + }, { "$ref": "#/definitions/AWS::ImageBuilder::Component" }, @@ -82419,6 +83142,15 @@ { "$ref": "#/definitions/AWS::IoTEvents::Input" }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Asset" + }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel" + }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway" + }, { "$ref": "#/definitions/AWS::IoTThingsGraph::FlowTemplate" }, From 5ee9a28dc18f18cdf44c38bec5a1375779a334a1 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Sun, 1 Nov 2020 18:38:55 +0000 Subject: [PATCH 54/57] chore(release): 4.15.4 [skip ci] ## [4.15.4](https://github.com/awslabs/goformation/compare/v4.15.3...v4.15.4) (2020-11-01) ### Bug Fixes * **schema:** CloudFormation Updates ([#330](https://github.com/awslabs/goformation/issues/330)) ([4070319](https://github.com/awslabs/goformation/commit/40703191771425b3519128027478cf740d10f2d9)) --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index eddf54e42f..883fdaea2d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # GoFormation Versioning Changelog +## [4.15.4](https://github.com/awslabs/goformation/compare/v4.15.3...v4.15.4) (2020-11-01) + + +### Bug Fixes + +* **schema:** CloudFormation Updates ([#330](https://github.com/awslabs/goformation/issues/330)) ([4070319](https://github.com/awslabs/goformation/commit/40703191771425b3519128027478cf740d10f2d9)) + ## [4.15.3](https://github.com/awslabs/goformation/compare/v4.15.2...v4.15.3) (2020-10-23) From c16bd0920858ad8b8d437e8290fb43297b685565 Mon Sep 17 00:00:00 2001 From: Michael Parsons Date: Thu, 5 Nov 2020 08:14:35 -0800 Subject: [PATCH 55/57] generate latest --- cloudformation/all.go | 25 ++ .../aws-cloudformation-customresource.go | 5 - .../ec2/aws-ec2-vpcendpointservice.go | 5 - cloudformation/ecr/aws-ecr-repository.go | 2 +- .../route53/aws-route53-recordset.go | 2 +- .../aws-s3-bucket_sourceselectioncriteria.go | 5 - schema/sam.go | 281 ++++++++++++++++++ schema/sam.schema.json | 281 ++++++++++++++++++ 8 files changed, 589 insertions(+), 17 deletions(-) diff --git a/cloudformation/all.go b/cloudformation/all.go index 550fd7e95f..24f334a517 100644 --- a/cloudformation/all.go +++ b/cloudformation/all.go @@ -672,6 +672,7 @@ func AllResources() map[string]Resource { "AWS::Serverless::Api": &serverless.Api{}, "AWS::Serverless::Application": &serverless.Application{}, "AWS::Serverless::Function": &serverless.Function{}, + "AWS::Serverless::HttpApi": &serverless.HttpApi{}, "AWS::Serverless::LayerVersion": &serverless.LayerVersion{}, "AWS::Serverless::SimpleTable": &serverless.SimpleTable{}, "AWS::Serverless::StateMachine": &serverless.StateMachine{}, @@ -13570,6 +13571,30 @@ func (t *Template) GetServerlessFunctionWithName(name string) (*serverless.Funct return nil, fmt.Errorf("resource %q of type serverless.Function not found", name) } +// GetAllServerlessHttpApiResources retrieves all serverless.HttpApi items from an AWS CloudFormation template +func (t *Template) GetAllServerlessHttpApiResources() map[string]*serverless.HttpApi { + results := map[string]*serverless.HttpApi{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *serverless.HttpApi: + results[name] = resource + } + } + return results +} + +// GetServerlessHttpApiWithName retrieves all serverless.HttpApi items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetServerlessHttpApiWithName(name string) (*serverless.HttpApi, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *serverless.HttpApi: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type serverless.HttpApi not found", name) +} + // GetAllServerlessLayerVersionResources retrieves all serverless.LayerVersion items from an AWS CloudFormation template func (t *Template) GetAllServerlessLayerVersionResources() map[string]*serverless.LayerVersion { results := map[string]*serverless.LayerVersion{} diff --git a/cloudformation/cloudformation/aws-cloudformation-customresource.go b/cloudformation/cloudformation/aws-cloudformation-customresource.go index ab6c0e4bcb..dee2d23fbd 100644 --- a/cloudformation/cloudformation/aws-cloudformation-customresource.go +++ b/cloudformation/cloudformation/aws-cloudformation-customresource.go @@ -12,11 +12,6 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cfn-customresource.html type CustomResource struct { - // Properties AWS CloudFormation Property - // Required: false - // See: - Properties interface{} `json:"Properties,omitempty"` - // ServiceToken AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cfn-customresource.html#cfn-customresource-servicetoken diff --git a/cloudformation/ec2/aws-ec2-vpcendpointservice.go b/cloudformation/ec2/aws-ec2-vpcendpointservice.go index 849484108d..31fa9cc250 100644 --- a/cloudformation/ec2/aws-ec2-vpcendpointservice.go +++ b/cloudformation/ec2/aws-ec2-vpcendpointservice.go @@ -17,11 +17,6 @@ type VPCEndpointService struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservice.html#cfn-ec2-vpcendpointservice-acceptancerequired AcceptanceRequired bool `json:"AcceptanceRequired,omitempty"` - // ApplianceLoadBalancerArns AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservice.html#cfn-ec2-vpcendpointservice-applianceloadbalancerarns - ApplianceLoadBalancerArns []string `json:"ApplianceLoadBalancerArns,omitempty"` - // NetworkLoadBalancerArns AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservice.html#cfn-ec2-vpcendpointservice-networkloadbalancerarns diff --git a/cloudformation/ecr/aws-ecr-repository.go b/cloudformation/ecr/aws-ecr-repository.go index a77e933cd7..eb9cc632d5 100644 --- a/cloudformation/ecr/aws-ecr-repository.go +++ b/cloudformation/ecr/aws-ecr-repository.go @@ -36,7 +36,7 @@ type Repository struct { // RepositoryPolicyText AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html#cfn-ecr-repository-repositorypolicytext - RepositoryPolicyText string `json:"RepositoryPolicyText,omitempty"` + RepositoryPolicyText interface{} `json:"RepositoryPolicyText,omitempty"` // Tags AWS CloudFormation Property // Required: false diff --git a/cloudformation/route53/aws-route53-recordset.go b/cloudformation/route53/aws-route53-recordset.go index e2b0d03f7e..b303566b83 100644 --- a/cloudformation/route53/aws-route53-recordset.go +++ b/cloudformation/route53/aws-route53-recordset.go @@ -65,7 +65,7 @@ type RecordSet struct { // ResourceRecords AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-resourcerecords - ResourceRecords interface{} `json:"ResourceRecords,omitempty"` + ResourceRecords []string `json:"ResourceRecords,omitempty"` // SetIdentifier AWS CloudFormation Property // Required: false diff --git a/cloudformation/s3/aws-s3-bucket_sourceselectioncriteria.go b/cloudformation/s3/aws-s3-bucket_sourceselectioncriteria.go index 17817183b7..9628c606b0 100644 --- a/cloudformation/s3/aws-s3-bucket_sourceselectioncriteria.go +++ b/cloudformation/s3/aws-s3-bucket_sourceselectioncriteria.go @@ -8,11 +8,6 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-sourceselectioncriteria.html type Bucket_SourceSelectionCriteria struct { - // ReplicaModifications AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-sourceselectioncriteria.html#cfn-s3-bucket-sourceselectioncriteria-replicamodifications - ReplicaModifications *Bucket_ReplicaModifications `json:"ReplicaModifications,omitempty"` - // SseKmsEncryptedObjects AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-sourceselectioncriteria.html#cfn-s3-bucket-sourceselectioncriteria-ssekmsencryptedobjects diff --git a/schema/sam.go b/schema/sam.go index 556d61b4d8..ff93631950 100644 --- a/schema/sam.go +++ b/schema/sam.go @@ -74499,6 +74499,9 @@ var SamSchema = `{ } ] }, + "ProvisionedConcurrencyConfig": { + "$ref": "#/definitions/AWS::Serverless::Function.ProvisionedConcurrencyConfig" + }, "ReservedConcurrentExecutions": { "type": "number" }, @@ -74978,6 +74981,18 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::Serverless::Function.ProvisionedConcurrencyConfig": { + "additionalProperties": false, + "properties": { + "ProvisionedConcurrentExecutions": { + "type": "number" + } + }, + "required": [ + "ProvisionedConcurrentExecutions" + ], + "type": "object" + }, "AWS::Serverless::Function.QueueSAMPT": { "additionalProperties": false, "properties": { @@ -75310,6 +75325,269 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::Serverless::HttpApi": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessLogSettings": { + "$ref": "#/definitions/AWS::Serverless::HttpApi.AccessLogSettings" + }, + "Auth": { + "$ref": "#/definitions/AWS::Serverless::HttpApi.Auth" + }, + "CorsConfiguration": { + "anyOf": [ + { + "type": [ + "string" + ] + }, + { + "$ref": "#/definitions/AWS::Serverless::HttpApi.Cors" + } + ] + }, + "DefaultRouteSettings": { + "type": "object" + }, + "DefinitionBody": { + "type": "object" + }, + "DefinitionUri": { + "anyOf": [ + { + "type": [ + "string" + ] + }, + { + "$ref": "#/definitions/AWS::Serverless::HttpApi.HttpApiDefinition" + } + ] + }, + "Domain": { + "$ref": "#/definitions/AWS::Serverless::HttpApi.DomainConfiguration" + }, + "FailOnWarnings": { + "type": "boolean" + }, + "RouteSettings": { + "type": "object" + }, + "StageName": { + "type": "string" + }, + "StageVariables": { + "type": "object" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Serverless::HttpApi" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Serverless::HttpApi.AccessLogSettings": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + }, + "Format": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Serverless::HttpApi.Auth": { + "additionalProperties": false, + "properties": { + "Authorizers": { + "$ref": "#/definitions/AWS::Serverless::HttpApi.OAuth2Authorizer" + }, + "DefaultAuthorizer": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Serverless::HttpApi.Cors": { + "additionalProperties": false, + "properties": { + "AllowCredentials": { + "type": "boolean" + }, + "AllowHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowOrigins": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExposeHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxAge": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Serverless::HttpApi.DomainConfiguration": { + "additionalProperties": false, + "properties": { + "BasePath": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CertificateArn": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "EndpointConfiguration": { + "type": "string" + }, + "Route53": { + "$ref": "#/definitions/AWS::Serverless::HttpApi.Route53Configuration" + } + }, + "required": [ + "CertificateArn", + "DomainName" + ], + "type": "object" + }, + "AWS::Serverless::HttpApi.HttpApiDefinition": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Version": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Serverless::HttpApi.OAuth2Authorizer": { + "additionalProperties": false, + "properties": { + "AuthorizationScopes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "IdentitySource": { + "type": "string" + }, + "JwtConfiguration": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::Serverless::HttpApi.Route53Configuration": { + "additionalProperties": false, + "properties": { + "DistributionDomainName": { + "type": "string" + }, + "EvaluateTargetHealth": { + "type": "boolean" + }, + "HostedZoneId": { + "type": "string" + }, + "HostedZoneName": { + "type": "string" + }, + "IpV6": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::Serverless::LayerVersion": { "additionalProperties": false, "properties": { @@ -83658,6 +83936,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::Serverless::Function" }, + { + "$ref": "#/definitions/AWS::Serverless::HttpApi" + }, { "$ref": "#/definitions/AWS::Serverless::LayerVersion" }, diff --git a/schema/sam.schema.json b/schema/sam.schema.json index 640fa1a5b8..bd60320d04 100644 --- a/schema/sam.schema.json +++ b/schema/sam.schema.json @@ -74496,6 +74496,9 @@ } ] }, + "ProvisionedConcurrencyConfig": { + "$ref": "#/definitions/AWS::Serverless::Function.ProvisionedConcurrencyConfig" + }, "ReservedConcurrentExecutions": { "type": "number" }, @@ -74975,6 +74978,18 @@ ], "type": "object" }, + "AWS::Serverless::Function.ProvisionedConcurrencyConfig": { + "additionalProperties": false, + "properties": { + "ProvisionedConcurrentExecutions": { + "type": "number" + } + }, + "required": [ + "ProvisionedConcurrentExecutions" + ], + "type": "object" + }, "AWS::Serverless::Function.QueueSAMPT": { "additionalProperties": false, "properties": { @@ -75307,6 +75322,269 @@ ], "type": "object" }, + "AWS::Serverless::HttpApi": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessLogSettings": { + "$ref": "#/definitions/AWS::Serverless::HttpApi.AccessLogSettings" + }, + "Auth": { + "$ref": "#/definitions/AWS::Serverless::HttpApi.Auth" + }, + "CorsConfiguration": { + "anyOf": [ + { + "type": [ + "string" + ] + }, + { + "$ref": "#/definitions/AWS::Serverless::HttpApi.Cors" + } + ] + }, + "DefaultRouteSettings": { + "type": "object" + }, + "DefinitionBody": { + "type": "object" + }, + "DefinitionUri": { + "anyOf": [ + { + "type": [ + "string" + ] + }, + { + "$ref": "#/definitions/AWS::Serverless::HttpApi.HttpApiDefinition" + } + ] + }, + "Domain": { + "$ref": "#/definitions/AWS::Serverless::HttpApi.DomainConfiguration" + }, + "FailOnWarnings": { + "type": "boolean" + }, + "RouteSettings": { + "type": "object" + }, + "StageName": { + "type": "string" + }, + "StageVariables": { + "type": "object" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Serverless::HttpApi" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Serverless::HttpApi.AccessLogSettings": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + }, + "Format": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Serverless::HttpApi.Auth": { + "additionalProperties": false, + "properties": { + "Authorizers": { + "$ref": "#/definitions/AWS::Serverless::HttpApi.OAuth2Authorizer" + }, + "DefaultAuthorizer": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Serverless::HttpApi.Cors": { + "additionalProperties": false, + "properties": { + "AllowCredentials": { + "type": "boolean" + }, + "AllowHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowOrigins": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExposeHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxAge": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Serverless::HttpApi.DomainConfiguration": { + "additionalProperties": false, + "properties": { + "BasePath": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CertificateArn": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "EndpointConfiguration": { + "type": "string" + }, + "Route53": { + "$ref": "#/definitions/AWS::Serverless::HttpApi.Route53Configuration" + } + }, + "required": [ + "CertificateArn", + "DomainName" + ], + "type": "object" + }, + "AWS::Serverless::HttpApi.HttpApiDefinition": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Version": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Serverless::HttpApi.OAuth2Authorizer": { + "additionalProperties": false, + "properties": { + "AuthorizationScopes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "IdentitySource": { + "type": "string" + }, + "JwtConfiguration": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::Serverless::HttpApi.Route53Configuration": { + "additionalProperties": false, + "properties": { + "DistributionDomainName": { + "type": "string" + }, + "EvaluateTargetHealth": { + "type": "boolean" + }, + "HostedZoneId": { + "type": "string" + }, + "HostedZoneName": { + "type": "string" + }, + "IpV6": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::Serverless::LayerVersion": { "additionalProperties": false, "properties": { @@ -83655,6 +83933,9 @@ { "$ref": "#/definitions/AWS::Serverless::Function" }, + { + "$ref": "#/definitions/AWS::Serverless::HttpApi" + }, { "$ref": "#/definitions/AWS::Serverless::LayerVersion" }, From 78402e14559d0e74c9d9e26c432068d0fe36cfc0 Mon Sep 17 00:00:00 2001 From: Michael Parsons Date: Thu, 5 Nov 2020 08:42:01 -0800 Subject: [PATCH 56/57] fix custom resource --- .../cloudformation/aws-cloudformation-customresource.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/cloudformation/cloudformation/aws-cloudformation-customresource.go b/cloudformation/cloudformation/aws-cloudformation-customresource.go index dee2d23fbd..1cd4a5e2d2 100644 --- a/cloudformation/cloudformation/aws-cloudformation-customresource.go +++ b/cloudformation/cloudformation/aws-cloudformation-customresource.go @@ -11,6 +11,10 @@ import ( // CustomResource AWS CloudFormation Resource (AWS::CloudFormation::CustomResource) // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cfn-customresource.html type CustomResource struct { + // Properties AWS CloudFormation Property + // Required: false + // See: + Properties interface{} `json:"Properties,omitempty"` // ServiceToken AWS CloudFormation Property // Required: true From 346575d176a9b5d39af43253d4dea06aa651ebfc Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Thu, 5 Nov 2020 17:11:03 +0000 Subject: [PATCH 57/57] chore(release): 4.9.0 [skip ci] # [4.9.0](https://github.com/pnwcode/goformation/compare/v4.8.0...v4.9.0) (2020-11-05) ### Bug Fixes * **generator:** update the generation making it easier to fix CF schema errors to generate ([#285](https://github.com/pnwcode/goformation/issues/285)) ([6751e5b](https://github.com/pnwcode/goformation/commit/6751e5b6ecbe1daee45171528cb1300efc6fb300)) * **intrinsics:** Join function to allow to use parameters of type `List<>` ([#309](https://github.com/pnwcode/goformation/issues/309)) ([6cc1cd3](https://github.com/pnwcode/goformation/commit/6cc1cd329047227674caaf1b546066e3043c6616)) * **schema:** Add Change and Update policies to the Unmarshal method ([#288](https://github.com/pnwcode/goformation/issues/288)) ([989b05f](https://github.com/pnwcode/goformation/commit/989b05fa78cb9e72f6d59298fb8bb287612f322e)) * **schema:** CloudFormation Updates ([#320](https://github.com/pnwcode/goformation/issues/320)) ([49879b4](https://github.com/pnwcode/goformation/commit/49879b45f79dc9880071facd32d76cc4bf0570eb)) * **schema:** CloudFormation Updates ([#329](https://github.com/pnwcode/goformation/issues/329)) ([4c1362b](https://github.com/pnwcode/goformation/commit/4c1362bac14a3d6fc2cebd56eddcaf440228a4e9)) * **schema:** CloudFormation Updates ([#330](https://github.com/pnwcode/goformation/issues/330)) ([4070319](https://github.com/pnwcode/goformation/commit/40703191771425b3519128027478cf740d10f2d9)) ### Features * **schema:** Add new DynamoDBEvent options ([#289](https://github.com/pnwcode/goformation/issues/289)) ([741228d](https://github.com/pnwcode/goformation/commit/741228d6923ea10f1d22a901bbddf106d5c71cd7)) * **schema:** Add OpenApiVersion field to serverless Api ([#281](https://github.com/pnwcode/goformation/issues/281)) ([bccc71b](https://github.com/pnwcode/goformation/commit/bccc71b90531fb6bba8465b578fc2accc4dc6e34)) * **schema:** Add support for Template Outputs ([#291](https://github.com/pnwcode/goformation/issues/291)) ([6875c50](https://github.com/pnwcode/goformation/commit/6875c50d00d8e1af71d9bad5788446b29ab03513)) * **schema:** adding AWS::Serverless::StateMachine and FileSystemConfigs to Function ([#284](https://github.com/pnwcode/goformation/issues/284)) ([d2d23ca](https://github.com/pnwcode/goformation/commit/d2d23cafba606a8ea40649cc666073fa0e2d5ad3)) * **schema:** CFN Updates ([#287](https://github.com/pnwcode/goformation/issues/287)) ([9778479](https://github.com/pnwcode/goformation/commit/97784795e35035b71b946d0ca69ef4d380d3b4a8)) * **schema:** dummy commit - trigger CI for schema update ([66bc344](https://github.com/pnwcode/goformation/commit/66bc344ed6a17a613abbb4d217afcc0b8ea02b48)) * **schema:** Serverless eventbridgeruleevent ([#279](https://github.com/pnwcode/goformation/issues/279)) ([2a9e572](https://github.com/pnwcode/goformation/commit/2a9e572313485023dc4e57cb8facda72a3571307)) --- CHANGELOG.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 883fdaea2d..dc769d3826 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,28 @@ # GoFormation Versioning Changelog +# [4.9.0](https://github.com/pnwcode/goformation/compare/v4.8.0...v4.9.0) (2020-11-05) + + +### Bug Fixes + +* **generator:** update the generation making it easier to fix CF schema errors to generate ([#285](https://github.com/pnwcode/goformation/issues/285)) ([6751e5b](https://github.com/pnwcode/goformation/commit/6751e5b6ecbe1daee45171528cb1300efc6fb300)) +* **intrinsics:** Join function to allow to use parameters of type `List<>` ([#309](https://github.com/pnwcode/goformation/issues/309)) ([6cc1cd3](https://github.com/pnwcode/goformation/commit/6cc1cd329047227674caaf1b546066e3043c6616)) +* **schema:** Add Change and Update policies to the Unmarshal method ([#288](https://github.com/pnwcode/goformation/issues/288)) ([989b05f](https://github.com/pnwcode/goformation/commit/989b05fa78cb9e72f6d59298fb8bb287612f322e)) +* **schema:** CloudFormation Updates ([#320](https://github.com/pnwcode/goformation/issues/320)) ([49879b4](https://github.com/pnwcode/goformation/commit/49879b45f79dc9880071facd32d76cc4bf0570eb)) +* **schema:** CloudFormation Updates ([#329](https://github.com/pnwcode/goformation/issues/329)) ([4c1362b](https://github.com/pnwcode/goformation/commit/4c1362bac14a3d6fc2cebd56eddcaf440228a4e9)) +* **schema:** CloudFormation Updates ([#330](https://github.com/pnwcode/goformation/issues/330)) ([4070319](https://github.com/pnwcode/goformation/commit/40703191771425b3519128027478cf740d10f2d9)) + + +### Features + +* **schema:** Add new DynamoDBEvent options ([#289](https://github.com/pnwcode/goformation/issues/289)) ([741228d](https://github.com/pnwcode/goformation/commit/741228d6923ea10f1d22a901bbddf106d5c71cd7)) +* **schema:** Add OpenApiVersion field to serverless Api ([#281](https://github.com/pnwcode/goformation/issues/281)) ([bccc71b](https://github.com/pnwcode/goformation/commit/bccc71b90531fb6bba8465b578fc2accc4dc6e34)) +* **schema:** Add support for Template Outputs ([#291](https://github.com/pnwcode/goformation/issues/291)) ([6875c50](https://github.com/pnwcode/goformation/commit/6875c50d00d8e1af71d9bad5788446b29ab03513)) +* **schema:** adding AWS::Serverless::StateMachine and FileSystemConfigs to Function ([#284](https://github.com/pnwcode/goformation/issues/284)) ([d2d23ca](https://github.com/pnwcode/goformation/commit/d2d23cafba606a8ea40649cc666073fa0e2d5ad3)) +* **schema:** CFN Updates ([#287](https://github.com/pnwcode/goformation/issues/287)) ([9778479](https://github.com/pnwcode/goformation/commit/97784795e35035b71b946d0ca69ef4d380d3b4a8)) +* **schema:** dummy commit - trigger CI for schema update ([66bc344](https://github.com/pnwcode/goformation/commit/66bc344ed6a17a613abbb4d217afcc0b8ea02b48)) +* **schema:** Serverless eventbridgeruleevent ([#279](https://github.com/pnwcode/goformation/issues/279)) ([2a9e572](https://github.com/pnwcode/goformation/commit/2a9e572313485023dc4e57cb8facda72a3571307)) + ## [4.15.4](https://github.com/awslabs/goformation/compare/v4.15.3...v4.15.4) (2020-11-01)