From 6751e5b6ecbe1daee45171528cb1300efc6fb300 Mon Sep 17 00:00:00 2001 From: Graham Jenson Date: Sun, 21 Jun 2020 22:01:33 -0700 Subject: [PATCH] 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" },